MySQL以其高性能、可靠性和易用性,成为Web应用程序和企业级应用数据存储的首选
本文将详细介绍如何在CentOS系统上使用RPM包管理器来安装和配置MySQL,确保每一步都清晰明了,帮助你轻松完成安装
一、准备工作 在开始安装之前,确保你的CentOS系统已经更新到最新版本,并且具备必要的网络连接以下载所需的RPM包
此外,由于MySQL与MariaDB可能存在冲突,需要先检查并卸载MariaDB
MariaDB是CentOS默认安装的数据库系统,但它与MySQL不兼容,因此必须卸载
1.检查MariaDB是否安装 打开终端,输入以下命令来检查MariaDB是否已安装: bash rpm -qa | grep mariadb 如果系统返回了MariaDB相关的包名,说明MariaDB已安装
2.卸载MariaDB 使用以下命令卸载MariaDB: bash rpm -e --nodeps【MariaDB包名】 将`【MariaDB包名】`替换为实际显示的包名
卸载完成后,再次运行检查命令以确保MariaDB已被完全移除
3.安装依赖包 MySQL的安装依赖于一些系统包,因此在安装MySQL之前,需要确保这些依赖包已经安装
使用`yum`命令安装必要的依赖: bash yum install libaio perl net-tools 根据提示输入`y`以确认安装
二、下载MySQL RPM包 MySQL的RPM包可以从MySQL官方网站或其他可信的镜像站点下载
以下是下载步骤: 1.访问MySQL官方网站 打开浏览器,访问【MySQL官方网站】(https://dev.mysql.com/downloads/)的下载页面
2.选择社区版下载 在下载页面,选择“MySQL Community Server”的下载选项
3.选择操作系统和版本 根据你的CentOS版本(如CentOS7或CentOS8),选择相应的操作系统和架构(如x86_64)
4.下载RPM包 找到所需版本的MySQL RPM包,点击“Download”按钮
如果你需要特定版本的MySQL(如5.7或8.0),可以通过“Archives”选项访问历史版本
5.复制下载链接 对于不能直接通过浏览器下载的情况,可以右击下载按钮,选择“复制链接地址”以获取RPM包的下载链接
6.使用wget命令下载 在CentOS终端中,使用`wget`命令下载RPM包
例如: bash wget【下载链接】 将`【下载链接】`替换为实际复制的链接
三、安装MySQL RPM包 下载完成后,开始安装MySQL的RPM包
安装过程可能涉及多个RPM包,包括common、libs、client、server等
以下是安装步骤: 1.解压RPM包(如果下载的是压缩包) 如果下载的是包含多个RPM包的压缩包(如tar.gz格式),需要先解压: bash tar -xvf【压缩包名】 将`【压缩包名】`替换为实际下载的压缩包名
解压后,你会看到多个RPM包文件
2.安装MySQL RPM包 按照依赖关系依次安装RPM包
通常的安装顺序是:common -> libs -> client -> server
使用`rpm`或`yum localinstall`命令安装
例如: bash rpm -ivh mysql-community-common-【版本号】.rpm rpm -ivh mysql-community-libs-【版本号】.rpm rpm -ivh mysql-community-client-【版本号】.rpm yum localinstall mysql-community-server-【版本号】.rpm 注意将`【版本号】`替换为实际下载的RPM包版本号
在安装server包时,`yum`命令会自动处理依赖关系并安装所需的额外包
3.启动MySQL服务 安装完成后,启动MySQL服务: bash systemctl start mysqld 或者使用较旧的`service`命令: bash service mysqld start 4.设置MySQL开机自启动 为了确保MySQL在系统启动时自动运行,使用以下命令设置开机自启动: bash systemctl enable mysqld 或者: bash chkconfig mysqld on 四、配置MySQL MySQL安装完成后,需要进行一些基本配置,包括设置root用户密码、修改配置文件等
1.获取临时密码 MySQL安装过程中会生成一个临时密码,记录在MySQL日志文件中
使用以下命令查找临时密码: bash grep temporary password /var/log/mysqld.log 复制显示的临时密码
2.登录MySQL 使用临时密码登录MySQL: bash mysql -u root -p 输入临时密码后按回车
3.修改root用户密码 登录后,使用以下命令修改root用户密码: sql ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 新密码; FLUSH PRIVILEGES; 将`新密码`替换为你希望设置的新密码
注意,MySQL8.0及以上版本默认使用`caching_sha2_password`作为认证插件,但出于兼容性考虑,这里使用`mysql_native_password`
4.修改配置文件 MySQL的配置文件通常位于`/etc/my.cnf`或`/etc/mysql/my.cnf`
根据需要修改配置文件中的参数
例如,可以修改数据目录、端口号、字符集等
修改配置文件前,建议备份原始文件
5.重启MySQL服务 修改配置文件后,需要重启MySQL服务以使更改生效: bash systemctl restart mysqld 或者: bash service mysqld restart 五、远程连接设置 如果你需要从远程计算机连接到MySQL数据库,需要进行一些额外的配置
1.修改MySQL用户权限 登录MySQL后,使用以下命令修改root用户的权限,允许其从任何主机连接: sql UPDATE mysql.user SET host=% WHERE user=root; FLUSH PRIVILEGES; 出于安全考虑,通常不建议在生产环境中这样做
更好的做法是为远程用户创建一个具有适当权限的新账户
2.防火墙设置 确保CentOS的防火墙允许MySQL的默认端口(3306)的入站连接
使用`firewalld`或`iptables`进行配置
例如,使用`firewalld`: bash firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 3.SELinux设置 SELinux(安全增强型Linux)是CentOS的安全模块,可能会阻止MySQL的远程连接
如果SELinux处于启用状态,需要为其配置允许MySQL的远程连接策略
这通常涉及修改SELinux的布尔值或创建自定义策略
然而,出于简化安装的考虑,本文不深入讨论SELinux的配置
六、常见问题排查 在安装和配置MySQL过程中,可能会遇到一些问题
以下是一些常见问题的排查方法: 1.服务无法启动 如果MySQL服务无法启动,检查MySQL日志文件(通常位于`/var/log/mysqld.log`)以获取错误信息
根据日志中的提示进行排查和修复
常见问题包括配置文件错误、权限问题等