使用Docker部署的Mysql远程连接时报错,Host ‘×××ב is not allowed to connect to this MySQL server

一、问题背景:

服务器上使用Docker部署的Mysql远程连接时报错
在这里插入图片描述

二、解决办法

修改用户权限表(适用于 MySQL 5.7 及以上版本)

  1. 进入 MySQL 容器内部。可以使用docker exec -it <mysql - container - name> bash命令(假设<mysql - container - name>是你的 MySQL 容器名称)。【不是docker部署的可以直接跳到第二部】
  2. 登录到 MySQL 数据库。在容器内部,使用mysql -u root -p命令,然后输入密码登录。
  3. SHOW DATABASES;查看所有数据库;use mysql,进入mysql数据库;
SHOW DATABASES;
use mysql

在这里插入图片描述

  1. 查询用户的权限信息。使用SELECT user, host FROM user;命令可以查看所有用户及其允许连接的主机信息。
SELECT user, host FROM user;

在这里插入图片描述
这是允许连接的ip列表
在这里插入图片描述

  1. 更新用户的权限。
    如果要允许来自117.129.66.19的单个ip的连接,可以使用以下命令:
    GRANT ALL PRIVILEGES ON . TO ‘your_user’@‘117.129.66.19’ IDENTIFIED BY ‘your_password’ WITH GRANT OPTION;(将your_user替换为实际的用户名,your_password替换为用户密码)。
    或者直接允许所有IP访问,GRANT ALL PRIVILEGES ON . TO ‘用户名’@‘%’ IDENTIFIED BY ‘密码’;
#允许单个ip访问
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'117.129.66.19' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
#允许所有ip访问
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';

在这里插入图片描述

  1. 刷新权限。使用FLUSH PRIVILEGES;命令,使权限设置生效。
FLUSH PRIVILEGES;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丿BAIKAL巛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值