Loading... # 通过DNF工具安装MySQL 8.0教程 📖 ## 一、引言 🌟 **MySQL**是当前最受欢迎的**关系型数据库管理系统**之一,被广泛应用于各类应用程序的数据存储和管理。为了在**Linux**系统上高效地安装和管理MySQL,**DNF(Dandified YUM)**工具提供了简洁方便的解决方案。本文将详细介绍如何使用DNF工具在Linux系统上安装**MySQL 8.0**。 ## 二、前置准备 🛠️ ### 1. **检查系统环境** 在开始安装之前,首先需要确认您的系统支持**DNF**工具。DNF通常在以下Linux发行版中可用: - **CentOS 8**及以上版本 - **Fedora 22**及以上版本 - **RHEL 8**及以上版本 ### 2. **更新系统** 在安装之前,建议先更新系统软件包以确保安装过程顺利进行。 ```bash sudo dnf update -y ``` **解释**:`sudo`以超级用户权限执行命令,`dnf update -y`用于更新系统中的所有软件包,`-y`参数表示自动回答"yes"。 ## 三、安装MySQL 8.0 📦 ### 1. **检查默认仓库中的MySQL版本** 在某些Linux发行版中,MySQL 8.0可能已经包含在默认的DNF仓库中。可以通过以下命令检查: ```bash dnf module list mysql ``` **解释**:该命令列出可用的MySQL模块,显示系统中可安装的MySQL版本。 ### 2. **启用MySQL 8.0模块** 如果默认模块中包含MySQL 8.0,可以直接启用: ```bash sudo dnf module enable mysql:8.0 -y ``` **解释**:`dnf module enable`用于启用指定版本的模块,这里指定启用 `mysql:8.0`模块。 ### 3. **安装MySQL服务器** 启用模块后,安装MySQL服务器: ```bash sudo dnf install mysql-server -y ``` **解释**:`dnf install mysql-server`命令用于安装MySQL服务器软件包。 ### 4. **启动并设置MySQL服务** #### 启动MySQL服务 ```bash sudo systemctl start mysqld ``` **解释**:`systemctl start mysqld`命令用于启动MySQL服务。 #### 设置MySQL服务开机自启 ```bash sudo systemctl enable mysqld ``` **解释**:`systemctl enable mysqld`命令设置MySQL服务在系统启动时自动运行。 #### 检查MySQL服务状态 ```bash sudo systemctl status mysqld ``` **解释**:该命令用于查看MySQL服务的当前运行状态,确保其已成功启动。 ## 四、配置MySQL安全性 🔐 ### 1. **运行安全配置向导** ```bash sudo mysql_secure_installation ``` **解释**:此命令启动MySQL的安全安装向导,帮助您配置安全选项,如设置root密码、移除匿名用户等。 ### 2. **配置步骤说明** 在运行 `mysql_secure_installation`后,系统将提示您进行一系列配置: - **设置root密码**:建议设置一个**强密码**,以保证数据库安全。 - **移除匿名用户**:防止匿名用户连接数据库。 - **禁止远程root登录**:增加安全性,防止root用户被远程攻击。 - **移除测试数据库**:删除默认的测试数据库,减少潜在的安全风险。 - **重新加载权限表**:使以上更改立即生效。 ### 3. **示例操作流程** ```plaintext Enter password for user root: <按Enter键> New password: <输入新密码> Re-enter new password: <再次输入新密码> Change the password for root ? ((Press y|Y for Yes, any other key for No) : y ... ``` **解释**:按照提示输入相应的信息,完成安全配置。 ## 五、测试MySQL安装 📝 ### 1. **登录MySQL** ```bash mysql -u root -p ``` **解释**:`mysql -u root -p`命令以root用户登录MySQL,会提示输入密码。 ### 2. **查看MySQL版本** 在MySQL命令行中,输入: ```sql SELECT VERSION(); ``` **解释**:该SQL语句用于查询当前安装的MySQL版本,应显示为**8.0**系列。 ### 3. **退出MySQL** ```sql EXIT; ``` **解释**:退出MySQL命令行界面。 ## 六、安装流程图解 🖼️ ```mermaid graph TD A[开始] --> B[更新系统软件包] B --> C{检查MySQL模块} C -- 存在8.0版本 --> D[启用MySQL 8.0模块] C -- 不存在8.0版本 --> E[添加MySQL仓库] D --> F[安装MySQL服务器] E --> F F --> G[启动并设置MySQL服务] G --> H[运行安全配置向导] H --> I[测试MySQL安装] I --> J[完成] ``` **解释**:以上流程图展示了通过DNF工具安装MySQL 8.0的主要步骤。 ## 七、可能遇到的问题及解决方案 🛠️ ### 1. **MySQL模块不可用** **问题描述**:在执行 `dnf module list mysql`时,没有显示MySQL 8.0模块。 **解决方案**:需要手动添加MySQL官方仓库。 #### 添加MySQL官方仓库 ```bash sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm ``` **解释**:该命令从MySQL官方获取并安装仓库配置包。 ### 2. **防火墙阻止外部访问** **问题描述**:无法从远程连接MySQL数据库。 **解决方案**:配置防火墙,开放3306端口。 #### 开放端口命令 ```bash sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp sudo firewall-cmd --reload ``` **解释**:第一条命令在防火墙中永久开放3306端口,第二条命令重新加载防火墙配置使更改生效。 ## 八、重要配置文件及参数 📄 ### 1. **MySQL配置文件** 默认情况下,MySQL的配置文件位于 `/etc/my.cnf`。 #### 查看配置文件 ```bash cat /etc/my.cnf ``` **解释**:`cat`命令用于查看配置文件的内容。 ### 2. **修改字符集** 为了避免乱码问题,可以将默认字符集设置为 `utf8mb4`。 #### 修改配置文件 在 `[mysqld]`下添加: ```ini character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci ``` **解释**:这两行设置服务器的默认字符集和排序规则。 #### 重启MySQL服务 ```bash sudo systemctl restart mysqld ``` **解释**:重启MySQL服务使配置更改生效。 ## 九、创建新用户并授权 👤 ### 1. **创建用户** ```sql CREATE USER 'username'@'%' IDENTIFIED BY 'password'; ``` **解释**:创建一个名为 `username`的用户,`'%'`表示允许从任何主机连接,`'password'`是用户密码。 ### 2. **授予权限** ```sql GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION; ``` **解释**:授予 `username`用户对所有数据库和表的所有权限,`WITH GRANT OPTION`允许该用户授予权限给其他用户。 ### 3. **刷新权限** ```sql FLUSH PRIVILEGES; ``` **解释**:刷新权限表,使权限更改立即生效。 ## 十、MySQL基本操作命令总结 📝 | 命令 | 功能描述 | | ------------------------------------------------ | --------------------- | | `sudo dnf update -y` | 更新系统软件包 | | `sudo dnf install mysql-server -y` | 安装MySQL服务器 | | `sudo systemctl start mysqld` | 启动MySQL服务 | | `sudo systemctl enable mysqld` | 设置MySQL服务开机自启 | | `sudo mysql_secure_installation` | 运行MySQL安全配置向导 | | `mysql -u root -p` | 登录MySQL数据库 | | `CREATE USER 'user'@'%' IDENTIFIED BY 'pass';` | 创建新用户 | | `GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';` | 授予用户权限 | | `FLUSH PRIVILEGES;` | 刷新权限表 | ## 十一、注意事项 ⚠️ - **定期备份数据**:养成定期备份数据库的习惯,防止数据丢失。 - **安全设置**:避免使用弱密码,定期更改密码,确保数据库安全。 - **监控性能**:使用工具监控数据库性能,及时优化。 ## 十二、总结 🏁 通过以上步骤,您已经成功使用**DNF工具**在Linux系统上安装了**MySQL 8.0**。这种安装方式简洁高效,方便管理和维护。在实际应用中,务必注意安全配置和性能优化,以确保数据库的稳定运行。 --- 希望本教程对您有所帮助,祝您在学习和工作中取得成功!🎉 最后修改:2024 年 10 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏