MySQLのrootパスワードの設定・ユーザ登録
初期設定で、rootパスワードを設定するときにつまったので、メモを残しておきます。
結論から言うとMySQLのバージョンが原因でした。
MySQLをインストールしてから、rootのパスワード設定および新しくユーザを登録するところまでやります。
環境
- Mac OSX 10.14.5
- MySQL 8.0.16
インストール
Homebrewを使います。
> brew install mysql
MySQLの起動/停止
何かする時には起動します。個人的に忘れてエラーが出たりしたのでメモ。
- 起動:
> mysql.server start
- 停止:
> mysql.server stop
初期設定:rootパスワードの登録
初期状態ではパスワードが設定されていないので、rootユーザとしてログインして登録します。最初にrootのパスワードを登録して、次回からパスワード付きでログインすることになります。
まずはMySQLサーバを起動します。
> mysql.server start
rootでログインします。
> mysql -u root
rootのパスワードを設定します。ここで引っかかりました。次のようなコマンドを叩くと、
mysql> update mysql.user set password=password('パスワード') where user = 'root';
こんなエラーを吐かれました。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('rootpass') where user = 'root'' at line 1
調べてみると、今回使用したMySQLのバージョン(8.0.16)では別の書き方に変わっているとのことです。
こちらを参考にもう一回rootパスワードの設定。
mysql> alter user 'root'@'localhost' identified by 'パスワード'; Query OK, 0 rows affected (0.01 sec)
今度はうまくいったようです。
一旦ログアウトして、
mysql> exit;
今度はrootにパスワードつきでログインしてみます。
> mysql -u root -p
パスワードを聞かれるので、入力するとログインできました。
ユーザの登録
rootの設定ができたので、今度はユーザを作成してみます。 こちらを参考にしました。
mysql> create user 'ユーザ名'@'ホスト名' identified by 'パスワード'; Query OK, 0 rows affected (0.07 sec)
一旦ログアウトします。
mysql> exit;
先ほど作成したユーザでログインしてみます。
> mysql -u ユーザ名 -h ホスト名 -p
パスワードを聞かれるので、入力するとログインできます。
まとめ
古いバージョンの情報が多く転がってるので、ちょっと苦戦しました。バージョンの確認は大事。