MySQL低版本密码格式与高版本不一致的报错

将低版本数据库数据导入到高版本数据库时,由于密码格式不同导致以下问题:

[root@localhost~]# mysql -u root -p
Enter password: 
ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)

查看帮助

[root@localhost mysql]# mysql --help|grep 'secure-auth'
  --secure-auth       Refuse client connecting to server if it uses old
                      (Defaults to on; use --skip-secure-auth to disable.)

依旧失败

[root@localhost~]# mysql -u root -p --secure-auth=off
Enter password: 
ERROR 1275 (HY000): Server is running in --secure-auth mode, but  'root'@'localhost' has a password in the old format; please change the password to the new format。

最终解决方法

[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
secure_auth = off

然后重启数据库
[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.28-76.1-log Percona Server (GPL), Release 76.1, Revision 5759e76

Copyright (c) 2009-2015 Percona LLC and/or its affiliates
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost 11:31:  [(none)]>

更新密码格式

root@localhost 11:31:  [(none)]> update mysql.user set password=password('xxxxxx') where user='root' and host='localhost';
root@localhost 11:36:  [(none)]> flush privileges;

修改后再删除secure_auth = off参数,重启数据库即可。




你可能感兴趣的:(MySQL低版本密码格式与高版本不一致的报错)