1. 卸载已有环境(MariaDB/旧版MySQL)
1.停止 MariaDB 服务
systemctl stop mariadb.service
2.检查并卸载 MariaDB/MySQL 安装包
rpm -qa | grep mariadb # 检查 MariaDB 相关包
rpm -qa | grep mysql # 检查 MySQL 相关包
sudo yum remove mariadb* # 卸载所有 MariaDB 包
sudo yum remove mysql* # 卸载所有 MySQL 包
3. 备份配置文件和数据
cp /etc/my.cnf /etc/my.cnf.bak # 备份配置文件
cp -r /var/lib/mysql /var/lib/mysql.bak # 备份数据目录(如有)
2. 获取并安装 MySQL 官方 Yum 源
1.查看系统版本
cat /etc/redhat-release # 确认系统版本(如 CentOS 7.8)
2.下载 MySQL Yum 源 RPM 包
-
访问 MySQL 官方仓库,选择与系统版本匹配的 RPM 包(如
mysql57-community-release-el7-11.noarch.rpm
)。 -
下载后上传至服务器,或直接通过
wget
下载:wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
3. 安装 Yum 源
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
4.验证 Yum 源
ls /etc/yum.repos.d/ # 确认新增了 mysql-community.repo 文件 yum repolist | grep mysql # 检查仓库是否启用
3. 安装 MySQL 服务
sudo yum install -y mysql-community-server
4. 启动 MySQL 服务
systemctl start mysqld # 启动服务
systemctl enable mysqld # 设置开机自启
systemctl status mysqld # 检查运行状态
5. 获取初始密码并登录
1.查找临时密码
sudo grep 'temporary password' /var/log/mysqld.log
输出示例:
A temporary password is generated for root@localhost: yLMalTr:v+51*
2.使用临时密码登录
mysql -uroot -p
6. 修改 root 密码
1.降低密码策略(可选)
若需设置简单密码,需先调整策略:
SET GLOBAL validate_password_policy = 0; # 密码强度策略(0=低)
SET GLOBAL validate_password_length = 4; # 密码最小长度
2.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
7. 配置字符集和存储引擎
1.编辑配置文件
sudo vim /etc/my.cnf
2.添加以下配置
[mysqld]
character-set-server=utf8
default-storage-engine=innodb
[client]
default-character-set=utf8
3.重启服务生效
systemctl restart mysqld
8. 常见问题解决
1.无法输入中文
确保终端支持 UTF-8 编码:
echo $LANG # 应为 en_US.utf8 或 zh_CN.utf8
2.GPG 密钥过期错误
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3.忘记 root 密码
修改配置文件:
[mysqld]
skip-grant-tables
重启服务后无密码登录:
mysql -uroot
- 执行密码修改后,移除
skip-grant-tables
并重启服务。
总结
通过以上步骤,可完成 MySQL 在 CentOS 7 的安装、配置及基本问题处理。建议安装后测试数据库连接和字符集配置,确保服务正常运行。