このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
- 02 Apache2で自己認証ssl [中間証明書の整合性確認]
最近の更新
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桁のハッシュ値になっている必要があります。
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)
Server側とClient側両方でsecure_authが無効になっている必要があります。
/etc/my.cnf
[mysqld] secure_auth=0
# mysql --skip-secure-auth
SQLSTATE[HY000]: General error: 1364 Field 'hoge' doesn't have a default value
インサートやアップデート時チェックが厳しくなって、Defaultが設定されてないカラムにNULLを入れようとした時に出る。
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='NO_ENGINE_SUBSTITUTION'; Query OK, 0 rows affected (0.01 sec) mysql> SELECT @@global.sql_mode; +------------------------+ | @@global.sql_mode | +------------------------+ | NO_ENGINE_SUBSTITUTION | +------------------------+ 1 row in set (0.00 sec)
再起動後も設定反映させるために、my.cnfも修正
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ↓ sql_mode=NO_ENGINE_SUBSTITUTION