使用Yum在RHEL/CentOS系统上安装MySQL是一个相对直接的过程,核心在于正确配置MySQL官方的Yum仓库,然后利用包管理器进行安装和管理。这极大地简化了数据库部署的复杂性,避免了手动编译的繁琐,也方便了后续的更新维护。
解决方案在我看来,通过Yum安装MySQL是目前在基于RPM的Linux发行版上最省心的方式之一。它不仅能保证你获取到官方支持的版本,还能处理大部分依赖关系。以下是我通常会遵循的步骤:
首先,我们需要确保系统是最新的,这是一个好习惯,可以避免一些潜在的依赖问题:
sudo yum update -y
接着,我们需要下载并安装MySQL的官方Yum仓库配置文件。这一步至关重要,它告诉Yum去哪里找到MySQL的软件包。你可以根据你的系统版本(如CentOS 7或8)选择合适的
mysql-community-releaseRPM包。通常,我会直接去MySQL官网的下载页面找到最新的仓库RPM链接。
以安装MySQL 8.0为例,你可能需要执行:
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm # CentOS 7 # 或者 sudo yum install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm # CentOS 8
安装完仓库RPM后,你可以检查一下Yum仓库列表,确保MySQL仓库已经启用:
yum repolist all | grep mysql
你会看到类似
mysql80-community/x86_64这样的条目,并且状态是
enabled。
如果你想安装特定版本的MySQL,比如MySQL 8.0,但系统默认可能启用了其他版本(如5.7),你需要禁用旧版本并启用新版本。对于CentOS 8或更新的系统,这通常涉及模块流(module streams)的操作:
sudo yum module disable mysql # 禁用所有MySQL模块 sudo yum module enable mysql:8.0 # 启用MySQL 8.0模块
确认无误后,就可以安装MySQL服务器了:
sudo yum install mysql-community-server -y
这个命令会下载并安装MySQL服务器以及所有必要的依赖。整个过程可能需要一些时间,具体取决于你的网络速度和系统性能。
安装完成后,启动MySQL服务并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
至此,MySQL服务器就已经运行起来了。接下来的工作是进行初始的安全配置。
使用Yum安装MySQL前需要做哪些准备工作?在我多年的经验里,安装任何核心服务前,做足准备工作能省下不少麻烦。对于Yum安装MySQL,有几个点我特别强调:
系统更新是第一位的。一个打满补丁的系统能有效避免许多意想不到的依赖冲突或安全漏洞。我个人习惯在执行任何重大安装前都跑一遍
sudo yum update -y。
另一个需要关注的是“冲突包”。如果你之前安装过MariaDB,或者尝试过其他方式安装MySQL,系统里可能存在一些与MySQL官方包冲突的文件或服务。我曾遇到过因为系统自带的MariaDB-libs包没有卸载干净,导致MySQL安装失败的情况。这时候,你需要手动清理它们:
sudo rpm -qa | grep -i mariadb # 检查MariaDB相关包 sudo yum remove mariadb-libs # 卸载可能冲突的库
如果之前有残留的MySQL安装,也需要类似清理。
当然,选择合适的MySQL版本也很重要。MySQL有多个版本分支(如5.7、8.0),每个版本都有其特点和适用场景。我通常会根据项目需求和官方支持周期来决定。比如,新项目我倾向于直接上8.0,因为它带来了很多性能和功能上的改进。
最后,别忘了检查磁盘空间。虽然MySQL本身安装包不大,但随着数据库的运行,数据文件会不断增长。确保你的
/var/lib/mysql(默认数据目录)所在分区有足够的空间,尤其是在生产环境中,这简直是常识。 Yum安装MySQL时如何选择特定版本并处理常见错误?
选择特定版本的MySQL,在Yum环境中确实需要一点技巧。如果你只是简单地
yum install mysql-community-server,Yum可能会安装仓库中标记为默认或最新的版本。但如果你的项目要求特定版本,比如非8.0的旧版本,你需要更精细的控制。
一种常见的方法是,在安装MySQL Yum仓库时,选择对应版本的RPM包。例如,如果你想安装5.7版本,你需要安装
mysql57-community-release-el7-1.noarch.rpm这样的包。
对于CentOS 8及更高版本,由于引入了模块流(Module Streams)的概念,选择版本变得更加明确。当你安装了最新的MySQL Yum仓库后,系统可能会默认启用某个模块流。你可以使用
yum module list mysql查看所有可用的MySQL模块流,然后通过
sudo yum module enable mysql:x.y来启用你需要的特定版本流,例如
mysql:5.7或
mysql:8.0。之后再执行
yum install mysql-community-server,就会安装你指定模块流的版本。
至于常见错误,我遇到最多的就是“依赖冲突”和“仓库问题”。 依赖冲突往往表现为Yum提示某些包无法安装,因为它与现有系统中的某些包冲突。这通常是前面提到的MariaDB或旧MySQL残留的问题。解决办法就是彻底清理冲突包。 仓库问题则可能是因为网络不通畅导致无法访问MySQL仓库,或者是仓库RPM安装不正确。你可以尝试清除Yum缓存
sudo yum clean all,然后重新尝试。如果还是不行,检查一下
dev.mysql.com是否可访问,或者检查
/etc/yum.repos.d/mysql-community.repo文件内容是否正确。
还有一种不那么常见但很烦人的情况是SELinux或防火墙问题。安装完成后,如果MySQL服务无法启动或远程连接失败,我通常会先检查
sudo systemctl status mysqld的输出,看看有没有权限相关的错误。如果提示是权限问题,可以考虑暂时禁用SELinux(
sudo setenforce 0)进行测试,或者为MySQL的数据目录配置正确的SELinux上下文。防火墙(firewalld)则需要确保3306端口是开放的。 MySQL安装完成后,如何进行基础配置与安全加固?
MySQL安装完成,服务也启动了,但这只是万里长征的第一步。如果不进行基础配置和安全加固,你的数据库就像敞开大门的金库,非常危险。
第一件事,也是最关键的一步,是运行
mysql_secure_installation脚本。这个脚本是MySQL官方提供的一个交互式工具,旨在帮助用户完成初始的安全设置。它会引导你设置root用户的密码(这是你第一次登录MySQL的凭证),删除匿名用户,禁止root用户远程登录,以及删除测试数据库。我个人认为,这是新装MySQL后必须做的第一件事,没有之一。
sudo mysql_secure_installation
在运行这个脚本时,它会要求你输入root用户的临时密码。这个密码通常在安装完成后,MySQL会自动生成并写入到错误日志中。你可以通过以下命令找到它:
sudo grep 'temporary password' /var/log/mysqld.log
拿到临时密码后,就可以继续
mysql_secure_installation了。
除了
mysql_secure_installation,还有一些基础配置我通常会调整。比如,编辑
/etc/my.cnf文件。
-
字符集设置: 确保数据库使用UTF-8,避免乱码问题。我通常会添加或修改以下行:
[mysqld] character_set_server=utf8mb4 collation_server=utf8mb4_unicode_ci [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
-
绑定地址: 默认情况下,MySQL可能只监听
127.0.0.1
,这意味着只能本机访问。如果你需要远程访问,需要将bind-address
改为服务器的IP地址或0.0.0.0
(表示监听所有可用网络接口)。但在生产环境中,我更倾向于将其绑定到特定的内部IP,并通过防火墙严格控制访问来源。bind-address = 0.0.0.0 # 或者你的服务器IP
修改
my.cnf
后,记得重启MySQL服务使配置生效:sudo systemctl restart mysqld
最后,别忘了配置防火墙。即使你设置了
bind-address
和mysql_secure_installation
,如果服务器的防火墙没有开放3306端口,外部仍然无法连接。sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
这些步骤下来,你的MySQL服务器才算真正具备了基本的可用性和安全性。当然,更高级的性能调优和安全策略还有很多,但这些基础工作是必不可少的。
以上就是Yum如何下载MySQL_使用Yum安装MySQL的详细步骤教程的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。