我是靠谱客的博主 眼睛大小蘑菇,最近开发中收集的这篇文章主要介绍Ubuntu20.04 MySQL8远程连接 1698 - Access denied for user ‘root’@‘IP’出错解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
在Ubuntu20.04中使用MySQL8通过Navicat进行远程连接时发生如下报错:
1698 - Access denied for user ‘root’@‘IP’
报错原因:MySQL root用户的远程访问权限存在问题
*MySQL8的语法不同于MySQL5,一些解决5版本远程访问问题的命令在8中不再适用,会出现语法报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
解决办法:在Ubuntu中开启MySQL 用户的远程访问权限
步骤:
1. 找到 bind-address 修改值为 0.0.0.0
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
然后保存退出
2. 设置权限
sudo mysql -uroot -p #进入MySQL
mysql>use mysql; #切换数据库
mysql> UPDATE user SET host = '%' WHERE user = 'root'; #允许远程访问
mysql>flush privileges; #刷新权限
mysql>quit; #退出
再看看能否连接,如果仍然报错,可以不用root,自己新建一个用户再连接(作者最后就是这样解决的)
3. 新建一个用户
#创建用户
mysql> CREATE USER 'name'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
#赋权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'name'@'%' WITH GRANT OPTION;
注意:MySQL8.0以上密码策略限制必须要大小写加数字特殊符号
最后
以上就是眼睛大小蘑菇为你收集整理的Ubuntu20.04 MySQL8远程连接 1698 - Access denied for user ‘root’@‘IP’出错解决方法的全部内容,希望文章能够帮你解决Ubuntu20.04 MySQL8远程连接 1698 - Access denied for user ‘root’@‘IP’出错解决方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复