远程连接docker中mysql容器

一、将拉下来的mysql镜像跑起来

 docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

 

二、再次进入mysql容器中

 docker exec -it c0d75389810c bash

三、登陆mysql

mysql -h localhost -u root -p

四、查看自己的数据库

show databases;

五、添加远程登录用户
 

CREATE USER 'newroot'@'%' IDENTIFIED WITH mysql_native_password BY '123456';


六、给予远程用户所有表所有权限

GRANT ALL PRIVILEGES ON *.* TO 'newroot'@'%';

七、刷新权限
 

FLUSH PRIVILEGES;


八、主机连接远程数据库

第一次连接失败

返回容器中查看是不是远程用户权限问题:

 select host,user,plugin,authentication_string from mysql.user;

我们尝试连接newroot这个用户,因为这里我开始是为newroot这个用户设置的远程访问权限:

 

注意:可能存在端口占用问题,很难解除占用:

,开启容器时提示本地3306端口被占用,于是就使用这条命令查了下端口使用情况:

fuser -v -n tcp 3306

发现确实被占用了,于是用
kill -s 9 pid
把占用的进程干掉,再次查看是发现还在占用,于是发现是本地的MySQL服务 开着,就通过:
/etc/init.d/mysqld stop
把MySQL服务关掉,发现这时端口3306 已经被释放了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不染心

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

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

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

打赏作者

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

抵扣说明:

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

余额充值