手把手教你:Centos7下MySQL的安装与初始配置

前言

在现代软件开发与系统运维中,MySQL作为全球最流行的开源关系型数据库之一,广泛应用于Web应用、企业系统和云服务后端。无论是搭建LAMP架构、部署业务系统,还是进行本地开发测试,掌握在Linux环境下正确安装和配置MySQL都是一项基础而关键的技能。

本文将手把手带你从零开始,在CentOS 7系统上通安装MySQL,并完成初始配置与安全设置。无论你是刚接触Linux的开发者,还是需要快速部署数据库的运维人员,都能通过本教程高效、规范地搭建起一个可用的MySQL服务环境。

MySQL 全文索引详解:从原理到实战,一文搞懂! - 知乎

1.安装mysql前环境检查

确保自己在root 用户下:

image-20251120153156335

检查自己的Linux上有没有安装过MySQL:

//检查是否有mysql进程
ps -ef|grep mysql
ps ajx | grep mysql
//mysql的分支也要检查
ps ajx | grep mariabd

image-20251120153518304

没有发现进程说明mysql未运行。

有进程在运行需要关闭进程(或者直接kill掉):

systemctl stop  mysqld

检查是否有软件包:

rpm -qa | grep mysql

有删除即可:

rpm -qa | grep mysql  | xargs  yum -y remove

image-20251120153826268

检查是否有残留配置文件,有删除即可:

ls /etc/my.cnf 
rm -rf /etc/my.cnf

image-20251120153934761

检查 是否有客户端和服务端

which mysql
which mysqld

image-20251120154111427

现在我们可以安装啦!

2.下载官方的mysql安装包

查询Linux是什么版本:

cat /etc/redhat-release

image-20251120154348707

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

image-20251120155148886

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

image-20251120155353420

解压安装包:

rpm -ivh mysql57-community-release-el7.rpm

image-20251120155431007

查看是否解压成功:

ls /etc/yum.repos.d/ -l

image-20251120155630056

3.安装mysql

使用yum包管理器自动安装官方MySQL社区版服务器软件包:

yum install -y mysql-community-server

image-20251120164125914

出现秘钥安装失败了:

image-20251120164209460

别急,我们更新一下秘钥:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

image-20251120164323143

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

image-20251120164410402

4.启动mysql

启动MySQL程序:

 systemctl start mysqld

检查是否安装成功:

ps ajx | grep mysqld

image-20251120164602725

登录mysql:

mysql -u root -p

image-20251120164721754

等等,我们好像不知道密码?

先修改配置文件,采用无密码登录,这步是有点危险的哦~

vim /etc/my.cnf  

在最后一行加入:

skip-grant-tables

image-20251120164948624

重启mysql:

systemctl restart mysqld

image-20251120165049354

再次登录mysql:

mysql -u root -p

登录进来了:

image-20251120165131775

查看一下数据库:

show databases;

image-20251120165645300

退出mysql:

image-20251120165716451

5.给MySQL进行基础配置

临时密码进去后,设置密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

这种方法可能会报错,因为我们前面手动修改了 MySQL 的启动参数,加入了 –skip-grant-tables,由于权限系统被绕过,你需要直接操作 mysql.user 表来修改 root 密码。

刷新权限并切换到 mysql 数据库:

FLUSH PRIVILEGES;
USE mysql;

image-20251121142513947

根据 MySQL 版本更新密码字段:

UPDATE user 
SET authentication_string = PASSWORD('你的密码') 
WHERE User = 'root' AND Host = 'localhost';

刷新权限并退出:

FLUSH PRIVILEGES;
EXIT;

image-20251121142601508

关闭 –skip-grant-tables 模式:

sudo vi /etc/my.cnf

删除这行:

skip-grant-tables

重启MySQL服务:

sudo systemctl restart mysqld

现在用新密码正常登录:

mysql -uroot -p

image-20251121142820445

配置 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

image-20251121143804661

重启MySQL服务:

sudo systemctl restart mysqld

检查端口是否监听成功:

ss -tulnp | grep mysqld

应看到类似:tcp LISTEN 0 80 :3306 *: users:((“mysqld”,pid=…,fd=…))

image-20251121144055058

创建远程访问用户:

默认 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;

image-20251121144826349

然后从远程机器测试连接:

mysql -h 192.168.42.140 -P 3306 -u admin -p

image-20251121145554801

6.安装cpolar内网穿透工具

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250814101639846

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

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

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

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

7.配置公网地址

通过配置,你可以在本地 WSL 或 Linux 系统上运行 SSH 服务,并通过 Cpolar 将其映射到公网,从而实现从任意设备远程连接开发环境的目的。

  • 隧道名称:可自定义,本例使用了:mysql,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:3306
  • 端口类型:随机临时TCP端口
  • 地区:China Top

image-20251121161040290

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在终端中访问即可。

  • tcp 表示使用的协议类型

  • 2.tcp.cpolar.top是 Cpolar 提供的域名

  • 10595是随机分配的公网端口号

image-20251121161216586

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

image-20251121161426116

4.保留固定TCP公网地址

使用cpolar为其配置TCP地址,该地址为固定地址,不会随机变化。

image-20250814104012158

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

  • 地区:显示为“China Top”。

  • 地址:显示为“28.tcp.cpolar.top:11621”。

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

image-20251121161748794

修改隧道信息,将保留成功的TCP端口配置到隧道中。

  • 端口类型:选择固定TCP端口
  • 预留的TCP地址:填写保留成功的TCP地址

点击更新

image-20251121161823772

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

image-20251121161901525

最后测试一下固定的地址是否好用,测试命令:

mysql -h 28.tcp.cpolar.top -P 11621 -u admin -p

image-20251121162000079

这样,我们成功打破了“没有公网IP就无法远程访问数据库”的固有认知。

总结

本文手把手演示了在 CentOS 7 上安装 MySQL 社区版、修改初始密码、配置端口与远程访问权限,并解决了常见错误。通过合理用户权限,即可快速搭建一个安全可用的数据库服务,结合 Cpolar 等工具还能实现外网访问,满足开发与测试需求。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章