Archives 5月 2019

mysql root パスワードを忘れた場合

$ sudo service mysql stop
    sudo vim /etc/init.d/mysql
		mysqld_safe で検索して、↓この行をコメントアウトし
		   su - mysql -s /bin/bash -c "mysqld_safe > /dev/null &"
		その下に↓こう追加。
		su - mysql -s /bin/bash -c "mysqld_safe --user=root --skip-grant-tables &"
		$ sudo service mysql start
		$ mysql --database=mysql
パスワードを更新
use mysql
UPDATE user SET authentication_string=password('新規パスワード') WHERE user='root';
再設定したパスワードをMySQLに反映させます
	mysql> flush privileges;
	mysql> quit
	/etc/init.d/mysql の コメント状態を元にもどす。
	sudo service mysql restart
	$ sudo mysql -u root -p

パスワード変更

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '好きなパスワード';

Ubuntu 18.04 LTS にMySQL Serverをインストール

Ubuntu 18.04にMySQL 5.7をインストールして、rootパスワードを変更するところまで。

インストール

aptでインストール

以前はインストール中にrootパスワードの入力画面が表示されていたと思いますが、
表示されなくなっていますね。

インストールした後、「mysql_secure_installation」を実行してrootの
パスワードを設定していきます。

エラーが出る場合は下の記事を参照
MySQLでmysqld.sockのエラーが出た

最初に「VALIDATE PASSWORD PLUGIN」を使用するかの確認です。
パスワードプラグインを使用して強固なパスワードを強制するか?

ローカル環境なので n でいい

Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No: n

rootのパスワードを設定します。

Please set the password for root here.
New password: [設定するパスワードを入力]
Re-enter new password: [設定するパスワードを再入力]
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, an
y other key for No) : y

anonymousユーザーを削除するか。
利用しないのでyを選択しました。

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : ySuccess.

rootで外部から接続可能とするか。
「y」で接続不可としました。

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

デフォルトの「test」データベースを削除するか。
「y」で削除を選択しました。

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key f
or No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.

テーブルをリロードするか。
「y」でリロードを実行しました。

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success

起動する

rootでログインする

ログアウトする

 \q