Navicat远程连接Docker容器中的mysql:报异常,1044 - Access denied for user ‘root‘@‘%‘ to database ‘xxxxxx‘

一.问题描述

(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.赋权

总共需要以下三条命令

use mysql;
update user set host='%' where user='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

最后重启Docker和Mysql容器文章来源地址https://www.uudwc.com/A/moM5W/

systemctl restart docker
docker restart mysql

原文地址:https://blog.csdn.net/xieyfjejwaj/article/details/128816474

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月02日 00:20
【Nginx】解决413错误
下一篇 2023年07月02日 00:23