安装mysql单机
获取docker镜像
docker pull mysql:5.7
启动docker
# mysql启动命令
docker run --name some-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=1234 --privileged=true \
-v /tmp/mysql/log:/var/log/mysql \
-v /tmp/mysql/data:/var/lib/mysql \
-v /tmp/mysql/conf:/etc/mysql/conf.d \
-d mysql:5.7
命令解释
-v 是数据卷的映射,映射之后,在宿主机中修改对应目录或文件的内容会直接反应到容器内部中
-v /tmp/mysql/log:/var/log/mysql
-v /tmp/mysql/data:/var/lib/mysql
-v /tmp/mysql/conf:/etc/mysql/conf.d
映射目录的详细规则,参见dockerhub中对mysql镜像的描述 https://hub.docker.com/_/mysql
处理插入中文失败问题
进入mysql查看默认字符集
# 进入容器
docker exec -it some-mysql /bin/bash
# 进入mysql
mysql -uroot -p1234
# 查看字符集
SHOW VARIABLES LIKE 'character%';

显示为latin1,这样的话插入中文数据,会出现错误
所以在/tmp/mysql/conf下新建my.cnf文件,并配置
# conf文件
cd /tmp/mysql/conf
# 新建my.cnf文件
vim my.cnf
# 在vim下写入如下内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

重启mysql容器
docker restart some-mysql
进入mysql再次查看字符集
# 进入容器
docker exec -it some-mysql /bin/bash
# 进入mysql
mysql -uroot -p1234
# 查看字符集
SHOW VARIABLES LIKE 'character%';

安装完成,可以正常使用了。