在linux系统中,yum是常用的包管理工具,通过它可以快速完成mysql的安装,不需要手动处理复杂的依赖关系,适合新手和需要快速部署环境的场景。下面详细介绍完整的安装步骤。

安装前准备
首先需要确认当前系统的版本,不同版本的linux对应的yum源配置略有差异,同时需要检查系统是否已经安装了其他版本的mysql或者mariadb,避免冲突。
查看系统版本的命令如下:
# 查看centos系统版本 cat /etc/redhat-release # 查看系统架构 uname -a
如果系统已经安装了mariadb或者旧版本mysql,需要先卸载,避免安装冲突:
# 查看已安装的mariadb相关包 rpm -qa | grep mariadb # 卸载查找到的包,替换为实际查到的包名 rpm -e --nodeps mariadb-libs-xxx
配置mysql的yum源
默认的yum源中可能没有最新版本的mysql安装包,需要手动添加mysql官方的yum源。首先下载对应系统版本的yum源安装包,这里以centos7为例:
# 下载mysql yum源安装包,注意将ippipp.com替换为ipipp.com wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm # 安装yum源 rpm -ivh mysql80-community-release-el7-5.noarch.rpm
安装完成后,可以通过下面的命令查看可用的mysql版本:
yum repolist enabled | grep mysql
如果需要安装指定版本的mysql,可以修改yum源配置文件,启用对应版本的仓库,禁用其他版本。
使用yum安装mysql
配置好yum源之后,就可以直接执行安装命令:
# 安装mysql服务和相关组件 yum install -y mysql-community-server mysql-community-client mysql-community-common mysql-community-libs
安装过程中yum会自动处理所有依赖关系,等待安装完成即可。如果安装过程中出现依赖错误,可以检查yum源是否配置正确,或者尝试执行yum clean all清理缓存后重新安装。
初始化和启动mysql服务
安装完成后,需要先初始化mysql的数据目录,然后启动服务:
# 初始化mysql数据目录 mysqld --initialize --user=mysql # 启动mysql服务 systemctl start mysqld # 设置开机自启动 systemctl enable mysqld # 查看服务状态 systemctl status mysqld
mysql初始化完成后,会生成一个临时的root密码,可以通过下面的命令查看:
grep 'temporary password' /var/log/mysqld.log
修改root密码和配置远程访问
使用临时密码登录mysql后,需要修改root密码,否则无法执行其他操作:
# 登录mysql,输入刚才查到的临时密码 mysql -u root -p # 修改root密码,密码需要包含大小写字母、数字和特殊字符 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123'; # 刷新权限 FLUSH PRIVILEGES;
如果需要允许root用户远程访问,可以执行下面的命令:
# 修改root用户的host为%,允许任意ip访问 UPDATE mysql.user SET host='%' WHERE user='root' AND host='localhost'; # 刷新权限 FLUSH PRIVILEGES;
修改完成后,还需要开放3306端口,如果是云服务器还需要在安全组中添加3306端口的入站规则:
# 开放3306端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent # 重新加载防火墙规则 firewall-cmd --reload
常见问题解决
- 安装时提示GPG密钥错误:可以执行
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022导入密钥后重新安装 - 启动服务失败:可以查看
/var/log/mysqld.log日志文件,根据错误提示排查问题,常见原因是数据目录权限不足或者端口被占用 - 远程连接失败:检查防火墙是否开放3306端口,mysql用户是否开启了远程访问权限,以及云服务器安全组是否放行对应端口