【Mysql】使用 Docker 启动 mysql,配置挂载数据文件夹与配置文件

1 :先创建挂载文件夹

mkdir -p /mysql/config ; mkdir -p /mysql/data ; mkdir -p /mysql/logs

2: 创建配置文件

vim /mysql/config/my.cnf

3: 修改权限

chmod 644 /mysql/config/my.cnf # 启动报错就修改成777,但是会提示风险

4: 添加以下参数

# event_scheduler=ON 表示开启事件支持
# lower_case_table_names=1 表示数据库不区分大小写
# default-time-zone = '+8:00' 表示使用中国时区
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
event_scheduler=ON
lower_case_table_names=1
default-time-zone = '+8:00'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

5:docker中的mysql容器(不管启动多少容器,容器的端口都是3306)

docker run -p 3306:3306 \
--name 名称 \
-e MYSQL_ROOT_PASSWORD=数据库密码 \
-v /mysql/config/my.cnf:/etc/mysql/my.cnf \
-v /mysql/logs:/logs \
-v /mysql/data/mysql:/var/lib/mysql \
--privileged=true \
-d 镜像ID

例1:
docker run -p 3307:3306 \
--name mysql_02 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /mysql2/config/my.cnf:/etc/mysql/my.cnf \
-v /mysql2/logs:/logs \
-v /mysql2/data/mysql:/var/lib/mysql \
--privileged=true \
-d 99afc808f15b

例2:
docker run -p 3308:3306 \
--name mysql_03 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /mysql3/config/my.cnf:/etc/mysql/my.cnf \
-v /mysql3/logs:/logs \
-v /mysql3/data/mysql:/var/lib/mysql \
--privileged=true \
-d e038c31025cc
posted @ 2023-09-26 20:50  PythonNew_Mr.Wang  Views(1550)  Comments(0)    收藏  举报