我是靠谱客的博主 眼睛大小蘑菇,最近开发中收集的这篇文章主要介绍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’出错解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部