Centos环境下安装/重装MySQL的完整教程
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一、卸载残留的MySQL环境:</li><li>二、安装MySQL:<ul class="second_class_ul"><li>1、下载MySQL官方的yum源:</li><li>2、更新系统yum源:</li><li>3、确保系统中有了对应的MySQL安装包:</li><li>4、安装MySQL服务:</li><li>5、密钥问题安装失败解决方法:</li></ul></li><li>三、验证安装、使用:<ul class="second_class_ul"><li>1、验证MySQL安装:</li><li>2、启动MySQL服务:</li><li>3、更改MySQL配置文件并登录MySQL:</li></ul></li><li>四、验证C语言链接:<ul class="second_class_ul"></ul></li><li>CentOS下MySQL远程登录<ul class="second_class_ul"><li>1. 确保 MySQL 服务已启动</li><li>2. 配置 MySQL 允许远程连接</li><li>3. 创建远程连接用户并授权</li><li>4. 开放 MySQL 端口(防火墙设置)</li><li>5. 获取虚拟机 IP 地址</li><li>6. 本地连接(以 MySQL Workbench 为例)</li><li>注意事项</li></ul></li></ul></div><p class="maodian"></p><h2>一、卸载残留的MySQL环境:</h2><p><strong>这一步是之前在系统中安装过MySQL,或者Linux是直接买的云服务器而不是虚拟机的才需要看,如果在此之前系统未安装过MySQL的可以直接跳到第二标题开始看。</strong></p>
<p>在安装与卸载的时候,因为一些权限问题,所以最好直接使用root进行所有的操作,下图是我自己的虚拟机,已经安装过MySQL的来进行演示:</p>
<p style="text-align:center"><img alt="" height="155" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50IV53.png" width="696" /></p>
<p>可以通过上图的演示命令查询一下系统中是否有安装过MySQL或者是否有正在运行的MySQL服务,如果有,那么先关闭对应的正在运行的服务:</p>
<p><strong>1、在命令行中输入下面这行指令停止MySQL服务:</strong></p>
<div class="dxycode"><pre class="brush:bash;">systemctl stop mysqld</pre></div>
<p><strong>2、检查并卸载系统中默认的MySQL安装包</strong></p>
<p>检查系统中默认的MySQL安装包:</p>
<div class="dxycode"><pre class="brush:bash;">rpm -qa | grep mysql</pre></div>
<p style="text-align:center"><img alt="" height="297" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50IY55.png" width="879" /></p>
<p>将上图的默认安装包全部卸载掉:</p>
<p>输入以下命令进行批量化卸载(懒得一个一个卸载了):</p>
<div class="dxycode"><pre class="brush:bash;">rpm -qa | grep mysql | xargs yum -y remove</pre></div>
<p>卸载完成后可以再次使用rpm -qa | grep mysql命令来查一下,正常情况下就是全部没了的。</p>
<p>然后可以再确认一下进程,是没有MySQL服务在运行的了,其次,可以检查一下 /etc目录下有没有对应的MySQL配置文件my.cnf,正常情况下就都是没有的了。</p>
<p>那到这里,对应的环境就是卸载干净的了,可以正式开始MySQL的安装了。</p>
<p class="maodian"></p><h2>二、安装MySQL:</h2>
<p class="maodian"></p><h3>1、下载MySQL官方的yum源:</h3>
<p>首先先查询自己系统的版本号:例如下图我这里的是centos7.9</p>
<p style="text-align:center"><img alt="" height="112" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50IXR.png" width="621" /></p>
<p><strong>然后打开下面这个MySQL官方的yum源网址,找到符合自己系统的MySQLyum源:</strong></p>
<p>http://repo.mysql.com/</p>
<p>打开网址后页面显示可能不太完整,可以直接右键查看页面源代码,可以将细节显示的全一点,这里我以最常用的MySQL5.7版本为演示,然后以你的系统版本为准,上图我的系统版本是7.9,所以我这里就下载7.9的yum源:</p>
<p style="text-align:center"><img alt="" height="687" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50I94a.png" width="1512" /></p>
<p>然后再使用rz命令将你下载的yun源上传到你的centos系统上去,自己建个目录放进去,如图显示就是:</p>
<p style="text-align:center"><img alt="" height="126" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50Ic32.png" width="790" /></p>
<p class="maodian"></p><h3>2、更新系统yum源:</h3>
<p>进到你传上来的MySQLyum源的目录中,输入以下命令:</p>
<div class="dxycode"><pre class="brush:bash;">rpm -ivh 你下载的MySQLyum源的全名
例如:rpm -ivh mysql57-community-release-el7-9.noarch.rpm</pre></div>
<p class="maodian"></p><h3>3、确保系统中有了对应的MySQL安装包:</h3>
<p>使用如下命令查看系统是否有了对应MySQL的安装包</p>
<div class="dxycode"><pre class="brush:bash;">ls /etc/yum.repos.d/ -al</pre></div>
<p style="text-align:center"><img alt="" height="508" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50IcM.png" width="1444" /></p>
<p>如果没有MySQL的yum源,那确认一下前面安装MySQLyum源的操作是否正确执行。</p>
<p class="maodian"></p><h3>4、安装MySQL服务:</h3>
<p>在上述工作做完了后,就可以正常安装MySQL了:</p>
<div class="dxycode"><pre class="brush:bash;">yum install -y mysql-community-server</pre></div>
<p class="maodian"></p><h3>5、密钥问题安装失败解决方法:</h3>
<p>因为我这里是之前安装MySQL的时候安装过密钥的,所以没法展示安装MySQL失败的情况,第一次安装MySQL的时候可能会遇上MySQL安装失败,因为没有检索到系统有对应的MySQL密钥,这个在我第一次安装MySQL的时候遇到过,如果你也遇上了的话就输入下面这个命令:</p>
<div class="dxycode"><pre class="brush:bash;">rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022</pre></div>
<p>然后再重新执行install命令重新安装一下MySQL就可以了。</p>
<p class="maodian"></p><h2>三、验证安装、使用:</h2>
<p class="maodian"></p><h3>1、验证MySQL安装:</h3>
<p>安装完成之后可以查看一下在/etc目录下是否存在my.cnf文件,是否有对应的mysqld服务端的应用程序,mysql客户端应用程序:</p>
<p style="text-align:center"><img alt="" height="252" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50I9211.png" width="871" /></p>
<p class="maodian"></p><h3>2、启动MySQL服务:</h3>
<p>启动sql服务:</p>
<div class="dxycode"><pre class="brush:bash;">systemctl start mysqld</pre></div>
<p>启动后可以查看MySQL服务是否正在运行:</p>
<p style="text-align:center"><img alt="" height="435" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50I9251.png" width="1099" /></p>
<p class="maodian"></p><h3>3、更改MySQL配置文件并登录MySQL:</h3>
<p>正常登录MySQL的指令如下:</p>
<div class="dxycode"><pre class="brush:bash;">mysql -h 登录用户的IP -P 端口号 -u 登录的用户名 -p</pre></div>
<p>但是如果像我一样只做个人学习用的话,可以更改MySQL的配置文件,让登录没那么麻烦,如下</p>
<p>使用vim打开MySQL的配置文件:</p>
<div class="dxycode"><pre class="brush:bash;">vim /etc/my.cnf</pre></div>
<p>在文件中加入以下文本(可一键复制):</p>
<div class="dxycode"><pre class="brush:bash;">skip-grant-tables
#跳过密码认证环节,就是不用输密码,直接按回车即可登录
port=3306
#设置默认端口号
character-set-server=utf8
#设置server端的编码格式
default-storage-engine=innodb
#设置默认存储引擎</pre></div>
<p>然后重启MySQL:</p>
<div class="dxycode"><pre class="brush:bash;">systemctl restart mysqld</pre></div>
<p>登录MySQL:</p>
<div class="dxycode"><pre class="brush:bash;">mysql -u root -p</pre></div>
<p style="text-align:center"><img alt="" height="552" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50IbO.png" width="1170" /></p>
<p>然后即可使用MySQL服务了,要是你想让MySQL服务开机自启动的话可以输入一下两行命令,但是如果是云服务器的话不用那么麻烦,因为云服务器本来也不会关机:</p>
<div class="dxycode"><pre class="brush:bash;">systemctl enable mysqld
systemctl daemon-reload </pre></div>
<p class="maodian"></p><h2>四、验证C语言链接:</h2>
<p><strong>第一:</strong>使用C语言连接数据库首先得保证在/usr/include目录下存在mysql文件夹,该文件夹里包含着对应的mysql头文件,这个一般要自己安装对应的开发包工具:</p>
<div class="dxycode"><pre class="brush:bash;">yum install -y mysql-devel</pre></div>
<p>然后安装完之后一般就会在/usr/include文件夹下有mysql文件夹,mysql文件夹下就会有对应的MySQL头文件</p>
<p style="text-align:center"><img alt="" height="357" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50J0I4.png" width="1509" /></p>
<p><strong>第二:</strong>查看lib64目录下有没有对应的MySQL打包好的动静态库,这个在上面安装MySQL服务的时候是已经一并安装了的了,如果没有那么确保一下MySQL服务有没有正确安装:</p>
<div class="dxycode"><pre class="brush:bash;">ls /lib64/mysql/</pre></div>
<p style="text-align:center"><img alt="" height="292" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50J1J3.png" width="1341" /></p>
<p>都有的话,那么可以编写一个简单的C++程序来验证是否可以正常链接:</p>
<div class="dxycode"><pre class="brush:cpp;">#include <iostream>
#include <mysql/mysql.h>
int main()
{
std::cout<<"mysql client version: " << mysql_get_client_info() << std::endl;
return 0;
}</pre></div>
<p><strong>mysql_get_client_info()函数,MySQL库带的函数,返回当前MySQL服务的版本号。</strong></p>
<p>声明:上面代码的文件名为test.cc 形成可执行文件的名字为mytest, -L指明头文件所在的路径,-l指明对应哪个库。</p>
<div class="dxycode"><pre class="brush:bash;">g++ -o mytest test.cc -L/lib64/mysql -lmysqlclient</pre></div>
<p style="text-align:center"><img alt="" height="375" src="https://zhuji.jb51.net/uploads/allimg/20250817/2-250QG50J14L.png" width="1311" /></p>
<p>好了,正常到这里MySQL服务就算是正常安装完成,也能正常登录使用了,如果有什么其他问题再一起讨论吧。</p>
<p class="maodian"></p><h2>CentOS下MySQL远程登录</h2>
<p class="maodian"></p><h3>1. 确保 MySQL 服务已启动</h3>
<p>在 CentOS 虚拟机中执行以下命令来启动 MySQL 服务并设置其开机自启:</p>
<div class="dxycode"><pre class="brush:bash;">sudo systemctl start mysqld
sudo systemctl enable mysqld</pre></div>
<p class="maodian"></p><h3>2. 配置 MySQL 允许远程连接</h3>
<p>修改 MySQL 配置文件, <code>/etc/my.cnf</code> 或 <code>/etc/my.cnf.d/mysql-server.cnf</code>,</p>
<div class="dxycode"><pre class="brush:bash;">sudo vi /etc/my.cnf</pre></div>
<p>找到 <code>bind-address = 127.0.0.1</code> 这一行,将其注释或修改为:</p>
<div class="dxycode"><pre class="brush:bash;"># bind-address = 127.0.0.1
bind-address = 0.0.0.0</pre></div>
<p>保存配置文件后,重启 MySQL 服务:</p>
<div class="dxycode"><pre class="brush:bash;">sudo systemctl restart mysqld</pre></div>
<p class="maodian"></p><h3>3. 创建远程连接用户并授权</h3>
<p>在 CentOS 中登录 MySQL:</p>
<div class="dxycode"><pre class="brush:bash;">mysql -u root -p</pre></div>
<p>执行以下 SQL 语句来创建用户并授权(请将 <code>your_user</code> 和 <code>your_password</code> 替换为实际的用户名和密码):</p>
<div class="dxycode"><pre class="brush:sql;">-- 创建用户
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%';
-- 刷新权限
FLUSH PRIVILEGES;</pre></div>
<p>通过以下命令查看具体的密码策略要求:</p>
<div class="dxycode"><pre class="brush:sql;">SHOW VARIABLES LIKE 'validate_password%';</pre></div>
<p>下面是一系列 SQL 语句,可用于调整密码验证策略:</p>
<div class="dxycode"><pre class="brush:sql;">-- 关闭用户名检查
SET GLOBAL validate_password.check_user_name = FALSE;
-- 将密码长度要求设置为 4
SET GLOBAL validate_password.length = 4;
-- 把大小写字母计数要求设为 0
SET GLOBAL validate_password.mixed_case_count = 0;
-- 把数字计数要求设为 0
SET GLOBAL validate_password.number_count = 0;
-- 把特殊字符计数要求设为 0
SET GLOBAL validate_password.special_char_count = 0;
-- 将密码策略设为 LOW
SET GLOBAL validate_password.policy = LOW;
-- 刷新权限
FLUSH PRIVILEGES;</pre></div>
<p class="maodian"></p><h3>4. 开放 MySQL 端口(防火墙设置)</h3>
<p>允许 3306 端口通过防火墙:</p>
<div class="dxycode"><pre class="brush:bash;">sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload</pre></div>
<p class="maodian"></p><h3>5. 获取虚拟机 IP 地址</h3>
<p>在 CentOS 中执行以下命令获取 IP 地址:</p>
<div class="dxycode"><pre class="brush:bash;">ip addr show</pre></div>
<p>记录 <code>inet</code> 字段的 IP 地址,例如 <code>192.168.1.100</code>。</p>
<p class="maodian"></p><h3>6. 本地连接(以 MySQL Workbench 为例)</h3>
<ol><li><p>打开 MySQL Workbench,点击 “+” 创建新连接。</p></li><li><p>填写以下信息:</p>
<ul><li><strong>连接名</strong>:自定义名称,如 <code>VM - CentOS - MySQL</code>。</li><li><strong>主机名</strong>:虚拟机 IP 地址,如 <code>192.168.1.100</code>。</li><li><strong>端口</strong>:3306。</li><li><strong>用户名</strong>:之前创建的用户,如 <code>your_user</code>。</li><li><strong>密码</strong>:之前设置的密码。</li></ul></li></ol>
<p>点击 “测试连接”,若成功则保存并连接。</p>
<p class="maodian"></p><h3>注意事项</h3>
<ul><li>如果虚拟机使用 NAT 模式,需在虚拟机软件中配置端口转发(主机端口 → 3306)。</li><li>生产环境建议绑定特定 IP(如 <code>bind-address = 192.168.1.100</code>),而非 <code>0.0.0.0</code>。</li><li>确保本地防火墙(如 Windows Defender)未阻止 3306 端口。</li></ul>
<p>以上就是Centos环境下安装/重装MySQL完整教程的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁:
[1]