可以使用MySQL8.0 但是要注意修改参数:sql-mode=NO_ENGINE_SUBSTITUTION。可以不使用docker部署MySQL,使用你认为比较合适的方式部署。不建议使用docker部署MySQL
下载 MySQL:8.0.36 的docker镜像:
docker pull mysql:8.0.36
创建物理机挂载目录:
sudo mkdir -p /data/mysql/data /data/mysql/logs /data/mysql/conf
进入mysql配置目录:
cd /data/mysql/conf
创建MySql的my.cnf配置文件,补充mysql8.0的配置文件(如下):
touch my.cnf
my.cnf 内容:
# =============== 配置内容如下(可根据自己情况修改)==============
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#配置服务器的服务号,具备日后需要集群做准备
server-id = 1
#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满
expire_logs_days=30
#允许最大的连接数
max_connections=16384
# 禁用符号链接以防止各种安全风险
symbolic-links=0
# 设置东八区时区
default-time_zone = '+8:00'
#wait_timeout参数值,由默认的8小时,修改为30分钟。
wait_timeout=1800
#修改back_log参数值:由默认的50修改为500 每个线程256K 1.6W线程2G左右
back_log=500
character_set_server=utf8mb4
default_authentication_plugin = mysql_native_password
sql-mode=NO_ENGINE_SUBSTITUTION
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect=SET NAMES utf8mb4
# =========================== 结 束 ===========================
启动mysql:8.0.36:
docker run -p 3306:3306 --name mysql \
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=B1x1GuKZr55PPmox \
-v /etc/localtime:/etc/localtime \
--restart always \
-d mysql:8.0.36
文档更新时间: 2025-03-24 16:40 作者:随商信息技术(上海)有限公司