centos7安装MySQL8.4手册

目录

前言

公司官网系统做等保测评,被扫描出来好多潜在的漏洞,其中就有mysql5.7的,给的建议是升级mysql8。所以就有了这篇文章。

一、首先更新插件,并查看当前系统版本

复制代码
[root@localhost mysql8.4.5]# yum update
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.6.28-3.2.el7 将被 升级

查看centos7 系统版本

bash 复制代码
[root@localhost mysql8.4.5]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost mysql8.4.5]# 

二、安装步骤

1、创建mysql目录
bash 复制代码
[root@localhost ~]# cd /usr/local/soft/
[root@localhost soft]# ll
总用量 0
drwxr-xr-x. 9 root root 186 3月  15 11:52 nginx-1.21
[root@localhost soft]# mkdir mysql8.4
[root@localhost soft]# cd mysql8.4/
2、安装rpm包
bash 复制代码
[root@localhost mysql8.4]# yum install https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
3、安装 mysql-community-server
bash 复制代码
[root@localhost mysql8.4]# yum install -y mysql-community-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
mysql-8.4-lts-community                                                                                                              | 3.0 kB  00:00:00     
mysql-connectors-community                                                                                                           | 2.6 kB  00:00:00     
mysql-tools-8.4-lts-community                                                                                                        | 2.6 kB  00:00:00     
(1/3): mysql-tools-8.4-lts-community/x86_64/primary_db                                                                               |  15 kB  00:00:01     
(2/3): mysql-connectors-community/x86_64/primary_db                                                                                  | 126 kB  00:00:01     
(3/3): mysql-8.4-lts-community/x86_64/primary_db                                                                                     |  50 kB  00:00:02     
正在解决依赖关系
4、启动MySQL服务

启动 mysql,的时候没有出现任何提示说明启动成功了

复制代码
[root@localhost mysql8.4]# systemctl start mysqld
[root@localhost mysql8.4]# systemctl status mysql
Unit mysql.service could not be found.
[root@localhost mysql8.4]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2025-07-18 20:36:17 CST; 12s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 27593 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 28434 (mysqld)
   Status: "Server is operational"
    Tasks: 36
   Memory: 435.4M
   CGroup: /system.slice/mysqld.service
           └─28434 /usr/sbin/mysqld

7月 18 20:36:11 localhost.localdomain systemd[1]: Starting MySQL Server...
7月 18 20:36:17 localhost.localdomain systemd[1]: Started MySQL Server.
[root@localhost mysql8.4]# systemctl enable mysqld
5、查看MySQL状态
复制代码
[root@localhost mysql8.4]# systemctl status mysql
6、设置开机自启动
复制代码
[root@localhost mysql8.4]# systemctl enable mysqld

三、查看默认密码

复制代码
[root@localhost mysql8.4]# cat /var/log/mysqld.log
2025-07-18T12:36:12.101245Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-07-18T12:36:12.104145Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.5) initializing of server in progress as process 28041
2025-07-18T12:36:12.119853Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-07-18T12:36:12.551607Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-07-18T12:36:13.996497Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: oLoblw2j=<!0

四、登录mysql

复制代码
[root@localhost mysql8.4]# mysql -uroot -p

#### 提示输入密码的时候,输入上图的密码即可。

五、修改密码

复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ltx.xxxx.xxm';


修改密码报错 参考

复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ltx.xxxx.xxM';

参考步骤,之后记得改回来

复制代码
-- 设置最小密码长度为4
SET GLOBAL validate_password.length = 4;

-- 设置密码策略为LOW
SET GLOBAL validate_password.policy = 0;

-- 修改密码为简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 为了确保所有会话都能使用新密码,刷新权限
FLUSH PRIVILEGES;

六、开启远程访问

要在 MySQL 8.4 中开启远程访问,可以按照以下步骤进行配置:

1. 修改 MySQL 配置文件

首先,找到并编辑 MySQL 的配置文件 my.cnf 。配置文件的位置取决于你的操作系统和 MySQL 的安装方式:

  • 在 Linux 上,通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf。

  • 在 Windows 上,通常位于 MySQL 安装目录下的 my.ini 文件。

    [root@localhost mysql8.4]# vim /etc/my.cnf
    [root@localhost mysql8.4]#

打开配置文件,找到 [mysqld] 部分,确保有以下配置:

bash 复制代码
[mysqld]
bind-address = 0.0.0.0

bind-address 设置为 0.0.0.0 意味着 MySQL 将监听所有网络接口的连接请求。

2. 重启 MySQL 服务

修改配置文件后,重启 MySQL 服务以使更改生效:

复制代码
[root@localhost mysql8.4]# vim /etc/my.cnf
[root@localhost mysql8.4]# systemctl restart mysqld 
3. 远程访问用户

3.1 允许root 远程访问

复制代码
use mysql;

update user set host = '%' where user = 'root';

flush privileges;
复制代码
mysql> select host, user from user;

3.2 创建远程访问用户

复制代码
mysql> CREATE USER 'ltxxst'@'%' IDENTIFIED BY 'lt.xxxx.xxt';
Query OK, 0 rows affected (0.00 sec)
FLUSH PRIVILEGES;

创建用户、赋予权限,参考

5. 验证远程连接
相关推荐
嵩山小老虎1 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模1 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a41324472 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
az44yao2 小时前
mysql 创建事件 每天17点执行一个存储过程
mysql
一只自律的鸡3 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
17(无规则自律)4 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
!chen4 小时前
linux服务器静默安装Oracle26ai
linux·运维·服务器
秦老师Q4 小时前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
REDcker4 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
蒹葭玉树4 小时前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试