1. 进入面板
2. 新建挂载文件夹
新建三个文件夹:
mkdir -p /mydata/docker/mysql5/config && mkdir -p /mydata/docker/mysql5/data && mkdir -p /mydata/docker/mysql5/logs
- config:存放mysql配置
- data:存放mysql数据
- logs:存放mysql记录日志
3. 在config配置目录创建一个my.cnf的文件
cd /mydata/docker/mysql5/config
touch my.cnf
4. 创建mysql容器
docker run \
-p 3306:3306 \
--name mysql5 \
-v /mydata/docker/mysql5/logs:/var/log/mysql \
-v /mydata/docker/mysql5/data:/var/lib/mysql \
-v /mydata/docker/mysql5/config:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7.25 \
--lower_case_table_names=1
- -p:指定端口映射,格式为:主机(宿主)端口:容器端口
- –name:为容器指定一个名字
- -v:绑定挂载
- -e:MYSQL_ROOT_PASSWORD=“xxx”,设置环境变量,为root用户设置密码
- –restart=on-failure:3:是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次;也可以设置为:always
- -d:后台运行容器,并返回容器 id
- –lower_case_table_names=1:指定忽略大小写
注:mysql5的配置挂载是在:/etc/mysql/my.cnf
可以先启动一个mysql容器,进入内部进行查看my.cnf在哪个位置,即可以确定
## 启动一个测试容器
docker run --name mysqltemp \
-p 3307:3306 -e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.25
## 进入容器
docker exec -it mysqltemp bash
## 指令查看,或使用宝塔linux面板进行查看
mysql --help | grep my.cnf
5. 编辑挂载的配置文件
进行my.cnf
vi /mydata/docker/mysql5/config/my.cnf
或
vim /mydata/docker/mysql5/config/my.cnf
添加如下配置:修改mysql的统一编码为utf-8
[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
6. 重启mysql
docker restart mysql5