一.问题描述
(1)在Docker中部署mysql容器;
(2)远程连接工具可以成功连接之后,只会显示自动生成的数据库,其他的数据库无法显示;
(3)无法使用远程连接工具创建数据库(Navicat):一旦执行创建数据库,就报1044异常。
(4)进入docker中的mysql容器中,却可以正常创建数据库。
二.问题原因
远程连接用户权限不足
三.解决办法
1.修改权限
查询用户表看root用户权限
SELECT host,user,Grant_priv,Super_priv FROM mysql.user;
修改权限并刷新,命令如下
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
2.赋权
总共需要以下三条命令文章来源:https://www.toymoban.com/news/detail-529775.html
use mysql;
update user set host='%' where user='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
最后重启Docker和Mysql容器文章来源地址https://www.toymoban.com/news/detail-529775.html
systemctl restart docker
docker restart mysql
到了这里,关于Navicat远程连接Docker容器中的mysql:报异常,1044 - Access denied for user ‘root‘@‘%‘ to database ‘xxxxxx‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!