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. 验证远程连接
相关推荐
努力自学的小夏9 分钟前
RK3568 Linux驱动学习——新字符设备驱动
linux·arm开发·驱动开发·笔记·学习
看月亮的方源41 分钟前
mysql 学习记录--增删改查
mysql
Seven9742 分钟前
MySQL 中常见的日志有哪些?是如何实现事务的?
mysql
科大饭桶1 小时前
Linux系统编程Day13 -- 程序地址空间(进阶)
linux·运维·c语言·数据结构·c++
合作小小程序员小小店1 小时前
web安全开发,在线%射击比赛管理%系统开发demo,基于html,css,jquery,python,django,三层mysql数据库
css·mysql·django·html·jquery
rannn_1112 小时前
【Linux学习|黑马笔记|Day3】root用户、查看权限控制信息、chmod、chown、快捷键、软件安装、systemctl、软连接、日期与时区
linux·笔记·后端·学习
十五年专注C++开发2 小时前
通信中间件 Fast DDS(一) :编译、安装和测试
linux·c++·windows·中间件·cmake·vcpkg
唐青枫3 小时前
玩转 Systemd Unit 文件:进阶技巧与服务覆盖实战
linux
蒋星熠3 小时前
MySQL 到 ClickHouse 明细分析链路改造:数据校验、补偿与延迟治理
android·大数据·开发语言·c++·python·mysql·系统架构
yuxb733 小时前
Ansible 实操笔记:Playbook 与变量管理
linux·运维·笔记