一、部署MySQL
1.搜索mysql镜像
docker search mysql
2.拉取mysql镜像,相应镜像版本搜索docker hub
docker pull mysql:5.7
3.创建容器,设置端口映射、目录映射
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
#docker创建mysql容器:(命令:)
docker run \
-p 3306:3306 \
--name=mysql \
-v $PWD/log:/var/log/mysql \
-v $PWD/data:/var/lib/mysql \
-v $PWD/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
参数说明:
-p 3306:3306:将容器的 3306 端口映射到宿主机的 3306 端口。
-v $PWD/conf:/etc/mysql:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
-v $PWD/log:/var/log/mysql:将主机当前目录下的 log 目录挂载到容器的/var/log/mysql。日志目录
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
4.配置mysql字符编码,在/mysql/conf/my.cnf中编辑
[client]
default-character-set=utf8
[mysql]
default-character-set=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
5.重启mysql,使配置生效
docker restart mysql
6.进入容器,操作mysql,查看容器中的配置文件(/etc/mysql/my.cnf)是否和宿主机同步
docker exec -it mysql /bin/bash
7.使用外部机器(Navicat)连接容器中的mysql