修改my.cnf/my.ini文件中的secure_auth为0就可以用旧密码登录了,登录后修改SESSION的old_passwords值,再把所有的旧密码修改为新密码即可。
[mysqld]
old_passwords = 0
secure_auth = 1 mysql> show variables like 'old_passwords';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| old_passwords | 1 |
+---------------+-------+
1 row in set (0.00 sec)mysql> select password('mypass');
+--------------------+
| password('mypass') |
+--------------------+
| 6f8c114b58f2ce9e |
+--------------------+
1 row in set (0.00 sec)mysql> set @@session.old_passwords=0;
Query OK, 0 rows affected (0.00 sec)mysql> show variables like 'old_passwords';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| old_passwords | 0 |
+---------------+-------+
1 row in set (0.00 sec)mysql> select password('mypass');
+-------------------------------------------+
| password('mypass') |
+-------------------------------------------+
| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
+-------------------------------------------+
1 row in set (0.00 sec)mysql> use mysql
Database changed
mysql> update user set password=password('root123') where user = 'root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
[mysqld]
old_passwords = 0
secure_auth = 1 mysql> show variables like 'old_passwords';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| old_passwords | 1 |
+---------------+-------+
1 row in set (0.00 sec)mysql> select password('mypass');
+--------------------+
| password('mypass') |
+--------------------+
| 6f8c114b58f2ce9e |
+--------------------+
1 row in set (0.00 sec)mysql> set @@session.old_passwords=0;
Query OK, 0 rows affected (0.00 sec)mysql> show variables like 'old_passwords';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| old_passwords | 0 |
+---------------+-------+
1 row in set (0.00 sec)mysql> select password('mypass');
+-------------------------------------------+
| password('mypass') |
+-------------------------------------------+
| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
+-------------------------------------------+
1 row in set (0.00 sec)mysql> use mysql
Database changed
mysql> update user set password=password('root123') where user = 'root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货