安装前置环境:
已安装 Docker
(可选) 配置了国内的镜像
(可选) 切换到root 用户,方便操作
拉取镜像
shell
检查是否下载完成
shell
创建容器实例并启动
参数格式 [物理机:容器]
shell1 2 3 4 5 6
| sudo 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
|
以上命令我遇到了一个没有报错但启动没有成功的错误,排查过程:
- 查看容器日志
docker logs mysql
- 发现是 chown: changing ownership of ‘/var/lib/mysql’: Permission denied1
- 尝试给容器添加权限
--privileged=true
查看容器是否正常启动
shell
修改配置文件修改Mysql 编码
按照我上面的配置就是修改/mydata/mysql/conf/my.cnf
shell + my.cnf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| vim /mydata/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
|
重启Docker Mysql 服务
使配置文件生效
shell
(可选)设置Docker Mysql 服务自启动
shell1
| docker update mysql --restart=always
|
参考文章:
[1]:docker创建mysql容器出现 chown: changing ownership …