MySQL 5.7必须通过官方mysql57-community.repo启用并安装mysql-community-server,否则易装成MariaDB或MySQL 8.0;需先卸载mariadb-libs,确保初始化成功并获取临时密码,再修改密码、授权远程访问及配置utf8mb4字符集。

mysql-community-server 必须用官方 YUM 仓库安装,否则会遇到版本错乱、依赖缺失或 mysqld 启动失败等问题。直接 yum install mysql 装出来的极大概率是 mariadb,不是 MySQL。
卸载 mariadb 冲突包是必须前置动作
CentOS 7 默认预装 mariadb-libs,它会占用 /usr/lib64/libmysqlclient.so.18 等路径,导致 mysql-community-server 安装时提示冲突或启动时报 symbol lookup error。
- 先查:
rpm -qa | grep -i 'mysql\|mariadb' - 强制卸载(不删数据目录):
yum remove mariadb-libs mysql-community-server -y - 若提示
error: Failed dependencies,加--nodeps强制清理,但务必确认没在跑生产库
必须用 mysql57-community.repo 启用 5.7 版本
官方 RPM 包(如 mysql57-community-release-el7-11.noarch.rpm)默认启用的是 mysql80-community,不手动切换就会装上 MySQL 8.0。
- 安装源包后,编辑
/etc/yum.repos.d/mysql-community.repo - 把
[mysql57-community]下的enabled=0改成1,同时把[mysql80-community]的enabled设为0 - 验证:运行
yum repolist enabled | grep mysql,输出中应只出现mysql57-community - 别信
yum-config-manager—— 这个命令在最小化安装的 CentOS 7 上常未安装,且部分镜像源(如清华源)不兼容该工具
初始化失败常见于 /var/log/mysqld.log 权限或 libatomic 缺失
systemctl start mysqld 启动失败,日志里报 Failed to initialize database 或直接退出,大概率是两个原因:
面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。
-
/var/log/mysqld.log所在目录(通常是/var/log)权限不对,mysqld进程无法写入。执行:chown mysql:mysql /var/log/mysqld.log并确保/var/log对mysql用户可写 - ARM64 或某些 GCC 较老的系统缺少
libatomic:yum install libatomic -y,否则启动时卡在mysqld: symbol lookup error: mysqld: undefined symbol: __atomic_fetch_add_8 - 临时密码找不到?检查日志路径是否被改过:
grep 'temporary password' /var/log/mysqld.log;如果返回空,说明初始化根本没成功,先解决上面两点再重试
远程访问要同时放开防火墙和 MySQL 授权
只开 3306 端口或只改 user 表的 Host 字段,任一遗漏都会导致连接被拒。
- 防火墙:
firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload - MySQL 内授权(登录后执行):
CREATE USER 'root'@'%' IDENTIFIED BY 'your_strong_password'; GRANT ALL ON *.* TO 'root'@'%'; FLUSH PRIVILEGES; - 注意:MySQL 5.7 默认禁用
root@'%',不能直接UPDATE user SET Host='%' WHERE User='root',要用CREATE USER + GRANT显式创建 - 字符集建议在
/etc/my.cnf的[mysqld]段加:character-set-server=utf8mb4和collation-server=utf8mb4_unicode_ci,避免后续插入 emoji 报错
实际部署中最容易被跳过的,是确认 mysql57-community 是否真正启用,以及初始化失败后不看日志就反复重启服务。这两个点卡住的人最多。










