重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL5.6.x sha256_password插件登入用户时报错怎么办,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
公司主营业务:成都做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出柏乡免费做网站回馈大家。
【问题描述】:
版本:Oracle MySQL 5.6.30
添加default-authentication-plugin=sha256_password启动参数启动数据库:
mysqld_safe --default-authentication-plugin=sha256_password &
或在[mysqld]中设置default-authentication-plugin=sha256_password,并启动数据库。
查看一下old_passwords选项:
mysql> SELECT @@old_passwords;
+-----------------+
| @@old_passwords |
+-----------------+
| 0 |
+-----------------+
1 row in set (0.00 sec)
创建测试用户并刷新授权表:
mysql> CREATE USER aa@localhost IDENTIFIED BY 'aa';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
登出,通过新创建好的用户尝试登入:
[root@sAno1y ~]# mysql -uaa -paa
Warning: Using a password on the command line interface can be insecure.
ERROR 2061 (HY000): Authentication plugin 'sha256_password' reported error: Authentication requires SSL encryption
关闭实例,不加该参数重启:
mysqld_safe &
或在[mysqld]中删除/注释掉default-authentication-plugin=sha256_password选项,并启动数据库。
继续尝试登入:
[root@sAno1y ~]# mysqld_safe &
[1] 14052
[root@sAno1y ~]# 160818 11:54:08 mysqld_safe Logging to '/data/mysql_log/err-log.err'.
160818 11:54:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql
[root@sAno1y ~]# mysql -uaa -paa
Warning: Using a password on the command line interface can be insecure.
ERROR 2061 (HY000): Authentication plugin 'sha256_password' reported error: Authentication requires SSL encryption
继续报同样的错误。
【解决方案】:
在https://bugs.mysql.com/ 中找到这样一个帖子:
https://bugs.mysql.com/bug.php?id=68478
目前该“bug”的Status已经被置为:Closed
结贴的是一个叫“Paul Dubois”的小哥的评论,他表示这并不是一个bug,因为bug提交者和我一样,使用该插件时,需要通过SSL连接:
“Use of the sha256_password plugin requires that MySQL be built with SSL capabilities. See Section 6.3.9, “Using SSL for Secure Connections”.”
反之:如果用了该插件,又是用old_passwords=0的方式设置的密码,那么又何必多此一举使用该插件呢?
禁用该插件并重新创建需要创建的user@ip即可解决问题。
前提是其他的用户密码也是没有通过old_passwords=2的方式创建的。
看完上述内容,你们掌握MySQL5.6.x sha256_password插件登入用户时报错怎么办的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!