CentOS7安装MySQL 8.4 + Navicat远程连接新手教程
一、环境准备
在开始安装之前,请确保您的CentOS 7系统满足以下条件:
已通过root权限登录系统
系统已更新到最新版本
网络连接正常,能够访问互联网
二、卸载系统自带数据库
CentOS 7默认安装了MariaDB,它与MySQL存在冲突,需要先卸载。
yum remove mariadb* -y
执行上述命令后,系统会提示确认卸载,输入y并回车即可。
三、下载MySQL 8.4 YUM源
从MySQL官方网站下载适用于CentOS 7的MySQL 8.4 YUM源。
wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
如果wget命令未找到,可以使用以下命令安装:
yum install wget -y
四、安装MySQL 8.4 YUM源
安装下载好的YUM源。
rpm -ivh mysql84-community-release-el7-1.noarch.rpm
五、安装MySQL 8.4服务器
使用YUM命令安装MySQL 8.4服务器。
yum install mysql-community-server -y
此过程可能需要一些时间,取决于您的网络速度和系统性能。
六、启动MySQL服务并设置开机自启
安装完成后,启动MySQL服务并设置为开机自启。
systemctl start mysqld systemctl enable mysqld
您可以使用以下命令检查MySQL服务的运行状态:
systemctl status mysqld
七、获取初始密码
MySQL 8.4安装完成后,会自动生成一个初始密码。您可以通过以下命令查看:
grep 'temporary password' /var/log/mysqld.log
输出结果类似如下:
2023-10-01T12:34:56.789012Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abc123!@#
其中,Abc123!@#就是初始密码。
八、修改初始密码
使用初始密码登录MySQL,并修改密码。
mysql -u root -p
输入初始密码后,进入MySQL命令行。然后执行以下命令修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
注意:新密码必须符合MySQL 8.4的密码策略要求,通常包含大小写字母、数字和特殊字符,长度不少于8位。
修改完成后,退出MySQL命令行:
exit;
九、配置MySQL允许远程连接
默认情况下,MySQL只允许本地连接。要允许远程连接,需要进行以下配置。
9.1 修改MySQL配置文件
编辑MySQL配置文件/etc/my.cnf,在[mysqld]部分添加以下内容:
vim /etc/my.cnf
在文件中添加:
bind-address = 0.0.0.0
保存并退出编辑器。
9.2 重启MySQL服务
使配置生效,重启MySQL服务。
systemctl restart mysqld
9.3 授权远程访问
再次登录MySQL,授权root用户可以从任何IP地址远程访问。
mysql -u root -p
输入密码后,执行以下SQL语句:
CREATE USER 'root'@'%' IDENTIFIED BY 'NewPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
注意:这里的NewPassword123!应与您之前设置的密码一致。
执行完成后,退出MySQL命令行:
exit;
十、配置防火墙
如果您的CentOS 7系统开启了防火墙,需要开放MySQL的3306端口。
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload
如果您使用的是iptables防火墙,可以使用以下命令:
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT service iptables save
十一、使用Navicat远程连接MySQL
11.1 打开Navicat
启动Navicat软件,点击左上角的"连接"按钮,选择"MySQL"。
11.2 配置连接信息
在弹出的"MySQL - 新建连接"对话框中,填写以下信息:
连接名:任意名称,如"CentOS7 MySQL"
主机:您的CentOS 7服务器的IP地址
端口:3306
用户名:root
密码:您设置的MySQL root密码
11.3 测试连接
填写完信息后,点击"测试连接"按钮。如果一切正常,会弹出"连接成功"的提示框。
11.4 保存连接
点击"确定"按钮保存连接。现在,您可以在Navicat中管理您的MySQL数据库了。
十二、常见问题及解决方法
12.1 Navicat连接报错:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded
这是因为MySQL 8.0及以上版本默认使用了新的身份验证插件caching_sha2_password,而Navicat旧版本可能不支持该插件。
解决方法:
登录MySQL:mysql -u root -p
执行以下SQL语句,将root用户的身份验证插件修改为mysql_native_password:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'NewPassword123!'; FLUSH PRIVILEGES;
重新尝试连接。
12.2 忘记MySQL root密码
解决方法:
停止MySQL服务:systemctl stop mysqld
以跳过授权表的方式启动MySQL:mysqld_safe --skip-grant-tables &
无密码登录MySQL:mysql -u root
切换到mysql数据库:use mysql;
修改root密码:
UPDATE user SET authentication_string=PASSWORD('NewPassword123!') WHERE User='root';
FLUSH PRIVILEGES;退出MySQL:exit;
停止mysqld_safe进程:killall mysqld_safe
启动MySQL服务:systemctl start mysqld
使用新密码登录MySQL。
十三、总结
通过以上步骤,您已经成功在CentOS 7上安装了MySQL 8.4,并使用Navicat实现了远程连接。在使用过程中,请注意保护好您的数据库密码,定期备份数据,以确保数据安全。如果遇到其他问题,可以参考MySQL官方文档或相关技术论坛寻求帮助。