CentOS 7 安装 MySQL 5.7 并连接 Navicat 详细教程

前言

本教程将详细介绍在 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

按照提示操作:

  1. 输入临时密码

  2. 设置新密码(MySQL 5.7 要求强密码:至少8位,包含大小写字母、数字和特殊字符)

  3. 移除匿名用户(输入 Y)

  4. 禁止 root 远程登录(根据需求选择,建议 Y)

  5. 移除测试数据库(输入 Y)

  6. 立即重载权限表(输入 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. 创建新连接

  1. 点击 "连接" -> "MySQL"

  2. 在弹出的对话框中填写连接信息:

    • 连接名:自定义名称(如"My CentOS7 MySQL")

    • 主机名或IP地址:你的 CentOS 7 服务器 IP

    • 端口:3306

    • 用户名:navicat_user(之前创建的用户)

    • 密码:StrongPassword123!(你设置的密码)

  3. 点击"测试连接"验证配置是否正确

  4. 点击"确定"保存连接

3. 使用 Navicat 管理数据库

连接成功后,你可以:

  • 创建/管理数据库

  • 设计表结构

  • 导入/导出数据

  • 执行 SQL 查询

  • 管理用户权限等

常见问题解决

1. 连接被拒绝

  • 检查 MySQL 是否正在运行:sudo systemctl status mysqld

  • 检查防火墙设置:sudo firewall-cmd --list-all

  • 确认 MySQL 用户有远程访问权限

  • 检查 bind-address 配置是否为 0.0.0.0

2. 忘记 root 密码

  1. 停止 MySQL 服务:sudo systemctl stop mysqld

  2. 编辑配置文件:sudo vi /etc/my.cnf

  3. 在 [mysqld] 部分添加:skip-grant-tables

  4. 保存并重启 MySQL:sudo systemctl start mysqld

  5. 无密码登录:mysql -u root

  6. 更新密码:

    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
    FLUSH PRIVILEGES;

  7. 移除 skip-grant-tables 并重启 MySQL

3. 密码策略问题

如果遇到密码策略错误,可以临时降低策略等级:

SET GLOBAL validate_password_policy=LOW;

然后设置简单密码(仅测试环境推荐)。

总结

通过以上步骤,我们成功在 CentOS 7 上安装了 MySQL 5.7 服务器,并配置了远程访问权限,最后使用 Navicat 实现了图形化管理。这种组合既利用了 Linux 服务器的稳定性,又通过图形化工具提高了数据库管理的效率。

对于生产环境,建议进一步加强安全措施,如限制访问 IP、定期备份数据、监控数据库性能等。

希望本教程对你有所帮助!如有任何问题,欢迎在评论区留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值