前言
本教程将详细介绍在 CentOS 7 系统上通过 RPM 包安装 MySQL 5.7 服务器,并进行基本配置,最后实现通过 Navicat 远程连接 MySQL 数据库的全过程。适用于需要在 Linux 服务器上部署 MySQL 并需要图形化管理工具的开发者和运维人员。
环境准备
-
CentOS 7 操作系统(已配置网络连接)
-
具有 sudo 权限的用户
-
MySQL 5.7 RPM 包(mysql57-community-release-el7-11.noarch.rpm)
-
Navicat for MySQL(Windows/Mac 版本)
第一部分:安装 MySQL 5.7
1. 下载 MySQL RPM 包
首先,我们需要下载 MySQL 的 YUM 仓库安装包:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
如果服务器无法直接访问外网,可以本地下载后上传到服务器。
2. 安装 MySQL YUM 仓库
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
这个命令会将 MySQL 的 YUM 仓库添加到系统中。
3. 安装 MySQL 服务器
sudo yum install mysql-community-server
这个命令会安装 MySQL 服务器及其所有依赖项。
4. 启动 MySQL 服务
sudo systemctl start mysqld
设置 MySQL 开机自启:
sudo systemctl enable mysqld
检查 MySQL 服务状态:
sudo systemctl status mysqld
第二部分:MySQL 初始配置
1. 获取临时密码
MySQL 5.7 在首次安装后会生成一个临时 root 密码,可以通过以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
输出类似:
2023-01-01T00:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: Abcdefg123!
记下这个临时密码(上面示例中的 Abcdefg123!)。
2. 安全配置 MySQL
运行安全脚本:
sudo mysql_secure_installation
按照提示操作:
-
输入临时密码
-
设置新密码(MySQL 5.7 要求强密码:至少8位,包含大小写字母、数字和特殊字符)
-
移除匿名用户(输入 Y)
-
禁止 root 远程登录(根据需求选择,建议 Y)
-
移除测试数据库(输入 Y)
-
立即重载权限表(输入 Y)
3. 登录 MySQL
mysql -u root -p
输入你设置的新密码。
第三部分:配置远程访问
1. 创建用于远程连接的用户
在 MySQL shell 中执行:
CREATE USER 'navicat_user'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'navicat_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
注意:将 StrongPassword123! 替换为你自己的强密码。
2. 配置防火墙
如果服务器启用了防火墙,需要开放 MySQL 默认端口 3306:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
3. 修改 MySQL 绑定地址
编辑 MySQL 配置文件:
sudo vi /etc/my.cnf
在 [mysqld] 部分添加或修改:
bind-address = 0.0.0.0
保存后重启 MySQL:
sudo systemctl restart mysqld
第四部分:使用 Navicat 连接 MySQL
1. 打开 Navicat
启动 Navicat for MySQL 应用程序。
2. 创建新连接
-
点击 "连接" -> "MySQL"
-
在弹出的对话框中填写连接信息:
-
连接名:自定义名称(如"My CentOS7 MySQL")
-
主机名或IP地址:你的 CentOS 7 服务器 IP
-
端口:3306
-
用户名:navicat_user(之前创建的用户)
-
密码:StrongPassword123!(你设置的密码)
-
-
点击"测试连接"验证配置是否正确
-
点击"确定"保存连接
3. 使用 Navicat 管理数据库
连接成功后,你可以:
-
创建/管理数据库
-
设计表结构
-
导入/导出数据
-
执行 SQL 查询
-
管理用户权限等
常见问题解决
1. 连接被拒绝
-
检查 MySQL 是否正在运行:
sudo systemctl status mysqld -
检查防火墙设置:
sudo firewall-cmd --list-all -
确认 MySQL 用户有远程访问权限
-
检查
bind-address配置是否为0.0.0.0
2. 忘记 root 密码
-
停止 MySQL 服务:
sudo systemctl stop mysqld -
编辑配置文件:
sudo vi /etc/my.cnf -
在
[mysqld]部分添加:skip-grant-tables -
保存并重启 MySQL:
sudo systemctl start mysqld -
无密码登录:
mysql -u root -
更新密码:
USE mysql; UPDATE user SET authentication_string=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES; -
移除
skip-grant-tables并重启 MySQL
3. 密码策略问题
如果遇到密码策略错误,可以临时降低策略等级:
SET GLOBAL validate_password_policy=LOW;
然后设置简单密码(仅测试环境推荐)。
总结
通过以上步骤,我们成功在 CentOS 7 上安装了 MySQL 5.7 服务器,并配置了远程访问权限,最后使用 Navicat 实现了图形化管理。这种组合既利用了 Linux 服务器的稳定性,又通过图形化工具提高了数据库管理的效率。
对于生产环境,建议进一步加强安全措施,如限制访问 IP、定期备份数据、监控数据库性能等。
希望本教程对你有所帮助!如有任何问题,欢迎在评论区留言讨论。




被折叠的 条评论
为什么被折叠?



