MySQL 在 CentOS 7 环境安装完整步骤

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 的安装、配置及基本问题处理。建议安装后测试数据库连接和字符集配置,确保服务正常运行。

相关推荐
正在走向自律6 分钟前
国产时序数据库选型指南-从大数据视角看透的价值
大数据·数据库·清华大学·时序数据库·iotdb·国产数据库
Pocker_Spades_A7 分钟前
Python快速入门专业版(十五):数据类型实战:用户信息录入程序(整合变量、输入与类型转换)
数据库·python
禁默21 分钟前
已知 inode 号,如何操作文件?Ext 文件系统增删查改底层逻辑拆解
linux·服务器·数据库
云飞云共享云桌面28 分钟前
工厂办公环境如何实现一台服务器多人共享办公
运维·服务器·网络·数据库·3d
weixin_4569042732 分钟前
MySQL高级特性详解
数据库·mysql
Elastic 中国社区官方博客1 小时前
使用 cloud-native Elasticsearch 与 ECK 运行
大数据·数据库·elasticsearch·搜索引擎·kubernetes·k8s·全文检索
Mr_hwt_1231 小时前
基于MyCat 中间件实现mysql集群读写分离与从库负载均衡教程(详细案例教程)
数据库·mysql·中间件·mysql集群
酷ku的森2 小时前
Redis中的Zset数据类型
数据库·redis·缓存
zhong liu bin2 小时前
MySQL数据库面试题整理
数据结构·数据库·mysql
luckys.one7 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链