Docker 安装Mysql 流程(以5.7为例)

安装前置环境:
已安装 Docker
(可选) 配置了国内的镜像
(可选) 切换到root 用户,方便操作

拉取镜像

shell
1
docker pull mysql:5.7

检查是否下载完成

shell
1
docker images

创建容器实例并启动

参数格式 [物理机:容器]

shell
1
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

以上命令我遇到了一个没有报错但启动没有成功的错误,排查过程:

  1. 查看容器日志 docker logs mysql
  2. 发现是 chown: changing ownership of ‘/var/lib/mysql’: Permission denied1
  3. 尝试给容器添加权限 --privileged=true

查看容器是否正常启动

shell
1
docker ps

修改配置文件修改Mysql 编码

按照我上面的配置就是修改/mydata/mysql/conf/my.cnf

shell + my.cnf
1
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
1
docker restart mysql

(可选)设置Docker Mysql 服务自启动

shell
1
docker update mysql --restart=always

参考文章:

[1]:docker创建mysql容器出现 chown: changing ownership …

评论
加载中,最新评论有1分钟缓存...