docker安装mysql并能在外网访问

问题描述:docker 安装mysql,但是其他主机一直连接不上
环境准备:1.安装docker2.docker安装mysql
docker -images 查看dock镜像文件
1.启动docker,创建mysql容器:
docker run --name mysqlserver –network=host -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:5.6
name —>mysql的名称
–network=host ---->将本机ip映射到外网
mysql:5.6 是mysql镜像文件
2.进入mysql容器
docker exec -it 3eec307177ae /bin/bash
3eec307177ae (运行的容器id)可通过docker ps 查看
mysql -uroot -p 输入密码登录mysql,默认密码123456(前面设置的)
3.授权到外网访问
GRANT ALL PRIVILEGES ON . TO ‘jie’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
注解:
GRANT ALL PRIVILEGES ON .(表示所有的操作表的所有权限,可以自行控制) TO ‘jie(用户名)’@’%(所有主机)’ IDENTIFIED BY ‘123456’(用户密码) WITH GRANT OPTION;
此时启动Navicat,输入ip,账号密码和端口,连接成功。
问题总结:启动mysql容器的时候没有加上–network=host,导致mysql 一直连接不上,终于解决了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐