ユーザ用ツール

サイト用ツール


02_freebsd:04_database:01_mysql:15_55_to_56

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
02_freebsd:04_database:01_mysql:15_55_to_56 [2017/05/08 14:09]
matsui
02_freebsd:04_database:01_mysql:15_55_to_56 [2017/05/08 14:09] (現在)
matsui
ライン 1: ライン 1:
 +====== 15 MySQL 55 to 56 で問題 ======
  
 +
 +===== 1.古いパスワードでログインできない =====
 +
 +  ERROR 1275 (HY000): Server is running in --secure-auth mode, but '​user'​@'​192.168.*.*'​ has a password in the old format; please change the password to the new format
 +
 +
 +MySQL 5.6 からセキュリティが強化されて、古いパスワードではログインできなくなりました。
 +
 +下記のようにpluginがmysql_native_passwordで、passwordが41桁のハッシュ値になっている必要があります。
 +<​code>​
 +mysql> select host,​user,​password,​Grant_priv,​plugin from mysql.user;
 ++-----------+--------+-------------------------------------------+------------+-----------------------+
 +| host      | user   | password ​                                 | Grant_priv | plugin ​               |
 ++-----------+--------+-------------------------------------------+------------+-----------------------+
 +| localhost | root   | *2C9D057C3D0DDAAE7A02148024E66BXXXXXXXXXX | Y          | mysql_native_password |
 +| 127.0.0.1 | root   | *2C9D057C3D0DDAAE7A02148024E66BXXXXXXXXXX | Y          | mysql_native_password |
 +| ::1       | root   | *2C9D057C3D0DDAAE7A02148024E66BXXXXXXXXXX | Y          | mysql_native_password |
 +| localhost | xtrabk | *6D5E2ADA876346509B4082CA455175XXXXXXXXXX | N          | mysql_native_password |
 +| localhost | zabbix | *0A42063D91348E9F69BF65D0A0AC6EXXXXXXXXXX | N          | mysql_native_password |
 ++-----------+--------+-------------------------------------------+------------+-----------------------+
 +5 rows in set (0.00 sec)
 +</​code>​
 +
 +===== 古いパスワードのままログインする場合 =====
 +
 +Server側とClient側両方でsecure_authが無効になっている必要があります。
 +=== Server側 ===
 +
 +/etc/my.cnf
 +  [mysqld]
 +  secure_auth=0
 +
 +=== Client側 ===
 +
 +  # mysql --skip-secure-auth
 +
 +===== 2.アップデートのチェックが変更 =====
 +
 +  SQLSTATE[HY000]:​ General error: 1364 Field '​hoge'​ doesn'​t have a default value
 +
 +インサートやアップデート時チェックが厳しくなって、Defaultが設定されてないカラムにNULLを入れようとした時に出る。
 +
 +==== 対応方法 ====
 +
 +<​code>​
 +mysql> SHOW GLOBAL VARIABLES like '​sql_mode';​
 ++---------------+--------------------------------------------+
 +| Variable_name | Value                                      |
 ++---------------+--------------------------------------------+
 +| sql_mode ​     | STRICT_TRANS_TABLES,​NO_ENGINE_SUBSTITUTION |
 ++---------------+--------------------------------------------+
 +1 row in set (0.03 sec)
 +
 +mysql> SET GLOBAL sql_mode='';​
 +Query OK, 0 rows affected (0.01 sec)
 +
 +mysql> SHOW GLOBAL VARIABLES like '​sql_mode';​
 ++---------------+-------+
 +| Variable_name | Value |
 ++---------------+-------+
 +| sql_mode ​     |       |
 ++---------------+-------+
 +1 row in set (0.00 sec)
 +</​code>​
 +
 +
 +=== /etc/my.cnf ===
 +
 +再起動後も設定反映させるために、my.cnfも修正
 +
 +  sql_mode=NO_ENGINE_SUBSTITUTION,​STRICT_TRANS_TABLES
 +  ↓
 +  sql_mode=''​
 +
 +
 +{{tag>​mysql}}
02_freebsd/04_database/01_mysql/15_55_to_56.txt · 最終更新: 2017/05/08 14:09 by matsui

Yesterday:760 Today:056 Total:03626