在 CentOS 上敲 yum install mysql,装完发现命令叫 mariadb,或者提示没有可用软件包。CentOS 7 的默认源里放的就是 MariaDB,MySQL 得另加源。
先加源再安装
到 MySQL 官方仓库页面按系统版本下载对应的 rpm 包,用 yum localinstall 装上,之后 yum install mysql-community-server 就能装。CentOS 8 换成了 dnf,模块仓库里可以直接选 MySQL 版本,enable 之后再装。
具体包名和版本以官方文档为准,别照抄几年前的博客。装之前先看有没有旧版本,rpm -qa 加上 grep mysql 能列出来,装过 MariaDB 的机器要先卸干净,不然包冲突,装到一半报错。
启动和首次登录
装完执行 systemctl start mysqld,再 systemctl enable mysqld 设开机启动。MySQL 5.7 和 8.0 首次启动会在 /var/log/mysqld.log 里写一个临时密码,用 grep temporary password 那行找出来,登录后第一件事就是改掉。mysql -V 可以看当前客户端版本,登录用 mysql -u root -p,-p 后面不要直接跟密码,回车后再输入更安全。
改密码用 ALTER USER 语句,例如 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';。默认密码策略要求大小写、数字、符号都有,嫌麻烦可以先调低策略,但生产环境别关。
装完这几步别省
- 跑 mysql_secure_installation,删匿名用户、禁止 root 远程登录。
- 需要远程连接再开 3306,firewall-cmd 放行后重载规则。
- 字符集统一成 utf8mb4,建库时就定好,后期改表很麻烦。
远程连不上先在本机用 127.0.0.1 试,本机能通再查防火墙和云服务器的安全组,安全组不放行,firewall-cmd 开了也没用。CentOS 7 已经停止维护,新机器上不建议再用它配数据库。真要在老环境里装,装完先把 yum 源和时区检查一遍,后面少踩坑。