本文将详细介绍如何在 CentOS7 上本地安装 MySQL,并确保其正常运行
通过本文,你将掌握从下载软件包、安装 MySQL 到配置和启动服务的全过程
一、准备工作 在开始安装 MySQL 之前,确保你的 CentOS7 系统已经更新到最新版本,并且你有管理员权限(root权限)来执行相关命令
1.更新系统 首先,确保你的系统软件包是最新的
打开终端并运行以下命令: bash sudo yum update -y 2.添加 MySQL Yum Repository CentOS7 的默认仓库中并没有 MySQL 的最新版本,因此我们需要添加 MySQL官方的 Yum Repository
这样可以确保我们安装的是最新、最稳定的 MySQL 版本
首先,下载 MySQL Yum Repository 的 RPM 包: bash sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 然后,安装下载的 RPM 包: bash sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm -y 安装完成后,你可以通过以下命令查看添加的仓库: bash sudo yum repolist enabled | grep mysql.-community. 这个命令会显示当前启用的 MySQL仓库
默认情况下,MySQL8.0 社区版仓库是启用的
如果你需要使用 MySQL5.7 或其他版本,可以通过禁用和启用相应的仓库来调整
二、安装 MySQL 现在,你可以开始安装 MySQL 服务器了
1.安装 MySQL 服务器 运行以下命令来安装 MySQL 服务器: bash sudo yum install mysql-community-server -y 这个命令会下载并安装 MySQL 服务器及其相关依赖
2.启动 MySQL 服务 安装完成后,启动 MySQL 服务: bash sudo systemctl start mysqld 3.设置 MySQL 服务开机自启 为了确保 MySQL 在系统启动时自动启动,运行以下命令: bash sudo systemctl enable mysqld 4.获取临时 root 密码 MySQL 安装完成后,会在`/var/log/mysqld.log`文件中生成一个临时 root 密码
你可以通过以下命令找到这个密码: 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 后,强烈建议你运行`mysql_secure_installation` 脚本来进行安全配置
1.登录 MySQL 使用临时 root 密码登录 MySQL: bash mysql -u root -p 系统会提示你输入密码,输入之前获取的临时密码
2.运行安全配置脚本 登录后,运行以下命令开始安全配置: sql mysql_secure_installation 这个脚本会引导你完成一系列安全配置步骤: -更改 root 密码:要求你输入新的 root 密码并确认
-移除匿名用户:询问是否移除测试数据库中的匿名用户
建议选择 Y
-禁止 root 远程登录:询问是否禁止 root 用户远程登录
建议选择 Y
-删除测试数据库:询问是否删除测试数据库
建议选择 Y
-重新加载权限表:这个步骤会自动执行,无需输入
完成这些步骤后,你的 MySQL 安装将更加安全
四、基本配置和管理 安装和安全配置完成后,你可以开始使用 MySQL 了
以下是一些基本配置和管理命令
1.登录 MySQL 使用新的 root 密码登录 MySQL: bash mysql -u root -p 2.创建数据库和用户 登录后,你可以创建新的数据库和用户
例如,创建一个名为`testdb` 的数据库和一个名为`testuser` 的用户,并授予该用户对数据库的完全访问权限: sql CREATE DATABASE testdb; CREATE USER testuser@localhost IDENTIFIED BY yourpassword; GRANT ALL PRIVILEGES ON testdb. TO testuser@localhost; FLUSH PRIVILEGES; 3.退出 MySQL 完成操作后,你可以通过输入`exit` 或按`Ctrl+D`退出 MySQL: sql exit; 4.管理 MySQL 服务 你可以使用`systemctl` 命令来管理 MySQL 服务
例如,停止服务: bash sudo systemctl stop mysqld 重启服务: bash sudo systemctl restart mysqld 查看服务状态: bash sudo systemctl status mysqld 五、防火墙配置 如果你的 CentOS7 系统启用了防火墙(通常是`firewalld`),你需要开放 MySQL 的默认端口(3306)以允许远程连接
1.开放端口 运行以下命令来开放3306端口: bash sudo firewall-cmd --permanent --add-port=3306/tcp 2.重新加载防火墙配置 然后,重新加载防火墙配置以使更改生效: bash sudo firewall-cmd --reload 3.检查开放的端口 你可以通过以下命令检查是否成功开放了3306端口: bash sudo firewall-cmd --list-ports 输出应该包含`3306/tcp`
六、备份和恢复 数据备份和恢复是数据库管理的重要部分
MySQL提供了多种备份和恢复方法,其中最常用的是`mysqldump` 工具
1.备份数据库 使用`mysqldump` 工具备份数据库
例如,备份`testdb` 数据库: bash mysqldump -u root -p testdb > testdb_backup.sql 系统会提示你输入 root 密码
2