镜像仓库:https://hub.docker.com/
搜索mysql镜像
这里有版本显示。 我们可以根据需要下载对应的镜像
docker pull mysql
使用docker pull mysql 下载镜像 默认下载最新的也可以使用 docker pull mysql:5.7 下载指定版本
docker pull mysql:5.7
安装完成之后查看镜像
docker images
docker run -p:3306:3306 --name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7
如果运行不成功的话 可以将制定拼成一行在粘贴到命令行中
参数解释:
-p 3306:3306 将容器的3306端口映射到主机的3306端口 -v /mydata/mysql/conf:/etc/mysql 将配置文件挂载到主机 -v /mydata/mysql/log:/var/log/mysql 将日志文件挂载到主机 -v /mydata/mysql/data:/var/lib/mysql 将配置文件挂载到主机 -e MYSQL_ROOT_PASSWORD=root 初始化root用户密码 -d mysql:5.7 以后台方式运行mysql5.7
运行成功后 使用数据连接工具测试连接
设置MYSQL的编码格式
因为我们在启动的时候将mysql与linux的目录进行了挂载,也就是说我们只需要在linux目录中修改对应的配置文件就能同步到docker中
vi /mydata/mysql/conf/my.cnf
简单配置一下
[client]
default-character-set=utf8
[mysql]
default-character-ser=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
保存退出重启mysql
docker restart mysql
进行交互查看docker的mysql配置
docker exec -it mysql /bin/bash
在启动时我们的这一条指令/mydata/mysql/conf:/etc/mysql
将linux/mydata/mysql/conf与docker中的mysql /etc/mysql进行挂载 也就是我们只需要在linux中配置就可以自动同步到docker的配置中
cd /etc/mysql/
查看一下
与linux中配置的一致。