全部
常见问题
产品动态
精选推荐
功能建议

分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
CRMEB / Java / PHP 项目 8.0 专用配置

管理 管理 编辑 删除

下面这份是我 按你当前使用场景(CRMEB + Java + PHP) 整理的
👉 「MySQL 8.0 生产可用 · 高兼容 · 少踩坑」专用配置

目标只有一个:

能跑、不炸、性能比 5.7 好、老代码不改或少改

一、MySQL 8.0 专用 my.cnf(CRMEB / Java / PHP 通用)

✅ 兼容 CRMEB(ThinkPHP)✅ 兼容老 PHP PDO / mysqli✅ 兼容老 Java Connector/J✅ 避开 8.0 最常见雷点
[mysqld]
# =========================
# 基础端口 & 路径
# =========================
port = 3306
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
pid-file = /var/run/mysqld/mysqld.pid

# =========================
# 字符集(统一,避免乱码)
# =========================
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
skip-character-set-client-handshake = 1

# =========================
# 兼容 5.7 / 老项目(重点)
# =========================
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
default_authentication_plugin = mysql_native_password
explicit_defaults_for_timestamp = 1
lower_case_table_names = 1

# =========================
# InnoDB(8.0 推荐)
# =========================
default-storage-engine = InnoDB
innodb_buffer_pool_size = 4G        # 按内存调整
innodb_buffer_pool_instances = 1
innodb_log_file_size = 1G
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_autoinc_lock_mode = 2

# =========================
# 连接 & 超时
# =========================
max_connections = 500
max_connect_errors = 100000
wait_timeout = 28800
interactive_timeout = 28800
connect_timeout = 10

# =========================
# 缓冲 & 临时表
# =========================
tmp_table_size = 256M
max_heap_table_size = 256M
sort_buffer_size = 4M
join_buffer_size = 4M

# =========================
# 包大小(防止导入报错)
# =========================
max_allowed_packet = 256M

# =========================
# 日志(生产推荐)
# =========================
slow_query_log = 1
slow_query_log_file = mysql-slow.log
long_query_time = 1
log_error = mysql-error.log

# =========================
# 安全(不影响业务)
# =========================
secure-file-priv = NULL
symbolic-links = 0

# =========================
# 关闭 MySQL 8.0 新特性(老系统更稳)
# =========================
mysqlx = 0


二、不同项目的「额外适配说明」

CRMEB(ThinkPHP / PHP)

必须确认的点

  • PHP ≥ 7.2(推荐 7.4 / 8.0)
  • PDO / mysqli 驱动 ≥ mysqlnd

PHP 连接建议

'mysql' => [
    'type' => 'mysql',
    'hostname' => '127.0.0.1',
    'database' => 'crmeb',
    'username' => 'root',
    'password' => '******',
    'charset'  => 'utf8mb4',
    'prefix'   => 'eb_',
]

常见 CRMEB 报错

  • SQLSTATE[42000] GROUP BY👉 已通过 sql_mode 规避

Java 项目(Spring Boot / MyBatis)

驱动版本(非常重要)

驱动是否支持 8.0
mysql-connector-java 5.1.x 勉强
mysql-connector-j 8.0.x推荐

JDBC URL 推荐

jdbc:mysql://127.0.0.1:3306/db_name
?useUnicode=true
&characterEncoding=utf8
&useSSL=false
&serverTimezone=Asia/Shanghai
&allowPublicKeyRetrieval=true
不加 allowPublicKeyRetrieval=truecaching_sha2_password 会连不上

(我们已在 MySQL 侧强制 mysql_native_password,更稳)

PHP 老项目(非 CRMEB)

必查项

php -m | grep mysqli
php -m | grep pdo_mysql

建议 ini

mysqli.default_socket=/var/lib/mysql/mysql.sock
pdo_mysql.default_socket=/var/lib/mysql/mysql.sock


三、不同内存服务器的推荐参数

服务器内存innodb_buffer_pool_size
4G2G
8G4G
16G8G
32G16G
原则:内存的 50%~60%

四、8.0 下「强烈不建议开启」的选项

ONLY_FULL_GROUP_BY
utf8mb4_0900_ai_ci
caching_sha2_password(老项目)
MySQLX(33060)


五、升级后必做 SQL 修复(可选但推荐)

-- 修复非法时间
UPDATE 表名
SET created_at = NULL
WHERE created_at = '0000-00-00 00:00:00';

-- 检查 group by
SET SESSION sql_mode='';


六、上线前自检清单(非常重要)

  • PHP / Java 正常连接
  • CRMEB 后台不报 SQL 错
  • 下单 / 支付流程跑通
  • 慢日志无异常暴涨
  • 备份可恢复
{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

小码二开 最后编辑于2025-12-17 09:19:48

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
11
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服