客户端远程连接docker容器中的mysql 报1251错误

1、启动容器:

[root@localhost ~]# docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql

2、进入容器:

[root@localhost ~]# docker exec -it 容器id bash

3、进入mysql:

root@2288abcb04f3:/# mysql -uroot -p

4、输入密码,进入到mysql界面:

5、对远程连接进行授权:

mysql> GRANT ALL ON *.* TO 'root'@'%';

6、更改密码的加密规则:

mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

7、更改root的密码:

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

8、刷新权限:

mysql> flush privileges;

9、使用客户端测试;

  • 24
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
回答: 若要在Docker镜像启用MySQL远程连接,你可以按照以下步骤进行设置。首先,使用下面的命令启动一个MySQL容器,并设置相关的数据卷和环境变量: docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:latest 其,-p参数用于设置端口映射,将主机的3306端口映射到容器的3306端口;-v参数用于设置数据卷,将主机的配置文件目录映射到容器的/etc/mysql/conf.d目录,将主机的数据目录映射到容器的/var/lib/mysql目录;-e参数用于设置环境变量,这里设置了MySQL的root密码为123456。 接下来,你可以使用MySQL客户端连接到这个容器MySQL实例。如果你在本机上使用MySQL客户端,可以使用以下命令连接到容器: mysql -h 127.0.0.1 -P 3306 -u root -p 这里,-h参数指定连接的主机为127.0.0.1,-P参数指定连接的端口为3306,-u参数指定连接的用户名为root,-p参数表示需要输入密码。 如果你希望从远程主机连接到这个容器MySQL实例,可以将"-h 127.0.0.1"修改为容器所在主机的IP地址或域名。 请注意,为了安全起见,建议将容器MySQL实例绑定到特定的IP地址或仅在特定网络接口上监听,以限制远程连接的访问范围。这可以通过修改MySQL的配置文件来实现,具体的配置方法可以参考Docker官方文档关于MySQL容器的说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值