在CentOS7安装软件系列 — MySQL5.7安装

前提配置:
物理机系统:Windows11 家庭中文版(已激活),内存 32G,已联网
VMware 版本:17.6.1
CentOS 系统版本:CentOS Linux release 7.9.2009(Core)
CentOS 已安装 vim

预安装 MySQL 版本:MySQL5.7.38

一、卸载残余MySQL

1.1 检查是否已有MySQL

从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!这里依旧以mysql为例进行展示。

rpm -qa | grep mysql

这里返回空值,说明没有安装。

1.2 删除可用

这里执行以下安装命令是无效的。
因为centos-7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库。

yum install mysql

所以要先删除可用。

如果上面查询结果类似这样的,就需要先删除:

yum remove mysql

删除完成,再次查询,如果还有如下类似残留,执行如下命令:

sudo rpm -e --nodeps mysql-community-release-el7-5.noarch
sudo rpm -e --nodeps mysql-community-common-5.6.51-2.el7.x86_64
sudo rpm -e --nodeps mysql-community-libs-5.6.51-2.el7.x86_64

其中具体版本需要根据自己的查询结果更改。

二、安装并配置MySQL

因为官方的yum镜像源下载慢,国内的又不稳定,我选择用压缩包安装的方式。

2.1 下载安装包

阿里云镜像地址:https://mirrors.aliyun.com/mysql/MySQL-5.7/
搜索:mysql-5.7.38-el7-x86_64.tar.gz,并下载(707MB的那个)。

2.2 上传文件

将下载的【mysql-5.7.38-el7-x86_64.tar.gz】文件上传到/usr/local/package目录下。

cd /usr/local/package
ll

2.3 准备工作

检查系统依赖:

MySQL 运行依赖一些基础系统库,使用以下命令安装必要的依赖包

sudo yum install -y libaio numactl

创建MySQL用户和组
为 MySQL 服务创建专用的用户和组:

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

2.4 解压安装包

通常将 MySQL 安装到 /usr/local/mysql 目录。

sudo mkdir -p /usr/local/mysql
sudo tar -zxvf /usr/local/package/mysql-5.7.38-el7-x86_64.tar.gz -C /usr/local/mysql --strip-components=1

--strip-components=1 用于去掉解压后的顶级目录,直接把文件解压到 /usr/local/mysql 目录。

2.5 配置MySQL

创建数据目录
MySQL 需要一个专门的数据目录来存放数据库文件:

sudo mkdir -p /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql

初始化MySQL
使用以下命令初始化 MySQL 数据目录,生成初始系统表和临时密码:

sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化完成后,终端会输出一个临时密码,格式类似:

2025-03-01T12:34:56.789012Z 1 [Note] A temporary password is generated for root@localhost: AbcDef123!

请务必记住这个红色位置的临时密码,后续登录 MySQL 会用到。

2.6 配置MySQL服务

复制服务脚本
把 MySQL 的服务脚本复制到系统服务目录:

sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

设置开机自启
使用以下命令将 MySQL 服务设置为开机自动启动:

sudo chkconfig --add mysql
sudo chkconfig mysql on

2.7 启动MySQL服务

sudo service mysql start

其他命令:

// 停止
sudo service mysql stop
// 重启
sudo service mysql restart
// 查询状态
sudo service mysql status

2.8 登录MySQL并修改密码

使用临时密码登录

/usr/local/mysql/bin/mysql -u root -p

输入之前记录的临时密码,进入 MySQL 命令行界面。

修改密码
登录后,执行以下 SQL 语句修改 root 用户的密码(新密码要符合 MySQL 的密码强度要求):
我这里为了方便,设置密码为:123456

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

123456 替换成你想设置的新密码。修改完成后,输入 EXIT; 退出 MySQL 命令行界面。

2.9 配置环境变量

为了更方便地使用 MySQL 命令,可将 MySQL 的二进制目录添加到系统环境变量中。
编辑 /etc/profile 文件:

sudo vi /etc/profile

在文件末尾添加以下内容:

export PATH=$PATH:/usr/local/mysql/bin

保存并退出文件,然后使配置生效:

source /etc/profile

2.10 修改MySQL端口

MySQL默认端口是:3306
但是这个端口因为比较常用,所以是比较危险的,尽量不使用3306端口。
端口可使用范围:1024~65535(前提是这个端口没有被占用)
这里使用的是:23306。

MySQL 的配置文件通常是 /etc/my.cnf 或者 /etc/mysql/my.cnf,这里以 /etc/my.cnf 为例。使用以下命令编辑该文件。
在配置文件中找到 [mysqld] 部分,若不存在则添加该部分。
[mysqld] 部分下添加或修改 port 参数为 23306

sudo vi /etc/my.cnf

[mysqld]
port = 23306

在 vi 编辑器中,按 Esc 键,然后输入 :wq 并回车,保存修改并退出。

重启 MySQL 服务。

sudo service mysql restart

问题:
如果重启不了,那么大概率是SELinux搞的鬼。
执行如下代码即可成功重启MySQL:

setenforce 0

2.11 开通MySQL远程连接

登录 MySQL

/usr/local/mysql/bin/mysql -u root -p

输入之前设置的 root 用户密码,进入 MySQL 命令行界面。

创建允许远程连接的用户
链接密码为 “123456”(不包括双引号)。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

修改 bind-address 配置

默认情况下,MySQL 只允许本地连接。
若要允许远程连接,需要修改 bind-address 配置。
编辑 /etc/my.cnf 文件:

sudo vi /etc/my.cnf

[mysqld] 部分找到 bind-address 参数,将其修改为 0.0.0.0,表示允许任何 IP 地址连接:

[mysqld]
bind-address = 0.0.0.0

保存并退出文件后,重启 MySQL 服务:

sudo service mysql restart

防火墙开放端口
firewalld 防火墙(centos-7)运行命令,并重启:

firewall-cmd --zone=public --add-port=23306/tcp --permanent
firewall-cmd --reload

2.12 远程连接MySQL

打开Navicat,左上角:连接 > MySQL:

注意:如果Navicat点击连接就闪退,那么先退出“豆包”等AI软件。

参考文献:
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇