環境
- macOS Sierra (10.12.3)
インストール
OSX インストールパッケージ(推奨)
Homebrew
$ brew install mysql
その他
ログインする方法
$ mysql
パスワードを指定してログインする方法
$ mysql -u root -pPASSWORD
DB を指定してログインする方法
$ mysql -u root -pPASSWORD TABLE_NAME
トラブルシューティング
ERROR! The server quit without updating PID file
$ mysql.server start
Starting MySQL
ERROR! The server quit without updating PID file (/usr/local/var/mysql/<Computer Name>.local.pid).
なんかの原因で MySQL を立ち上げることができないので /usr/local/var/mysql
に移動してログファイルを見つける。おそらく <Computer Name>.local.err
みたいなファイルがあるので tail
コマンドなどでエラーを確認する。
パスワードリセット
無事にログインできると思ったら次の問題。
パスワードが分からない。
$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
MySQLを止める:
$ mysql.service stop
--skip-grant-tablesをつけてセーフモードでmysqlをスタート:
$ mysqld_safe --skip-grant-tables --skip-networking
別のターミナルでMySQLを開く:
$ mysql
mysql>
mysql
というDBに移動して、ユーザー情報が入っているuser
テーブルのパスワードを変更:
mysql> use mysql; Database changed
mysql> UPDATE user SET Password=PASSWORD('PASSWORD') WHERE User='root';
Query OK, 1 rows affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
mysql> update user set authentication_string=password('PASSWORD') where user='root'
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
Warning (Code 1681): 'PASSWORD' is deprecated and will be removed in a future release.
mysql> update user set authentication_string='PASSWORD' where user='root'
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
改めてログイン:
$ mysql -u root -pPASSWORD
注意:-p
とPASSWORD
の間にスペースは必要ない