RedHat7.9安装mysql8.0.32 ↝ 二进制方式

news2024/9/30 17:26:39

RedHat7.9安装mysql8.0.32 ↝ 二进制方式

    • 一、rpm方式安装
      • 1、检查是否安装了mariadb
      • 2、下载mysqlmysql8.0.32
      • 3、上传解压
      • 4、创建安装目录,拷贝解压后的文件至安装目录/usr/local/mysql8.0/
      • 5、创建相关目录,开始安装
      • 6、创建mysql组和用户
      • 7、更改安装目录归属
      • 8、初始化MySQL
      • 9、配置MySQL
      • 10、启动MySQL
      • 11、配置环境变量
      • 12、修改root密码
      • 13、安装、开启密码校验插件
      • 14、修改密码规则(根据情况设置)
      • 15、创建一个用户用于远程登录
      • 16、设置mysql服务开机自启
  • 二、总结—温故知新

一、rpm方式安装

1、检查是否安装了mariadb

检查linux中是否安装了mariadb,先卸载mariadb, 避免与安装mysql发生冲突。

[root-server ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root-server ~]# 

卸载清除: rpm -e 文件名 或者 yum -y remove 文件名

[root-server ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
[root-server ~]# 
[root-server ~]# rpm -qa|grep mariadb  

或者使用:

yum -y remove mariadb-libs-5.5.68-1.el7.x86_64

2、下载mysqlmysql8.0.32

官网地址:https://downloads.mysql.com/archives/community/
在这里插入图片描述

3、上传解压

[root-server ~]# ll
total 982092
-rw-r--r--. 1 root root 1005660160 Jul 29 14:05 mysql-8.0.32-linux-glibc2.12-x86_64.tar
[root-server ~]# tar -zxvf mysql-8.0.32-linux-glibc2.12-x86_64.tar
[root-server ~]# ll
total 1964176
-rw-r--r--. 1 root root  1005660160 Jul 29 14:05 mysql-8.0.32-linux-glibc2.12-x86_64.tar
-rw-r--r--. 1 7155 31415  610315332 Dec 17  2022 mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
-rw-r--r--. 1 7155 31415   17127660 Dec 17  2022 mysql-router-8.0.32-linux-glibc2.12-x86_64.tar.xz
-rw-r--r--. 1 7155 31415  378207988 Dec 17  2022 mysql-test-8.0.32-linux-glibc2.12-x86_64.tar.xz


###继续解压tar.xz文件
[root-server ~]# tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

在这里插入图片描述

4、创建安装目录,拷贝解压后的文件至安装目录/usr/local/mysql8.0/

[root-server ~]# mkdir /usr/local/mysql8.0
[root-server ~]# mv mysql-8.0.32-linux-glibc2.12-x86_64/* /usr/local/mysql8.0/

[root@db-server ~]# cd /usr/local/mysql8.0/
[root@db-server mysql8.0]# ll
total 296
drwxr-xr-x.  2 7161 31415   4096 Dec 17  2022 bin
drwxr-xr-x.  2 7161 31415     56 Dec 17  2022 docs
drwxr-xr-x.  3 7161 31415   4096 Dec 17  2022 include
drwxr-xr-x.  6 7161 31415    201 Dec 17  2022 lib
-rw-r--r--.  1 7161 31415 283374 Dec 16  2022 LICENSE
drwxr-xr-x.  4 7161 31415     30 Dec 17  2022 man
-rw-r--r--.  1 7161 31415    666 Dec 16  2022 README
drwxr-xr-x. 28 7161 31415   4096 Dec 17  2022 share
drwxr-xr-x.  2 7161 31415     77 Dec 17  2022 support-files
[root@db-server mysql8.0]# 

5、创建相关目录,开始安装

可以根据自己安装规划进行创建,初始化MySQL时指定你创建的有关目录即可。

[root-server mysql8.0]# mkdir /usr/local/mysql8.0/data
[root-server mysql8.0]#  
[root-server mysql8.0]# mkdir /usr/local/mysql8.0/log
[root-server mysql8.0]# 
[root-server mysql8.0]# touch /usr/local/mysql8.0/log/mysqld.log
[root-server mysql8.0]# 
[root-server mysql8.0]# 

在这里插入图片描述

6、创建mysql组和用户

[root-server mysql8.0]# groupadd mysql
[root-server mysql8.0]#
[root-server mysql8.0]# useradd -r -g mysql mysql
[root-server mysql8.0]# 

7、更改安装目录归属

chown -R mysql /usr/local/mysql8.0/
chgrp -R mysql /usr/local/mysql8.0/

或者使用:
chown -R mysql:mysql /usr/local/mysql8.0
[root-server mysql8.0]# chown -R mysql:mysql /usr/local/mysql8.0
[root-server mysql8.0]# ll
total 296
drwxr-xr-x.  2 mysql mysql   4096 Dec 17  2022 bin
drwxr-xr-x.  2 mysql mysql      6 Jul 29 14:18 data
drwxr-xr-x.  2 mysql mysql     56 Dec 17  2022 docs
drwxr-xr-x.  3 mysql mysql   4096 Dec 17  2022 include
drwxr-xr-x.  6 mysql mysql    201 Dec 17  2022 lib
-rw-r--r--.  1 mysql mysql 283374 Dec 16  2022 LICENSE
drwxr-xr-x.  2 mysql mysql     24 Jul 29 14:18 log
drwxr-xr-x.  4 mysql mysql     30 Dec 17  2022 man
-rw-r--r--.  1 mysql mysql    666 Dec 16  2022 README
drwxr-xr-x. 28 mysql mysql   4096 Dec 17  2022 share
drwxr-xr-x.  2 mysql mysql     77 Dec 17  2022 support-files
[root-server mysql8.0]# 

在这里插入图片描述

8、初始化MySQL

[root-server mysql8.0]# ./bin/mysqld --user=mysql --basedir=/usr/local/mysql8.0/ --datadir=/usr/local/mysql8.0/data --initialize

2023-07-29T06:26:23.438791Z 0 [System] [MY-013169] [Server] /usr/local/mysql8.0/bin/mysqld (mysqld 8.0.32) initializing of server in progress as process 1858
2023-07-29T06:26:23.446856Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-07-29T06:26:23.935723Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-07-29T06:26:24.856531Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root: Rr8mh_%ysuqZ
[root-server mysql8.0]# 

在这里插入图片描述

9、配置MySQL

解决---mysql初始化后未找到配置文件:

使用指令./mysql --help | grep my.cnf 查看配置文件的读取顺序,一般默认优先读取/etc/my.cnf,若/etc/my.cnf文件不存在则需要新建该文件。

#查询相关配置文件读取顺序
[root-server mysql8.0]# ./bin/mysql --help | grep my.cnf 
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 
[root-server mysql8.0]# 

#直接在/etc下新建my.cnf文件,写入配置内容

[mysqld]
datadir=/usr/local/mysql8.0/data
basedir=/usr/local/mysql8.0
socket=/tmp/mysqld.sock
user=mysql
port=3306
character-set-server=utf8

[mysqld_safe]
log-error=/usr/local/mysql8.0/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
socket=/tmp/mysqld.sock

在这里插入图片描述

10、启动MySQL

[root-server ~]# cd /usr/local/mysql8.0/
[root-server mysql8.0]# ll
total 300
drwxr-xr-x.  2 mysql mysql   4096 Dec 17  2022 bin
drwxr-xr-x.  7 mysql mysql   4096 Jul 29 14:26 data
drwxr-xr-x.  2 mysql mysql     56 Dec 17  2022 docs
drwxr-xr-x.  3 mysql mysql   4096 Dec 17  2022 include
drwxr-xr-x.  6 mysql mysql    201 Dec 17  2022 lib
-rw-r--r--.  1 mysql mysql 283374 Dec 16  2022 LICENSE
drwxr-xr-x.  2 mysql mysql     24 Jul 29 14:18 log
drwxr-xr-x.  4 mysql mysql     30 Dec 17  2022 man
-rw-r--r--.  1 mysql mysql    666 Dec 16  2022 README
drwxr-xr-x. 28 mysql mysql   4096 Dec 17  2022 share
drwxr-xr-x.  2 mysql mysql     77 Dec 17  2022 support-files
[root-server mysql8.0]# cd support-files/
[root-server support-files]# ll
total 20
-rwxr-xr-x. 1 mysql mysql  1061 Dec 16  2022 mysqld_multi.server
-rw-r--r--. 1 mysql mysql  2027 Dec 17  2022 mysql-log-rotate
-rwxr-xr-x. 1 mysql mysql 10576 Dec 17  2022 mysql.server
[root-server support-files]# sh mysql.server start
Starting MySQL. SUCCESS! 
[root-server support-files]# 

查看MySQL服务是否启动成功:

[root-server support-files]# sh mysql.server status
 SUCCESS! MySQL running (2604)
[root-server support-files]# 

11、配置环境变量

[root-server support-files]# vi /etc/profile

添加内容:

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

在这里插入图片描述
使配置生效:

[root-server support-files]# source /etc/profile

12、修改root密码

使用步骤8、初始化MySQL时产生的临时密码登录:Rr8mh_%ysuqZ

[root-server ~]# mysql -u root -p

在这里插入图片描述
修改mysql数据库密码报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement.

解决:先刷新权限表

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql>alter user 'root'@'localhost' identified with mysql_native_password by 'Zyl##123456';
Query OK, 0 rows affected (0.01 sec)

授权root远程登录会报错:原因:因为 MySQL8.0 以上将创建账户和赋予权限分开了,需要用两个语句创建账号,赋予远程权限;root用户禁止远程登录了。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'Zyl##123456' WITH GRANT OPTION' at line 1

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'Zyl##123456' WITH GRANT OPTION;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'Zyl##123456' WITH GRANT OPTION' at line 1
mysql> 

13、安装、开启密码校验插件

未安装前、返回空集合:

mysql> SHOW VARIABLES LIKE 'validate_password%';
Empty set (0.00 sec)

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
Empty set (0.00 sec)
mysql> install plugin validate_password soname 'validate_password.so';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> 

安装密码校验插件之后:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql> 

14、修改密码规则(根据情况设置)

###有关参数详解
1、validate_password_policy 这个参数用于控制validate_password的验证策略 0-->low  1-->MEDIUM  2-->strong。

2、validate_password_length密码长度的最小值(这个值最小要是4)3、validate_password_number_count 密码中数字的最小个数。

4、validate_password_mixed_case_count大小写的最小个数。

5、validate_password_special_char_count 特殊字符的最小个数。

6、validate_password_dictionary_file 字典文件

本次环境设置:

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.32    |
+-----------+
1 row in set (0.00 sec)

mysql> 

##验证策略强
mysql> set global validate_password_policy=strong;
Query OK, 0 rows affected (0.00 sec)

##密码长度的最小值8
mysql> set global validate_password_length=8;
Query OK, 0 rows affected (0.00 sec)

##大小写的最小个数1
mysql> set global validate_password_mixed_case_count=1;
Query OK, 0 rows affected (0.00 sec)

##密码中数字的最小个数1
mysql> set global validate_password_number_count=1;
Query OK, 0 rows affected (0.00 sec)

##特殊字符的最小个数1
mysql> set global validate_password_special_char_count=1;
Query OK, 0 rows affected (0.00 sec)

mysql> 

密码规则检查:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | ON     |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | STRONG |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql> 

15、创建一个用户用于远程登录

MySQL8.0 以上将创建账户和赋予权限分开了,需要用两个语句创建账号,赋予远程权限;

###1、创建zyl用户用于远程登录
create user 'zyl'@'%' identified by 'Zyl##2023';


##2、授权远程登录
#仅授权某一个ip访问
grant all privileges on *.* to 'zyl'@'191.168.181.10' with grant option;
# 允许所有 ip 远程访问(不建议设置),这里测试环境,允许所有ip访问
grant all privileges on *.* to 'zyl'@'%' with grant option;


###3、刷新(刷新后才生效)
FLUSH PRIVILEGES;

在这里插入图片描述
查看监听端口:

mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

mysql> 

远程访问测试:

在这里插入图片描述

16、设置mysql服务开机自启

/usr/local/mysql8.0/support-files/mysql.server 拷贝到/etc/init.d/mysqld目录。

[root-server ~]# cp /usr/local/mysql8.0/support-files/mysql.server  /etc/init.d/mysqld
[root-server ~]# systemctl enable mysqld

在这里插入图片描述

##启动
[root-server ~]# systemctl start mysqld
##状态查看
[root-server ~]# systemctl status mysqld
##停止
[root-server ~]# systemctl stop mysqld
##设置开机自启
[root-server ~]# systemctl enable mysqld
##取消开机自启
[root-server ~]# systemctl disable mysqld

在这里插入图片描述

二、总结—温故知新

1、mysql8.0 详细安装步骤
2、环境变量配置
3、root用户密码修改
4、远程登录账户创建、授权
5、服务开机自启等设置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/807639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringAOP的相关概念

文章目录 一.什么是AOP二.AOP的组成部分三.SpringAOP的实现3.1 增加SpringAOP依赖3.2 创建切面3.2 创建切点3.3 创建通知3.4 创建连接点 四.SpringAOP的实现原理4.1 JDK动态代理4.2 CGLIB 动态代理总结 一.什么是AOP AOP,全称为Aspect-Oriented Programming&#x…

创建jupyterlab的快捷启动的一种方式

1、找Jupyter Notebook的快捷图标 首先,找到Jupyter Notebook的快捷图标,打开其文件位置。 2、复制Jupyter Notebook快捷方式 复制Jupyter Notebook的快捷方式 将复制Jupyter Notebook的快捷方式的这两处的Noetbook修改为lab。 如下图 3、找Jupy…

RocketMQ概论

目录 前言: 1.概述 2.下载安装、集群搭建 3.消息模型 4.如何保证吞吐量 4.1.消息存储 4.1.1顺序读写 4.1.2.异步刷盘 4.1.3.零拷贝 4.2.网络传输 前言: RocketMQ的代码示例在安装目录下有全套详细demo,所以本文不侧重于讲API这种死…

Git的常用命令以及使用场景

文章目录 1.前言2.工作区,暂存区,版本库简介3.Git的常用命令4.版本回退5.撤销修改6.删除文件7.总结 1.前言 在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念 2.工作区,暂存区,版本库简介 在使用Git进行版本控制时,有三个重要的概念:工作…

day48-ajax+SSM分页

AjaxSSM分页 非分页版controller及html: 分页模糊查询controller: Postman测试(无网页): 分页网页: 分页网页中添加模糊查询: 分页网页中实现添加功能: (1&am…

VUE3-04

1. 编写代码过程中的问题与解决 1.1 错误:cant read property of undefined(name) (1)首先定位错误的位置 (2)逐一排查问题:注释代码;debugger;console.log (3&#xff0…

10.Docker安全和https

文章目录 Docker安全Docker存在的安全问题Docker架构缺陷与安全机制Docker 安全基线标准Docker安全总结 HTTPSHTTPS访问过程生成证书方式openssL生成证书过程 Docker安全 容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃,那么…

Spring Tool Suite 4

参考:Spring tool suite4 安装及配置_springtoolsuite4_猿界零零七的博客-CSDN博客 下载:Spring | Tools 将下载的JAR进行解压两次,直至解压出contents中的sts 双击启动 第一次打开需要指定工作区文件夹 配置Maven的config 安装插件

C++ new/delete的使用

1.虚拟地址空间 可执行程序(进程)的虚拟地址空间: 内核:操作系统 栈区:函数的形参,非静态的局部变量,函数现场保护数据等等,栈是向下增长的,栈顶是低地址,栈…

基于fpga_EP4CE6F17C8实现的呼吸灯

文章目录 前言实验手册(EP4CE6F17C8)一、实验目的二、实验原理理论原理 三、系统架构设计四、模块说明1.模块端口信号列表2.状态转移图3.时序图 五、仿真波形图六、引脚分配七、代码实现八、仿真代码九、板级验证效果 …

[CrackMe]damn.exe的逆向及注册机编写

1. 脱壳过程 这个crackme有2个文件 发现加了壳 先来脱壳, 使用ESP守恒, pushad后立马下硬件访问断点 F9直接运行, 立马到popad处 接着走几步就到了OEP 下面使用LordPE来转储映像, 为了防止别人修改PE中的ImageSize, 先尝试修正下ImageSize, 然后dump full即可 接着用x6…

《重构的时机和方法》——让你的代码更健壮、更易维护

👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码…

简述IO(BIO NIO IO多路复用)

在unix网络变成中的五种IO模型: Blocking IO(阻塞IO) NoneBlocking IO (非阻塞IO) IO mulitplexing(IO多路复用) signal driven IO (信号驱动IO) asynchronous IO (异步IO) BIO BIO(Blocking IO)是一种阻塞IO模型,也是传统的IO操作模型之一…

不管如何吐槽,购买iPhone的用户依然义无反顾,苹果继续增长

市调机构IDC公布的二季度数据显示,苹果成为前五名之中除华为之外第二家取得增长的手机品牌,而其他国产手机品牌的出货量都在下滑,显示出国内的消费者仍然在热烈追捧iPhone。 二季度苹果在国内市场的手机出货量同比增长6%,虽然增速…

查看详细的退货信息!亚马逊在卖家中心推出新页面!

亚马逊欧洲站发布公告称亚马逊在卖家中心推出了一个新页面,为卖家提供详细的退货信息,以下是公告内容: 我们在卖家中心推出了一个新页面,为卖家提供详细的退货信息。 现在卖家可以查看每个退货订单,其中包含有关 ASI…

sky-notes-01

1、DTO类 DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。 详见阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义 当前端提交的数据和实体类中对应的属性差别比较大时,建议使用…

【信号去噪和正交采样】流水线过程的一部分,用于对L波段次级雷达中接收的信号进行降噪(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

信号的学习笔记二

文章目录 信号捕捉signal信号捕捉sigaction信号集未决信号集和阻塞信号集的工作过程 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b896346af6f1462089779e513a7e237b.png)信号集相关函数sigemptysetsigfillsetsigaddsetsigdelsetsigismember应用 以下函数设置内核信号集…

上传图片到腾讯云对象存储桶cos 【腾讯云对象存储桶】【cos】【el-upload】【vue3】【上传头像】【删除】

1、首先登录腾讯云官网控制台 进入对象存储页面 2、找到跨越访问CIRS设置 配置规则 点击添加规则 填写信息 3、书写代码 这里用VUE3书写 第一种用按钮出发事件形式 <template><div><input type="file" @change="handleFileChange" /&…

[NLP]LLM高效微调(PEFT)--LoRA

LoRA 背景 神经网络包含很多全连接层&#xff0c;其借助于矩阵乘法得以实现&#xff0c;然而&#xff0c;很多全连接层的权重矩阵都是满秩的。当针对特定任务进行微调后&#xff0c;模型中权重矩阵其实具有很低的本征秩&#xff08;intrinsic rank&#xff09;&#xff0c;因…