一、拉取mysql镜像
本文以mysql5.6、FinalShell工具为例
docker pull mysql:5.6
二、简单一步搞定
docker run -d -p 3306:3306
--name docker-mysql-5.6 -v /e/Docker/mysql56/log:/var/log/mysql -v /e/Docker/mysql56/data:/var/lib/mysql -v /e/Docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
三、或者使用分布操作
- 创建容器
docker run -itd --name=mysql56 --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
参数说明:
-itd -i -t -d的缩写
-i 以交互模式运行容器,通常与-t同时使用
-t 为容器重新分配一个伪输入终端,通常与-i同时使用
-d 后台运行容器,并返回容器ID,也即启动守护式容器
-p 23306:3306 映射容器服务的 3306 端口到宿主机的 23306 端口,外部主机可以直接通过 宿主机ip:23306 访问到 MySQL 的服务。
--name=mysql56 容器别名
--restart=always 重启策略:在容器退出时总是重启容器
-e MYSQL_ROOT_PASSWORD=123456 root账号初始密码
2. 配置mysql允许远程访问
# 通过 exec -it 进入容易
docker exec -it mysql56 bash
# 进入容器后用命令
mysql -u root -p
# 输入密码
123456
# 通过mysql-cli登录服务后, 使用sql要一定要以 ";" 结尾
# 切换数据库
use mysql;
# 允许root用户远程访问
update user set host='%' where user='root';
# 查询并出现 ‘%’ 的root用户即可
select user, host from user;
# 刷新权限立即生效
flush privileges;