查看: 66|回覆: 0

CentOS7安装MySQL 8.4 + Navicat远程连接新手教程

[複製鏈接]

5

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-3
發表於 2025-12-23 09:50:48 | 顯示全部樓層 |閲讀模式

一、前置准备:配置阿里云镜像源

1.1 下载并替换为阿里云镜像源

使用wget命令下载阿里云CentOS 7专属镜像源配置文件,覆盖原有文件:

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.2 刷新yum缓存(使镜像源生效)

镜像源配置完成后,需清理旧缓存并生成新缓存,确保yum能识别新源:

sudo yum clean all && sudo yum makecache

二、MySQL 服务器安装步骤

2.1 下载MySQL YUM配置包

从MySQL官方获取适用于CentOS 7的YUM配置包,该包会生成MySQL专属的repo源文件:

sudo wget https://dev.mysql.com/get/mysql84-community-release-el7-2.noarch.rpm

2.2 安装YUM配置包

通过yum本地安装刚下载的配置包,安装后会在/etc/yum.repos.d/目录下生成MySQL相关的repo文件:

sudo yum localinstall mysql84-community-release-el7-2.noarch.rpm -y

2.3 验证MySQL repo配置有效性

执行以下命令查看已启用的repo源,确认MySQL相关源已生效:

yum repolist enabled | grep "mysql"

正常输出会显示mysql等相关条目,表明配置生效。

2.4 安装MySQL服务器

使用yum安装MySQL社区版服务器,-y参数用于自动确认所有安装提示,无需手动交互:

sudo yum install mysql-community-server -y

三、MySQL 服务基础管理

3.1 启动MySQL服务

安装完成后,执行以下命令启动mysqld服务:

sudo systemctl start mysqld

3.2 查看服务运行状态

确认服务是否正常启动,正常状态会显示“active (running)”:

sudo systemctl status mysqld

若启动失败,可通过以下命令查看日志排查原因:sudo journalctl -u mysqld

3.3 设置开机自启

CentOS 7默认不会将MySQL设置为开机自启,需手动配置,确保服务器重启后服务自动运行:

sudo systemctl enable mysqld

四、MySQL 初始化配置

4.1 提取临时root密码

MySQL 8.4+安装后会自动为root用户生成临时密码,存储在日志文件中,执行以下命令提取:

sudo grep 'temporary password' /var/log/mysqld.log

输出示例:2025-12-03T08:00:00.123456Z 6 [Note] A temporary password is generated for root@localhost: AbC123!@#,复制“: ”后的字符串(即临时密码)备用。

4.2 使用临时密码登录MySQL

执行以下命令登录MySQL命令行,输入临时密码时不显示明文,粘贴后回车即可:

mysql -u root -p

4.3 修改root用户密码

MySQL 8.4+强制要求密码复杂度(大小写字母+数字+特殊字符,长度≥8位),执行以下SQL语句修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; -- 替换为自定义密码

示例密码:MySQLRoot@123,若提示“密码不满足复杂度要求”,需调整密码后重新执行。

4.4 配置root远程访问(可选操作)

默认root仅允许本地登录,若需远程管理(如通过Navicat连接),执行以下SQL配置(生产环境建议限制指定IP):

-- 创建允许远程访问的root用户(%表示所有IP,可替换为具体IP如192.168.1.100)
CREATE USER 'root'@'%' IDENTIFIED BY '你的新密码';
-- 赋予远程用户所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 刷新权限使配置生效
FLUSH PRIVILEGES;
-- 退出MySQL命令行
EXIT;

4.5 开放防火墙3306端口(远程访问必备-可选操作)

CentOS 7默认防火墙会拦截3306端口,需开放端口并重新加载防火墙规则:

# 永久开放3306端口
sudo firewall-cmd --permanent --add-port=3306/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
# 验证端口是否开放成功(输出yes表示成功)
sudo firewall-cmd --query-port=3306/tcp

五、安装验证与基础操作

5.1 本地登录验证

使用修改后的新密码重新登录,确认登录成功:

mysql -u root -p

5.2 查看MySQL版本

登录后执行以下SQL语句,确认安装的MySQL版本:

SELECT VERSION();

5.3 获取服务器IP地址

在CentOS 7 终端中执行如下操作获取IP地址:

5.4 远程连接验证(可选)

在远程机器上通过MySQL客户端(如Navicat、DBeaver)连接:

  • 主机:服务器IP地址

  • 端口:3306

  • 用户名:root

  • 密码:修改后的新密码

连接成功即表示远程访问配置生效。

六、常见问题排查

6.1 临时密码找不到

若执行提取临时密码的命令无输出,可尝试以下方法:

# 方法1:扩大日志搜索范围
sudo cat /var/log/mysqld.log | grep 'password'
# 方法2:重新初始化MySQL(谨慎操作,会清空数据)
sudo systemctl stop mysqld
sudo rm -rf /var/lib/mysql
sudo systemctl start mysqld
# 重新提取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

6.2 服务启动失败

通过日志查看失败原因:

sudo journalctl -u mysqld

常见原因及解决:

  • 端口被占用:执行sudo netstat -tulpn | grep 3306查看占用进程,停止占用进程或修改MySQL端口。

  • 数据目录权限异常:执行sudo chown -R mysql:mysql /var/lib/mysql修复权限。

6.3 密码修改失败

确保密码满足“大小写字母+数字+特殊字符,长度≥8位”的复杂度要求,若需临时降低复杂度(仅测试环境),可修改配置文件后重启服务。

总结

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部