【MySQL】インストール〜パスワード変更〜権限付与

もくじ

はじめに

新しくOSを作った時など、MySQLを一からインストールして設定する場合もあるでしょう。

そんな時の手順です。

MySQLのインストール

$ yum install -y mysql-community-server

インストールできたら、状態を確認して起動しましょう。

// MySQL ステータス確認
$ systemctl status mysqld
// MySQL 起動
$ systemctl start mysqld

ログイン

# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

この時、おそらくパスワードで怒られます。

初回のパスワードはlogに書かれているので、それを確認します。

$ grep password /var/log/mysqld.log
2020-11-27T08:54:12.068065Z 1 [Note] A temporary password is generated for root@localhost: hNccZ9fBps.a

hNccZ9fBps.aの部分が初期パスワードです。おそらく端末によって異なります。このパスワードを使ってログインしましょう。

# mysql -u root -p
Enter password: 

パスワードの変更

パスワードを初期値のままの状態でデータベースを新規作成しようとしたりすると、またまた怒られます。

mysql> create database mydb;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

なので、パスワードを初期値からきちんと変更しておきましょう。

mysql> set password for root@localhost=password('hogefuga@piyo123');
Query OK, 0 rows affected, 1 warning (0.00 sec)

hogefuga@piyo123の部分に、任意のパスワードを指定します。

ただし、パスワードポリシーに則ったものにしないと以下のようにエラーになると思います。

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

大文字小文字数字記号などポリシーを確認の上、設定しましょう。

権限を付与

データベースを操作するユーザーを作成し権限を与えます。

// データベース作成
$ create database mydb;
// ユーザーを作成
$ create user 'myadmin'@'localhost' identified by '************';
// 権限を付与
$ grant all on mydb.* to 'myadmin'@'localhost';

mydb(データベース名)やmyadmin(ユーザ名)は任意に設定してください。

************の部分はパスワードになります。こちらも適切なものに設定してください。

完成

今回の流れで、以下のようなMySQL設定が完了しました。

データベース名 : mydb
ユーザー名 : myadmin
パスワード : ************
ホスト名 : localhost

参考URL

WordPressの推奨環境と必要となるデータベースの作成 | WordPressの使い方

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. - Tech Tips