MySQL,作为一款开源的关系型数据库管理系统,以其高性能、可靠性和易用性赢得了广泛的认可和应用
特别是对于使用 CentOS7 作为操作系统的用户来说,安装 MySQL RPM 包是一个高效且常见的选择
本文将详细介绍如何在 CentOS7 上安装 MySQL RPM 包,确保每一步都清晰明了,让您轻松搭建起 MySQL 数据库环境
一、准备工作 在开始安装之前,确保您的 CentOS7 系统已经更新到最新版本,并且拥有 root权限或具备使用 sudo权限的用户账户
此外,考虑到安全和稳定性,建议使用官方提供的 MySQL RPM 包进行安装
1.更新系统: 首先,确保您的系统软件包列表是最新的
打开终端,执行以下命令: bash sudo yum update -y 该命令将自动下载并安装所有可用的更新
2.添加 MySQL Yum 存储库: MySQL官方提供了一个 Yum 存储库,方便用户下载和安装 MySQL 软件包
为了添加这个存储库,您需要下载并安装 MySQL Yum 存储库的 RPM 包
访问【MySQL Yum Repository】(https://dev.mysql.com/downloads/repo/yum/) 页面,根据您的系统架构(x86_64 或 i386)下载对应的`.rpm` 包
例如,对于64 位系统,可以使用 wget 命令下载: bash wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm 下载完成后,安装该 RPM 包: bash sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm 此步骤将在您的系统中添加一个名为`mysql80-community` 的新 Yum 存储库
二、安装 MySQL 服务器 1.安装 MySQL 服务器软件包: 使用 Yum 包管理器安装 MySQL 服务器
执行以下命令: bash sudo yum install -y mysql-community-server Yum 将自动处理所有依赖关系,并下载、安装 MySQL 服务器及其所需的依赖软件包
2.启动 MySQL 服务: 安装完成后,启动 MySQL 服务,并设置其在系统启动时自动启动: bash sudo systemctl start mysqld sudo systemctl enable mysqld 3.获取临时 root 密码: MySQL5.7 及更高版本在安装过程中会自动生成一个临时 root 密码
为了找到这个密码,请查看 MySQL 服务器的日志文件
默认情况下,日志文件位于`/var/log/mysqld.log`
使用以下命令查找临时密码: bash sudo grep temporary password /var/log/mysqld.log 您将看到类似如下的输出,其中包含了临时密码: plaintext 2023-10-01T12:34:56.789012Z1【Note】 A temporary password is generated for root@localhost: A1b2C3d4e5 三、安全配置 MySQL 首次启动 MySQL 服务后,强烈建议运行`mysql_secure_installation` 脚本来进行安全配置
这包括更改 root 密码、删除匿名用户、禁止 root远程登录以及删除测试数据库等
1.运行安全配置脚本: bash sudo mysql_secure_installation 2.按照提示进行操作: - 输入临时 root 密码
- 设置新的 root 密码
请确保新密码符合复杂性要求
-移除匿名用户(Y/n)?选择 Y
-禁止 root远程登录(Y/n)?选择 Y
- 删除测试数据库和访问权限(Y/n)?选择 Y
- 重新加载权限表(Y/n)?选择 Y
四、连接到 MySQL 完成安全配置后,您可以使用新的 root 密码连接到 MySQL 服务器
1.连接到 MySQL: bash mysql -u root -p 2.输入密码: 提示输入密码时,输入您在`mysql_secure_installation` 中设置的新 root 密码
3.验证连接: 成功连接后,您将进入 MySQL命令行界面
输入以下命令验证连接: sql SELECT VERSION(); 这将返回当前安装的 MySQL 版本信息
五、常见问题解决 在安装和配置 MySQL 过程中,可能会遇到一些常见问题
以下是一些解决方案: 1.防火墙设置: 如果您的服务器启用了防火墙,确保 MySQL 默认端口(3306)是开放的
使用`firewalld` 命令配置防火墙规则: bash sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload 2.SELinux 配置: SELinux(安全增强型 Linux)可能会阻止 MySQL正常运行
如果遇到访问被拒绝的问题,可以尝试临时关闭 SELinux(不推荐作为长期解决方案): bash sudo setenforce0 或者,更好的做法是调整 SELinux 策略以允许 MySQL访问所需的资源
3.字符集和排序规则: 根据需要,您可能希望配置 MySQL 使用特定的字符集和排序规则
这可以在 MySQL配置文件`/etc/my.cnf` 中设置