赞
踩
1、先拉取MySql5.6镜像(也可以拉取默认版本,若Mysql镜像默认版本latest为8.0以上,Navict连接会报错,最下方有解决方法),成功拉取之后,使用docker images命令查看。
属性 | 说明 |
REPOSITORY | 表示镜像的仓库源 |
TAG | 镜像的标签,即版本latest为默认最新的版本 |
IMAGE ID | 镜像ID |
CREATED | 镜像创建时间 |
SIZE | 镜像大小 |
2、运行mysql容器
启动一般命令如下:
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
正常使用docker启动mysql容器,当关闭容器时,容器中的数据会消失,所以要将mysql容器中的数据持久化到主机上,持久化数据启动mysql容器命令如下:
docker run -p 3306:3306 --name mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d
-v /usr/local/mysql/logs:/logs
-v /usr/local/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
命令 | 说明 |
-p 3306:3306 | 将主机的3306端口映射到Docker容器的3306端口 |
–name mysql | 指定运行的服务的名字为mysql |
-v /usr/local/mysql/data:/var/lib/mysql | 将主机/usr/local/mysql/data目录挂载到容器指定目录 |
-e MYSQL_ROOT_PASSWORD=123456 | 初始化root用户密码为123456 |
-d | 后台运行开启的服务 |
mysql:5.6 | 指定运行的服务和版本 |
3、查看运行中的容器docker ps,获取容器ID
属性 | 说明 |
CONTAINER ID | 容器ID |
IMAGE | 镜像名 |
PORT | 端口 |
NAMES | 容器名 |
4、进入运行成功的容器(根据容器ID)
(1)win10下:
docker exec -it mysql bash
(2)Linux下:
docker exec -it mysql /bin/bash
5、连接mysql:
mysql -u root -p
6、Navicat连接Docker的mysql容器:
报错:ERROR 1130 (HY000): Host '172.25.124.254' is not allowed to connect to this MySQL server
这个返回结果说明现在 root 用户只允许在服务器的本地登录。
执行如下命令:
update user set host='%' where user='root';
然后重启 MySQL 服务就可以了。
docker restart mysql
Navicat就可以正常连接了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。