MySQL 8 安装(红帽系列)

官网

根据自己的系统版本挑选不同的MySQL版本
https://dev.mysql.com/downloads/mysql/

系统环境
        #####           root@rocky 
       #######          ---------- 
       ##O#O##          OS: Rocky Linux 9.2 (Blue Onyx) x86_64 
       #######          Host: VMware20,1 None 
     ###########        Kernel: 5.14.0-284.25.1.el9_2.x86_64 
    #############       Uptime: 46 mins 
   ###############      Packages: 1657 (rpm) 
   ################     Shell: bash 5.1.8 
  #################     Theme: Adwaita [GTK2/3] 
#####################   Icons: breeze [GTK2/3] 
#####################   Terminal: /dev/pts/2 
  #################     CPU: 11th Gen Intel i5-11400F (6) @ 2.592GHz 
                        GPU: 00:0f.0 VMware SVGA II Adapter 
                        Memory: 1822MiB / 7660MiB 

                                                
                                              
安装依赖
dnf install -y perl libtirpc net-tools wget tar tree
MySQL安装包下载

我这里选择的是Red Hat Enterprise Linux / Oracle Linux MySQL 8.0.35

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.35-1.el9.x86_64.rpm-bundle.tar

tar -xvf mysql-8.0.35-1.el9.x86_64.rpm-bundle.tar && tree
解压MySQL安装包压缩文件
tar -xvf mysql-8.0.35-1.el9.x86_64.rpm-bundle.tar
安装顺序
  • [ ] 1.mysql-community-common
  • [ ] 2.mysql-community-client-plugins
  • [ ] 3.mysql-community-libs
  • [ ] 4.mysql-community-icu-data-files
  • [ ] 5.mysql-community-client
  • [ ] 6.mysql-community-server
rpm -ivh mysql-community-common-8.0.35-1.el9.x86_64.rpm &&\
rpm -ivh mysql-community-client-plugins-8.0.35-1.el9.x86_64.rpm &&\
rpm -ivh mysql-community-libs-8.0.35-1.el9.x86_64.rpm &&\
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el9.x86_64.rpm &&\
rpm -ivh mysql-community-client-8.0.35-1.el9.x86_64.rpm &&\
rpm -ivh mysql-community-server-8.0.35-1.el9.x86_64.rpm
检查

通过命令检查是否安装

mysqladmin --version

mysqladmin Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)

MySQL 初始化
mysqld --initialize --console
设置MySQL用户权限
chown -R mysql:mysql /var/lib/mysql
通过日志文件查看root账户临时密码
grep "password is generated" /var/log/mysqld.log | awk '{print $NF}'
启动MySQL服务组件
systemctl enable mysqld && systemctl start mysqld
临时root密码登陆 MySQL
mysql -uroot -p'临时密码'

进入MySQL 更改ROOT账户密码

alter user 'root'@'localhost' identified by'密码';

防火墙开放端口号流程

1. 添加需要开放的端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
#permanent代表永久添加 

2. 重启防火墙

firewall-cmd --reload

3. 查看防火墙端口是否开放

 firewall-cmd --list-ports

新增管理员用户

MySQL 8数据库中创建一个用户,并为该用户授予可以登录MySQL的权限。打开MySQL 8,在终端输入以下代码创建一个新用户

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

其中,’newuser’是你要创建的用户名,’localhost’代表该用户只能在本地登录, ‘password’是该用户要登录的密码。接着授予该用户登录MySQL的权限

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

增加允许远程连接 MySQL 用户并授权**

root用户允许远程访问,登录mysql后,你可以直接执行以下命令,以下远程授权适用于MySQL8也适用于MySQL5.7。

mysql -uroot -p
mysql> use mysql;
mysql> update user set host = '%' where user ='root';
mysql> flush privileges;
mysql> exit

ERROR 1227 (42000)**

Mysql8 提示:ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
原因:MySQL 8 版本中新增了一个system_user帐户类型,由于root用户没有SYSTEM_USER权限,导致错误出现。

为root添加权限:

grant system_user on . to ‘root’;
flush privileges;
评论区
头像