本教程详细介绍了如何在CentOS系统上安装和配置最新版本的MySQL 8.X数据库服务器,适合初学者和有经验的技术人员参考。
在本教程中,我们将详细介绍如何在CentOS 7.6系统上安装MySQL 8.0.17。确保你的系统已经更新到最新版本,然后按照以下步骤进行操作:
1. **卸载旧版MySQL及相关组件**:
在安装新版本MySQL之前,需要移除系统中可能存在的旧版MySQL或MariaDB。使用`rpm -qa | grep mysql`和`rpm -qa | grep mariadb`命令列出相关包,并用`rm -rf`命令删除它们。同时,通过`find / -name mysql* -o -name mariadb*` 命令查找并删除与MySQL和MariaDB相关的文件夹。
2. **备份并替换YUM源**:
为了获取最新且稳定版本的MySQL,你需要备份默认的CentOS YUM源,然后将其替换为阿里云或网易的YUM源。执行`mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup` 备份原有源文件,并下载新的 CentOS-7.repo 文件到 `/etc/yum.repos.d/` 目录下。
3. **清理YUM缓存**:
运行 `yum clean all` 清理 YUM 缓存,接着使用 `yum makecache fast` 创建新的缓存。
4. **检查MySQL软件包**:
使用命令 `yum repolist | grep mysql` 查看可用的 MySQL 软件包列表。
5. **启用所需版本**:
通过执行 `yum-config-manager --enable mysql80-community` 启用 MySQL 8.0 社区版。
6. **安装MySQL**:
执行命令 `yum install mysql-community-server.x86_64` 安装 MySQL 服务器软件包。
7. **管理MySQL服务**:
使用 `systemctl` 命令来启动、停止或重启 MySQL 服务,例如:启动使用 `systemctl start mysqld.service`,停止使用 `systemctl stop mysqld.service` ,重启使用 `systemctl restart mysqld.service`。
8. **获取初始密码**:
查看 `/var/log/mysqld.log` 日志文件以找到 MySQL 初始安装时生成的临时密码。
9. **登录MySQL**:
使用命令 `mysql -uroot -p` 登录 MySQL,输入之前获得的临时密码。建议在首次登录后立即修改此初始密码。
10. **修改root用户密码**:
登录后切换到 `mysql` 数据库,并使用如下 SQL 语句更改 root 用户的密码:`ALTER USER root@localhost IDENTIFIED BY NewPassword!;`
11. **配置远程访问权限**:
若要允许从其他机器上通过网络连接 MySQL,需要更新用户权限。运行命令 `UPDATE mysql.user SET Host=% WHERE User=root AND Host=localhost;`。
12. **刷新MySQL的权限设置**:
使用 SQL 命令 `FLUSH PRIVILEGES;` 刷新 MySQL 的权限配置以使更改生效。
13. **创建新用户并赋予权限**:
创建新的数据库用户,例如使用命令:`CREATE USER newuser@% IDENTIFIED BY password;`
接着为该用户提供适当的访问权限。例如: `GRANT SELECT, UPDATE ON dbname.* TO newuser@%;`
14. **备份与恢复MySQL数据**:
使用 `mysqldump` 工具进行数据库的备份和恢复操作,如:全库备份使用命令:`mysqldump -u root db_name > backup.sql`, 只导出表结构而不包含实际的数据: `mysqldump -d --no-data dbname table_name > dump.sql`.
完成以上步骤后,你将在 CentOS 7.6 系统上成功安装并配置了 MySQL 8.0.17。确保定期备份数据库以防止数据丢失,并根据需要调整用户权限和访问策略来保持系统的安全性。