1.先用 exec命令进入MySQL命令行
docker exec -it mysql-container /bin/bash
登录 mysql -u root -p
输入密码
(1)show databases;
查看是否有mysql
(2)use mysql
(3) SELECT Host, User, plugin from user;![](https://img-blog.csdnimg.cn/ce1515f52ba54fe3bddcadc5ce748cd0.png)
此时发现 pubgin 全是 caching
(4)通过一下命令修改 % localhost 的密码校验方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
(5)刷新FLUSH PRIVILEGES;![](https://img-blog.csdnimg.cn/fa41019aab76440390fb8f6f0d1edcf8.png)
2.如果没有远程登录用户,请先添加远程登录用户
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
最后执行刷新命令
FLUSH PRIVILEGES;
现在,您已经成功地为一个新用户启用了MySQL远程登录。
在添加远程登录用户时,请牢记以下几点:
-
请确保为每个新用户创建一个安全的密码。
-
请仔细考虑每个用户的访问权限,并仅授予必要的权限。
-
不要使用root用户和公共IP地址('%');这不仅不安全,而且使服务器易受攻击