1.拉去mysql 镜像
可自行选择mysql版本,这里选择5.7安装
docker pull mysql:5.7
2.查看镜像
docker images
3.创建实例并启动
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=123456\
-d mysql:5.7
个人在执行以上命令时出了如下错误
于是就把上面的命令换行符去掉改成下面的这一行解决问题
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=123456 -d mysql:5.7
参数说明
-p 3306:3306 将容器对外暴漏的3306端口映射到主机的3306端口
-v/mydata/mysql/log:/var/log/mysql\ 将相应文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=123456\ 初始化root的密码
-d mysql:5.7 后台运行
4.设置字符编码
cd /mydata/mysql/conf
vi 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.重启docker中的mysql
docker restart mysql
6.进入docker中mysql容器内部查看修改的文件
docker exec -it mysql /bin/bash
cd /etc/mysql
cat my.cnf
7.退出容器
exit;