生产环境应使用mysql 8.0官方二进制包部署,禁用系统包管理器;主从需严格配置gtid与row格式,启用read_only和relay_log_recovery;高可用选型需匹配运维能力,备份必须与binlog清理策略对齐并定期验证。
MySQL 8.0 二进制包部署比 yum/apt 更可控
生产环境不建议用系统包管理器装 MySQL,因为版本老旧、配置路径不统一、启停脚本耦合 systemd 太深,出问题时排查慢。直接用官方 mysql-8.0.x-linux-glibc2.17-x86_64.tar.xz 包更稳妥。
-
解压后用
mysqld --initialize --user=mysql --datadir=/data/mysql初始化,注意记录日志末尾生成的临时 root 密码 -
mysqld_safe已弃用,直接用mysqld启动,配合 systemd 时写好Type=notify和Restart=on-failure - 关键配置必须显式指定:
datadir、socket、log-error、pid-file,避免依赖默认值导致多实例冲突 - 首次启动后立刻执行
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPass123!';,否则临时密码一小时后失效
主从复制不能只靠 CHANGE MASTER TO 就算完
单纯执行 CHANGE MASTER TO 并 START SLAVE 只是起点,生产中常见同步中断、延迟飙升、GTID 不一致等问题,必须前置加固。