プログラミング原人の進化ログ

プログラミング原人の進化論

オレ プログラミング ベンキョウ スル。マナンダ コト カク。

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

パスワードを聞かれるので、入力するとログインできます。

まとめ

古いバージョンの情報が多く転がってるので、ちょっと苦戦しました。バージョンの確認は大事。