Percona Server for MySQL 官方安装包怎么选
直接去
https://www.percona.com/downloads/Percona-Server-LATEST/下载,别用系统自带的
mysql-server包——它不是 Percona。重点看后缀:
Percona-Server-8.0.x-x86_64-bundle.tar是完整包(含 client、server、devel 等),
Percona-Server-8.0.x-el8-x86_64.rpm-bundle.tar是 RHEL/CentOS 专用 RPM 合集。Debian/Ubuntu 用户得找
.deb包,路径里带
ubuntu2004或
ubuntu2204字样,别下错发行版。
rpm -ivh 安装时提示依赖冲突或 mariadb-lib 冲突
这是最常卡住的点:系统预装了
mariadb-libs,而 Percona 的
percona-server-shared和它文件路径重叠。必须先卸载:
sudo rpm -e --nodeps mariadb-libs
再按顺序装(顺序不能错):
percona-server-shared
percona-server-client
percona-server-server
如果跳过
shared直接装
server,启动会报
undefined symbol: my_thread_global_init—— 这是典型的共享库缺失。
my.cnf 配置里哪些 Percona 特有参数值得开
装完默认配置太保守。关键几项建议加到
/etc/my.cnf的
[mysqld]段:
innodb_buffer_pool_dump_at_shutdown=ON:避免重启后缓存冷启动
innodb_stats_on_metadata=OFF:关掉
SHOW TABLE STATUS触发统计更新,防锁表
log_slow_rate_limit=100:Percona 特有,只记录每秒超过 100 次的慢查询,避免日志爆炸
performance_schema=ON:Percona 的 PFS 实现比官方更轻量,建议开
注意:
innodb_fast_shutdown默认是
1,但 Percona 8.0 推荐设为
0(全刷盘),否则可能丢事务日志。
systemctl start mysql 失败,日志里出现 “Table 'mysql.plugin' doesn't exist”
说明初始化没做或失败了。Percona 不像官方版自动运行
mysqld --initialize。必须手动执行:
sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql
成功后会输出临时 root 密码(在 error log 末尾,不是终端 stdout)。接着再跑:
sudo systemctl daemon-reload && sudo systemctl enable mysqld && sudo systemctl start mysqld
如果 datadir 已存在旧数据,别直接初始化——先备份
/var/lib/mysql,否则
--initialize会清空它。 Percona 的配置差异主要藏在细节里:比如
log_slow_rate_limit这种参数,不查文档根本不知道它存在;而
innodb_fast_shutdown=0这种看似小调整,实际影响 crash recovery 行为。装完别急着上线,先用
mysqladmin variables | grep -i percona确认版本和关键开关是否生效。
