前言:
- 安装与卸载中,用户全部切换成root , 一旦安装,普通用户也能使用的~
一、卸载不必要的环境
CentOS 7 默认会安装 MariaDB,它与 MySQL 存在文件和服务冲突,必须先卸载清理,全程建议切换至 root 用户操作,普通用户需加sudo获取权限
1. 检查并停止 MariaDB 服务
首先检查 MariaDB 进程是否存在,若存在则停止对应的服务:
# 检查mariadb进程
ps ajx |grep mariadb
# 停止mariadb服务
systemctl stop mariadb.service
# 检查mysql进程
ps ajx |grep mariadb
# 停止mysql服务
systemctl stop mysql
执行停止命令后若需要身份验证,输入 root 密码即可。再次执行ps ajx |grep mariadb,若无服务进程则说明停止成功。
2. 检查并卸载默认安装包
检查系统中已安装的 MariaDB 和 MySQL 相关 rpm 包:
# 检查mariadb相关包
rpm -qa | grep mariadb
# 检查mysql相关包
rpm -qa | grep mysql
卸载查到的所有冲突安装包,建议逐个卸载确保清理干净:
sudo yum remove 查到的包名
如果想要把查到的包名,批量化的删除
rpm -qa | grep mysql | xargs yum-y remove
二、配置 MySQL 官方 Yum 源
CentOS 7 默认 yum 源中无 MySQL 官方包,需手动添加 MySQL 官方 yum 源,建议安装与系统版本匹配的 MySQL 版本,避免兼容性问题。
1. 查看系统版本
确认 CentOS 7 具体版本,保证 yum 源与系统匹配:
获取mysql官方yum源 http://repo.mysql.com/
cat /etc/redhat-release
2. 下载并安装 MySQL Yum 源
从 MySQL 官方仓库**http://repo.mysql.com/**下载对应 CentOS 7 的 mysql57-community-release 包,也可直接通过 rpm 命令安装:
# 安装mysql57社区版yum源
sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
若执行时出现Permission denied权限错误,添加sudo即可解决;出现签名警告可忽略,不影响安装。
3. 验证 Yum 源安装结果
ls /etc/yum.repos.d/ | grep mysql
#检查 yum 源是否能识别 MySQL 相关包
yum list |grep mysql
三、安装 MySQL 服务
通过配置好的官方 yum 源,一键安装 MySQL 社区版服务器,会自动安装依赖的公共模块、库、客户端等组件。
sudo yum install -y mysql-community-server
四、MySQL 服务基础操作
安装完成后,进行服务启动、状态检查等基础操作,确认服务正常运行。
1. 查看配置文件和数据目录
MySQL 默认配置文件为/etc/my.cnf,默认数据存储目录为/var/lib/mysql,执行以下命令查看:
# 查看配置文件
ls /etc/my.cnf
# 查看数据目录
sudo ls /var/lib/mysql
2. 启动并检查 MySQL 服务
# 启动mysql服务
systemctl start mysqld.service
# 检查mysql进程是否运行
ps axj |grep mysqld
若进程列表中出现/usr/sbin/mysqld相关进程,说明服务启动成功。
3. 设置开机自启动(可选)
为避免服务器重启后 MySQL 服务失效,可设置开机自启动:
# 开启开机自启动
systemctl enable mysqld
# 重载系统服务配置
systemctl daemon-reload
五、MySQL 登录与密码配置
MySQL 5.7 安装后会为 root 用户生成临时密码,也可能存在无密码情况,提供三种登录方法,按顺序尝试即可,推荐优先使用方法一。
方法一:通过临时密码登录(推荐)
1.查找临时密码:MySQL 临时密码默认存放在/var/log/mysqld.log日志文件中,执行以下命令提取:
sudo grep 'temporary password' /var/log/mysqld.log
输出结果中root@localhost:后即为临时密码,例如yLMalT:v+5l*。
2.临时密码登录:使用提取的临时密码登录 MySQL 客户端:
mysql -uroot -p
3.输入临时密码后即可进入 MySQL 命令行。
-
修改密码策略并重置密码:MySQL 5.7 默认开启密码强度验证,要求密码包含数字、符号、大小写字母且长度≥8 位,新手可先降低密码策略,再修改自定义密码:
关闭密码强度验证(0为最低级别)
set global validate_password_policy=0;
设置密码最小长度为1
set global validate_password_length=1;
重置root本地登录密码,替换为自定义密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的自定义密码';
刷新权限使配置生效
FLUSH PRIVILEGES;
方法二:直接无密码登录
1.若安装的 MySQL 无临时密码,root 用户默认无密码,可直接执行以下命令登录:
mysql -uroot
方法三:跳过权限验证登录(适用于密码丢失 / 无法登录)
1.若以上两种方法均无法登录,可通过修改配置文件跳过权限验证,步骤如下:
vim /etc/my.cnf
2.在[mysqld]节点最后添加跳过权限验证配置,保存并退出:
skip-grant-tables
3.重启 MySQL 服务使配置生效:
systemctl restart mysqld
4.无密码登录 MySQL:
mysql -uroot
注意 :登录成功后建议及时修改密码,并注释掉skip-grant-tables配置,重启服务恢复权限验证,避免安全风险。
六、配置 MySQL 编码(解决中文乱码)
为避免数据库存储和查询出现中文乱码,需配置 MySQL 服务端编码为 UTF-8,编辑/etc/my.cnf配置文件:
vim /etc/my.cnf
在[mysqld]节点中添加以下配置:
# 服务端编码设置为utf8
character-set-server=utf8
# 默认存储引擎为InnoDB
default-storage-engine=innodb
配置完成后,重启 MySQL 服务使编码配置生效:
systemctl restart mysqld
注意 :暂不建议在[mysql]节点添加default-character-set=utf8,MySQL 5.7 存在该配置的 bug,会导致汉字无法回显。
七、安装常见问题解决
问题 1:终端无法输入中文,数据库中文插入失败
首先检查系统终端的编码设置,确保为 UTF-8:
env |grep LANG
若输出LANG=en_US.utf8则为正常;若编码非 UTF-8,需修改系统编码配置,确保终端和 MySQL 编码一致。
问题 2:安装时出现 GPG 秘钥过期错误

报错信息示例:Failing package is: mysql-community-client-5.7.39-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql解决方案:导入 MySQL 最新的 GPG 秘钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
问题 3:启动服务时出现权限错误
确保/var/lib/mysql目录的属主和属组为 mysql 用户,若权限异常执行以下命令修复:
chown -R mysql:mysql /var/lib/mysql