MySQL
Beginner

はじめての MySQL

More than 1 year has passed since last update.

環境

- macOS Sierra (10.12.3)


インストール

OSX インストールパッケージ(推奨)

MySQL install

Homebrew

$ brew install mysql


その他


ログインする方法

$ mysql


パスワードを指定してログインする方法

$ mysql -u root -pPASSWORD


DB を指定してログインする方法

$ mysql -u root -pPASSWORD TABLE_NAME


トラブルシューティング :construction_worker:


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

注意:-pPASSWORDの間にスペースは必要ない


参照