CentOS7安装MySQL 8.4 + Navicat远程连接新手教程
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">一、前置准备:配置阿里云镜像源</a></li><ul class="second_class_ul"><li><a href="#_lab2_0_0">1.1 下载并替换为阿里云镜像源</a></li><li><a href="#_lab2_0_1">1.2 刷新yum缓存(使镜像源生效)</a></li></ul><li><a href="#_label1">二、MySQL 服务器安装步骤</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_2">2.1 下载MySQL YUM配置包</a></li><li><a href="#_lab2_1_3">2.2 安装YUM配置包</a></li><li><a href="#_lab2_1_4">2.3 验证MySQL repo配置有效性</a></li><li><a href="#_lab2_1_5">2.4 安装MySQL服务器</a></li></ul><li><a href="#_label2">三、MySQL 服务基础管理</a></li><ul class="second_class_ul"><li><a href="#_lab2_2_6">3.1 启动MySQL服务</a></li><li><a href="#_lab2_2_7">3.2 查看服务运行状态</a></li><li><a href="#_lab2_2_8">3.3 设置开机自启</a></li></ul><li><a href="#_label3">四、MySQL 初始化配置</a></li><ul class="second_class_ul"><li><a href="#_lab2_3_9">4.1 提取临时root密码</a></li><li><a href="#_lab2_3_10">4.2 使用临时密码登录MySQL</a></li><li><a href="#_lab2_3_11">4.3 修改root用户密码</a></li><li><a href="#_lab2_3_12">4.4 配置root远程访问(可选操作)</a></li><li><a href="#_lab2_3_13">4.5 开放防火墙3306端口(远程访问必备-可选操作)</a></li></ul><li><a href="#_label4">五、安装验证与基础操作</a></li><ul class="second_class_ul"><li><a href="#_lab2_4_14">5.1 本地登录验证</a></li><li><a href="#_lab2_4_15">5.2 查看MySQL版本</a></li><li><a href="#_lab2_4_16">5.3 获取服务器IP地址</a></li><li><a href="#_lab2_4_17">5.4 远程连接验证(可选)</a></li></ul><li><a href="#_label5">六、常见问题排查</a></li><ul class="second_class_ul"><li><a href="#_lab2_5_18">6.1 临时密码找不到</a></li><li><a href="#_lab2_5_19">6.2 服务启动失败</a></li><li><a href="#_lab2_5_20">6.3 密码修改失败</a></li></ul><li><a href="#_label6">总结</a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>一、前置准备:配置阿里云镜像源</h2><p class="maodian"><a name="_lab2_0_0"></a></p><h3>1.1 下载并替换为阿里云镜像源</h3>
<p>使用wget命令下载阿里云CentOS 7专属镜像源配置文件,覆盖原有文件:</p>
<div class="jb51code"><pre class="brush:ps;">sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
</pre></div>
<p class="maodian"><a name="_lab2_0_1"></a></p><h3>1.2 刷新yum缓存(使镜像源生效)</h3>
<p>镜像源配置完成后,需清理旧缓存并生成新缓存,确保yum能识别新源:</p>
<div class="jb51code"><pre class="brush:ps;">sudo yum clean all && sudo yum makecache
</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>二、MySQL 服务器安装步骤</h2>
<p class="maodian"><a name="_lab2_1_2"></a></p><h3>2.1 下载MySQL YUM配置包</h3>
<p>从MySQL官方获取适用于CentOS 7的YUM配置包,该包会生成MySQL专属的repo源文件:</p>
<div class="jb51code"><pre class="brush:ps;">sudo wget https://dev.mysql.com/get/mysql84-community-release-el7-2.noarch.rpm
</pre></div>
<p class="maodian"><a name="_lab2_1_3"></a></p><h3>2.2 安装YUM配置包</h3>
<p>通过yum本地安装刚下载的配置包,安装后会在/etc/yum.repos.d/目录下生成MySQL相关的repo文件:</p>
<div class="jb51code"><pre class="brush:ps;">sudo yum localinstall mysql84-community-release-el7-2.noarch.rpm -y
</pre></div>
<p class="maodian"><a name="_lab2_1_4"></a></p><h3>2.3 验证MySQL repo配置有效性</h3>
<p>执行以下命令查看已启用的repo源,确认MySQL相关源已生效:</p>
<div class="jb51code"><pre class="brush:ps;">yum repolist enabled | grep "mysql"
</pre></div>
<p>正常输出会显示mysql等相关条目,表明配置生效。</p>
<p class="maodian"><a name="_lab2_1_5"></a></p><h3>2.4 安装MySQL服务器</h3>
<p>使用yum安装MySQL社区版服务器,-y参数用于自动确认所有安装提示,无需手动交互:</p>
<div class="jb51code"><pre class="brush:sql;">sudo yum install mysql-community-server -y
</pre></div>
<p class="maodian"><a name="_label2"></a></p><h2>三、MySQL 服务基础管理</h2>
<p class="maodian"><a name="_lab2_2_6"></a></p><h3>3.1 启动MySQL服务</h3>
<p>安装完成后,执行以下命令启动mysqld服务:</p>
<div class="jb51code"><pre class="brush:ps;">sudo systemctl start mysqld
</pre></div>
<p class="maodian"><a name="_lab2_2_7"></a></p><h3>3.2 查看服务运行状态</h3>
<p>确认服务是否正常启动,正常状态会显示“active (running)”:</p>
<div class="jb51code"><pre class="brush:ps;">sudo systemctl status mysqld
</pre></div>
<p>若启动失败,可通过以下命令查看日志排查原因:<code>sudo journalctl -u mysqld</code></p>
<p class="maodian"><a name="_lab2_2_8"></a></p><h3>3.3 设置开机自启</h3>
<p>CentOS 7默认不会将MySQL设置为开机自启,需手动配置,确保服务器重启后服务自动运行:</p>
<div class="jb51code"><pre class="brush:py;">sudo systemctl enable mysqld
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>四、MySQL 初始化配置</h2>
<p class="maodian"><a name="_lab2_3_9"></a></p><h3>4.1 提取临时root密码</h3>
<p>MySQL 8.4+安装后会自动为root用户生成临时密码,存储在日志文件中,执行以下命令提取:</p>
<div class="jb51code"><pre class="brush:ps;">sudo grep 'temporary password' /var/log/mysqld.log
</pre></div>
<p>输出示例:<code>2025-12-03T08:00:00.123456Z 6 A temporary password is generated for root@localhost: AbC123!@#</code>,复制“: ”后的字符串(即临时密码)备用。</p>
<p class="maodian"><a name="_lab2_3_10"></a></p><h3>4.2 使用临时密码登录MySQL</h3>
<p>执行以下命令登录MySQL命令行,输入临时密码时不显示明文,粘贴后回车即可:</p>
<div class="jb51code"><pre class="brush:ps;">mysql -u root -p
</pre></div>
<p class="maodian"><a name="_lab2_3_11"></a></p><h3>4.3 修改root用户密码</h3>
<p>MySQL 8.4+强制要求密码复杂度(大小写字母+数字+特殊字符,长度≥8位),执行以下SQL语句修改密码:</p>
<div class="jb51code"><pre class="brush:sql;">ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; -- 替换为自定义密码
</pre></div>
<p>示例密码:<code>MySQLRoot@123</code>,若提示“密码不满足复杂度要求”,需调整密码后重新执行。</p>
<p class="maodian"><a name="_lab2_3_12"></a></p><h3>4.4 配置root远程访问(可选操作)</h3>
<p>默认root仅允许本地登录,若需远程管理(如通过Navicat连接),执行以下SQL配置(生产环境建议限制指定IP):</p>
<div class="jb51code"><pre class="brush:sql;">-- 创建允许远程访问的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;
</pre></div>
<p class="maodian"><a name="_lab2_3_13"></a></p><h3>4.5 开放防火墙3306端口(远程访问必备-可选操作)</h3>
<p>CentOS 7默认防火墙会拦截3306端口,需开放端口并重新加载防火墙规则:</p>
<div class="jb51code"><pre class="brush:ps;"># 永久开放3306端口
sudo firewall-cmd --permanent --add-port=3306/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
# 验证端口是否开放成功(输出yes表示成功)
sudo firewall-cmd --query-port=3306/tcp
</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>五、安装验证与基础操作</h2>
<p class="maodian"><a name="_lab2_4_14"></a></p><h3>5.1 本地登录验证</h3>
<p>使用修改后的新密码重新登录,确认登录成功:</p>
<div class="jb51code"><pre class="brush:ps;">mysql -u root -p
</pre></div>
<p class="maodian"><a name="_lab2_4_15"></a></p><h3>5.2 查看MySQL版本</h3>
<p>登录后执行以下SQL语句,确认安装的MySQL版本:</p>
<div class="jb51code"><pre class="brush:sql;">SELECT VERSION();
</pre></div>
<p class="maodian"><a name="_lab2_4_16"></a></p><h3>5.3 获取服务器IP地址</h3>
<p>在CentOS 7 终端中执行如下操作获取IP地址:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202512/2025122309393818.png" /></p>
<p class="maodian"><a name="_lab2_4_17"></a></p><h3>5.4 远程连接验证(可选)</h3>
<p>在远程机器上通过MySQL客户端(如Navicat、DBeaver)连接:</p>
<ul><li><p>主机:服务器IP地址</p></li><li><p>端口:3306</p></li><li><p>用户名:root</p></li><li><p>密码:修改后的新密码</p></li></ul>
<p>连接成功即表示远程访问配置生效。</p>
<p class="maodian"><a name="_label5"></a></p><h2>六、常见问题排查</h2>
<p class="maodian"><a name="_lab2_5_18"></a></p><h3>6.1 临时密码找不到</h3>
<p>若执行提取临时密码的命令无输出,可尝试以下方法:</p>
<div class="jb51code"><pre class="brush:ps;"># 方法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
</pre></div>
<p class="maodian"><a name="_lab2_5_19"></a></p><h3>6.2 服务启动失败</h3>
<p>通过日志查看失败原因:</p>
<div class="jb51code"><pre class="brush:ps;">sudo journalctl -u mysqld
</pre></div>
<p>常见原因及解决:</p>
<ul><li><p>端口被占用:执行<code>sudo netstat -tulpn | grep 3306</code>查看占用进程,停止占用进程或修改MySQL端口。</p></li><li><p>数据目录权限异常:执行<code>sudo chown -R mysql:mysql /var/lib/mysql</code>修复权限。</p></li></ul>
<p class="maodian"><a name="_lab2_5_20"></a></p><h3>6.3 密码修改失败</h3>
<p>确保密码满足“大小写字母+数字+特殊字符,长度≥8位”的复杂度要求,若需临时降低复杂度(仅测试环境),可修改配置文件后重启服务。</p>
<p class="maodian"><a name="_label6"></a></p><h2>总结</h2>
頁:
[1]