在Linux系统中使用rpm包安装MySQL并完成启动配置,是很多开发者和运维人员的基础操作,整个过程可以分为安装准备、执行安装、启动服务、基础配置四个核心阶段,下面逐一说明具体步骤。

安装前准备
首先要检查系统是否已安装其他版本的MySQL或者MariaDB,避免冲突,执行以下命令查询:
# 检查已安装的MySQL相关包 rpm -qa | grep mysql # 检查已安装的MariaDB相关包 rpm -qa | grep mariadb
如果存在旧版本,需要先卸载,卸载命令为rpm -e --nodeps 包名,比如卸载查出来的mysql-community-common包就执行rpm -e --nodeps mysql-community-common。
接着要下载对应系统版本的MySQL rpm包,这里以MySQL 8.0的rpm bundle包为例,下载完成后解压:
# 解压rpm bundle包 tar -xvf mysql-8.0.*.rpm-bundle.tar
执行rpm安装
解压后会得到多个rpm包,按照依赖顺序依次安装,核心安装顺序如下:
- 先安装common包:
rpm -ivh mysql-community-common-*.rpm - 再安装libs包:
rpm -ivh mysql-community-libs-*.rpm - 接着安装libs-compat包:
rpm -ivh mysql-community-libs-compat-*.rpm - 然后安装client包:
rpm -ivh mysql-community-client-*.rpm - 最后安装server包:
rpm -ivh mysql-community-server-*.rpm
如果安装过程中提示缺少依赖,比如缺少libnuma.so.1,可以先执行yum install -y numactl安装依赖后再继续安装。
安装完成后可以验证是否安装成功,执行以下命令查看已安装的MySQL包:
rpm -qa | grep mysql-community
启动MySQL服务
安装完成后就可以启动MySQL服务了,使用systemctl命令管理服务:
# 启动MySQL服务 systemctl start mysqld # 设置开机自启 systemctl enable mysqld # 查看服务运行状态 systemctl status mysqld
如果服务启动成功,状态会显示active (running),如果启动失败,可以查看日志排查问题,日志默认路径为/var/log/mysqld.log。
基础配置操作
修改root初始密码
MySQL服务首次启动后,会为root用户生成临时密码,存放在日志文件中,执行以下命令获取临时密码:
grep 'temporary password' /var/log/mysqld.log
拿到临时密码后登录MySQL,执行以下命令修改密码:
# 登录MySQL mysql -u root -p # 输入临时密码后执行修改密码命令,密码需要包含大小写字母、数字、特殊字符 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123';
开启远程访问权限
默认情况下root用户只允许本地登录,如果需要远程访问,需要修改权限:
# 切换到mysql系统库 use mysql; # 修改root用户的host为%,允许所有IP访问 UPDATE user SET host='%' WHERE user='root'; # 刷新权限 FLUSH PRIVILEGES;
调整配置文件
MySQL的配置文件默认在/etc/my.cnf,可以根据实际需求调整参数,比如设置字符集为utf8mb4:
# 编辑配置文件 vim /etc/my.cnf # 在[mysqld]段添加以下内容 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci # 保存后重启服务生效 systemctl restart mysqld
完成以上步骤后,MySQL就完成了rpm安装和基础的启动配置,可以正常对外提供服务了。