【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 @   PythonNew_Mr.Wang  Views(1428)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-09-26 【Element UI】初始化脚手架与添加ElementUI配置
点击右上角即可分享
微信分享提示