1 下载mysql镜像
docker pull mysql:5.7
2 运行mysql
docker run -p 3306:3306 --name mysql \
--restart always \
-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端口
–name mysql容器的名字,随便取名
–restart always 随着docker自启动
-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 设置root用户密码
-d 后台运行mysql
3 设置mysql的字符编码
vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collcation_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
4 防火墙开启3306端口
(1)开启3306端口,以便操作mysql的工具(sqlyog, navicat)远程连接
firewall-cmd --add-port=3306/tcp --zone=public --permanent
(2)重启防火墙
firewall-cmd --reload
(3)查看3306端口是否开启成功
firewall-cmd --query-port=3306/tcp
5 重启mysql
docker restart mysql