ubuntu系统dock连接mysql
- 拉取mysql镜像:
注册daocloud:使用docker pull mysql:5.7时很慢,过程中经常连接断开,试了几次都没有拉取下来 ,注册daocloud :https://dashboard.daocloud.io/packages/explore
选择发现镜像–社区镜像–输入名称mysql搜索选中第一个,点击拉取可以看到拉取镜像的命令
在ubuntu的命令行输入:docker pull daocloud.io/library/mysql:5.7
(指定安装5.7版本的mysql) - 启动镜像
输入命令:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d daocloud.io/library/mysql:5.7
- 进入容器
输入命令:docker exec -it mysql /bin/bash
- 进入mysql:
输入命令:mysql -uroot -p
输入密码:123456 成功进入mysql
使用数据库:show databases;
use mysql;
修改root用户anybody可连接的密码为123:alter user 'root'@'%' identified with mysql_native_password by '123';
立即生效修改:flush privileges;
查看修改是否生效:select host,user,plugin,authentication_string from user;
输入exit退出mysql
按住Ctrl+P+Q退出容器 - 设置防火墙
输入命令:sudo ufw status
查看防火墙状态 actived表示开启
开启3306:sudo ufw allow 3306
或者关闭防火墙:sudo ufw disable
(输入命令:su root 切换到root用户时命令可以不用加上 sudo)
6.在搭建到这一步,我的本地Navicat依然连接不上docker中的mysql
修改Ubuntu系统的网络连接为桥接(原来为仅主机)
重新启动Ubuntu系统,重启mysql:docker start mysql
- 本地cmd命令行测试连接:192.168.1.10为我的Ubuntu虚拟机I
mysql -h 192.168.1.10 -P 3306 -u root -p
输入密码:上面修改的mysql密码123
连接到mysql成功
使用Navicat连接:
本次在docker中搭建mysql遇到的问题:
没有开启防火墙
网络不是桥接模式