前言
在现代软件开发与系统运维中,MySQL作为全球最流行的开源关系型数据库之一,广泛应用于Web应用、企业系统和云服务后端。无论是搭建LAMP架构、部署业务系统,还是进行本地开发测试,掌握在Linux环境下正确安装和配置MySQL都是一项基础而关键的技能。
本文将手把手带你从零开始,在CentOS 7系统上通安装MySQL,并完成初始配置与安全设置。无论你是刚接触Linux的开发者,还是需要快速部署数据库的运维人员,都能通过本教程高效、规范地搭建起一个可用的MySQL服务环境。

1.安装mysql前环境检查
确保自己在root 用户下:

检查自己的Linux上有没有安装过MySQL:
//检查是否有mysql进程
ps -ef|grep mysql
ps ajx | grep mysql
//mysql的分支也要检查
ps ajx | grep mariabd

没有发现进程说明mysql未运行。
有进程在运行需要关闭进程(或者直接kill掉):
systemctl stop mysqld
检查是否有软件包:
rpm -qa | grep mysql
有删除即可:
rpm -qa | grep mysql | xargs yum -y remove

检查是否有残留配置文件,有删除即可:
ls /etc/my.cnf
rm -rf /etc/my.cnf

检查 是否有客户端和服务端
which mysql
which mysqld

现在我们可以安装啦!
2.下载官方的mysql安装包
查询Linux是什么版本:
cat /etc/redhat-release

进入官网(http://repo.mysql.com)找到自己对应的版本下载:

下载完成后的文件上传到root目录下:

解压安装包:
rpm -ivh mysql57-community-release-el7.rpm

查看是否解压成功:
ls /etc/yum.repos.d/ -l

3.安装mysql
使用yum包管理器自动安装官方MySQL社区版服务器软件包:
yum install -y mysql-community-server

出现秘钥安装失败了:

别急,我们更新一下秘钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

重新安装,这次没出现警告,安装成功:

4.启动mysql
启动MySQL程序:
systemctl start mysqld
检查是否安装成功:
ps ajx | grep mysqld

登录mysql:
mysql -u root -p

等等,我们好像不知道密码?
先修改配置文件,采用无密码登录,这步是有点危险的哦~
vim /etc/my.cnf
在最后一行加入:
skip-grant-tables

重启mysql:
systemctl restart mysqld

再次登录mysql:
mysql -u root -p
登录进来了:

查看一下数据库:
show databases;

退出mysql:

5.给MySQL进行基础配置
临时密码进去后,设置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
这种方法可能会报错,因为我们前面手动修改了 MySQL 的启动参数,加入了 –skip-grant-tables,由于权限系统被绕过,你需要直接操作 mysql.user 表来修改 root 密码。
刷新权限并切换到 mysql 数据库:
FLUSH PRIVILEGES;
USE mysql;

根据 MySQL 版本更新密码字段:
UPDATE user
SET authentication_string = PASSWORD('你的密码')
WHERE User = 'root' AND Host = 'localhost';
刷新权限并退出:
FLUSH PRIVILEGES;
EXIT;

关闭 –skip-grant-tables 模式:
sudo vi /etc/my.cnf
删除这行:
skip-grant-tables
重启MySQL服务:
sudo systemctl restart mysqld
现在用新密码正常登录:
mysql -uroot -p

配置 MySQL 端口、IP 绑定等:
编辑主配置文件:
sudo vi /etc/my.cnf
在 [mysqld] 段落下添加以下参数:
[mysqld]
# 自定义端口(默认 3306)
port = 3306
# 监听地址:
# 0.0.0.0 表示监听所有 IPv4 地址(允许远程连接)
# 127.0.0.1 表示仅本地访问(默认安全)
# 若需远程访问,请设为 0.0.0.0 或服务器内网 IP
bind-address = 0.0.0.0
# 可选:指定数据目录(默认 /var/lib/mysql)
# datadir = /data/mysql
# 可选:指定 socket 文件位置
socket = /var/lib/mysql/mysql.sock
# 字符集建议(避免乱码)
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 跳过 DNS 反向解析(提升连接速度)
skip-name-resolve

重启MySQL服务:
sudo systemctl restart mysqld
检查端口是否监听成功:
ss -tulnp | grep mysqld
应看到类似:tcp LISTEN 0 80 :3306 *: users:((“mysqld”,pid=…,fd=…))

创建远程访问用户:
默认 root@localhost 无法远程登录。如需远程管理,创建专用用户:
登录MySQL:
mysql -u root -p
创建用户(允许从任意 IP 连接):
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword123!';
-授予所有权限(生产环境建议按需授权):
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
刷新权限:
FLUSH PRIVILEGES;

然后从远程机器测试连接:
mysql -h 192.168.42.140 -P 3306 -u admin -p

6.安装cpolar内网穿透工具
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

7.配置公网地址
通过配置,你可以在本地 WSL 或 Linux 系统上运行 SSH 服务,并通过 Cpolar 将其映射到公网,从而实现从任意设备远程连接开发环境的目的。
- 隧道名称:可自定义,本例使用了:mysql,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:3306
- 端口类型:随机临时TCP端口
- 地区:China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。
- tcp 表示使用的协议类型
-
2.tcp.cpolar.top是 Cpolar 提供的域名
-
10595是随机分配的公网端口号

通过Cpolar提供的公网地址和端口,mysql就可以从任意一台主机连接到啦!

4.保留固定TCP公网地址
使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。

选择区域和描述:有一个下拉菜单,当前选择的是“China Top”。
右侧输入框,用于填写描述信息。
保留按钮:在右侧有一个橙色的“保留”按钮,点击该按钮可以保留所选的TCP地址。
列表中显示了一条已保留的TCP地址记录。
- 地区:显示为“China Top”。
-
地址:显示为“28.tcp.cpolar.top:11621”。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道postgres,点击右侧的编辑。

修改隧道信息,将保留成功的TCP端口配置到隧道中。
- 端口类型:选择固定TCP端口
- 预留的TCP地址:填写保留成功的TCP地址
点击更新。

创建完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的TCP地址。

最后测试一下固定的地址是否好用,测试命令:
mysql -h 28.tcp.cpolar.top -P 11621 -u admin -p

这样,我们成功打破了“没有公网IP就无法远程访问数据库”的固有认知。
总结
本文手把手演示了在 CentOS 7 上安装 MySQL 社区版、修改初始密码、配置端口与远程访问权限,并解决了常见错误。通过合理用户权限,即可快速搭建一个安全可用的数据库服务,结合 Cpolar 等工具还能实现外网访问,满足开发与测试需求。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站



