打卡--MySQL8.0 一(单机部署)

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。如有侵权,请留言,我及时删除!

MySQL 8.0 简介

MySQL 8.0与5.7的区别主要体现在:1、性能提升;2、新的默认字符集;3、更好的错误日志;4、提供了角色的概念;5、增强的JSON支持。从整体来看,MySQL 8.0在性能和功能上都做了较大的提升。

MySQL 8.0是MySQL数据库的一个版本,它在性能、稳定性、易用性等方面都有了显著的提升。8.0版本引入了很多新的功能,如窗口函数、公共表表达式(CTE)、角色等。

更多内容请参考官方文档

一、安装MySQL 

1、获取MySQL软件包

 MySQL :: MySQL Community Downloads

2、下载安装

mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar

3、使用rpm包功能说明

MySQL8 数据文件解析

4、使用rpm包安装

linux配置本地YUM源及网络YUM源_本地yum源配置文件-CSDN博客

解决安装依赖包,如果缺少就用yum源进行安装

删除mariadb

rpm -qa  | grep  mariadb

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64

安装MySQL数据库

[root@192 opt]# rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm
[root@192 opt]# rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm
[root@192 opt]# rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm
[root@192 opt]# rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm
[root@192 opt]# rpm -ivh mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm
[root@192 opt]# rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm

初始化MySQL

[root@192 ~]# mysqld --initialize-insecure --user=mysql

启动mysql


[root@192 ~]# cat /var/log/mysqld.log

[root@192 ~]# mysql -uroot -p  (使用默认密码登录)    

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ops7565!#!#';
Query OK, 0 rows affected (0.00 sec)

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

5、msyql8 卸载

查询本机安装的mysql

[root@localhost mysql]# rpm -qa |grep -i mysql
mysql-community-icu-data-files-8.0.35-1.el7.x86_64
mysql-community-client-plugins-8.0.35-1.el7.x86_64
mysql-community-server-8.0.35-1.el7.x86_64
mysql-community-libs-8.0.35-1.el7.x86_64
mysql-community-client-8.0.35-1.el7.x86_64
mysql-community-common-8.0.35-1.el7.x86_64
[root@localhost mysql]# 
卸载rpm包
[root@localhost mysql]# rpm -e --nodeps  mysql-community-icu-data-files-8.0.35-1.el7.x86_64
[root@localhost mysql]# rpm -e --nodeps  mysql-community-client-plugins-8.0.35-1.el7.x86_64
[root@localhost mysql]# rpm -e --nodeps  mysql-community-server-8.0.35-1.el7.x86_64
[root@localhost mysql]# rpm -e --nodeps  mysql-community-libs-8.0.35-1.el7.x86_64
[root@localhost mysql]# rpm -e --nodeps  mysql-community-client-8.0.35-1.el7.x86_6

删除所有MySQL文件

find / -name mysql

rm -rf  /var/lib/mysql
rm -rf  /var/lib/mysql/mysql
rm -rf  /usr/local/mysql

删除/etc/my.cnf配置文件

rm /etc/my.cnf

删除日志文件

rm -rf /var/log/mysql/mysqld.log
 

二、MySQL用户管理策略及资源限制

1、用户访问白名单

root@'%'                 ----任何地址
root@'192.0.0.1'     ----只允许单个地址
root@'192.0.0.%'    ----24掩码 1-254
root@'192.0.0.5%'  ----50-59
root@'localhost'      ----数据库本地socket

2、创建用户

2.1、mysql8新特性,创建用户时一并设置密码

mysql> create user test@'%' identified by '123';

2.2、创建用户兼容mysql老版本客户端

mysql> create user test2@'%' identified with mysql_native_password by '123';
Query OK, 0 rows affected (0.02 sec)

“WITH mysql_native_password” 是 MySQL 数据库中的一种身份验证插件,用于对用户进行身份验证。它使用 MySQL 原生的密码加密算法,是 MySQL 8.0 版本之后默认的身份验证方式。使用 “WITH mysql_native_password” 可以保证数据库的安全性,并且兼容旧版本的 MySQL 客户端。

2.3、删除用户

3、修改用户

mysql> alter user test2@'%'  identified with mysql_native_password by '123456';

用户锁定与解锁

锁定test2用户

mysql> ALTER USER 'test2'@'%' ACCOUNT LOCK;

解锁test2用户

mysql> ALTER USER 'test2'@'%' ACCOUNT UNLOCK;

4、MySQL8用登录控制

4.1、设置密码过期时间

ALTER USER 'username'@'%' PASSWORD EXPIRE;                                //设置立即过期
ALTER USER 'username'@'%' PASSWORD EXPIRE INTERVAL 30 DAY; //设置30天过期
ALTER USER 'username'@'%' PASSWORD EXPIRE NEVER;                  //禁用密码过期

4.2、 禁止重复使用最近3个或超过30天的密码

 修改文件 my.cnf,mysql8.0是/etc/my.cnf:

[mysqld]
password_history=3
password_reuse_interval=30

4.3、用户锁定策略

# 连续登录失败3次则锁定1天,天数可取值:0-32767,设置 0 则代表解锁
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test123' FAILED_LOGIN_ATTEMPTS 7 PASSWORD_LOCK_TIME 1;

# 连续登录失败3次则永久锁定
ALTER USER 'try8'@'localhost' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME UNBOUNDED;

MYSQL8用户权限配置详解_mysql8.0修改用户库权限-CSDN博客

5、MySQL8 --root密码重置

5.1、 关闭数据库

[root@192 ~]# systemctl  stop mysqld

5.2、安全模式启动数据库
[root@192 ~]# 2024-03-10T14:03:54.700831Z mysqld_safe Logging to '/data/3306/data/192.168.87.154.err'.

5.3、无密码登录数据库,刷新MySQL授权表

[root@192 ~]# mysql -uroot 

5.4、重启数据库到测试新密码登录

三、MySQL8用户的新特性

1、密码插件,在8.0中替换为了 caching_sha2_password加密模式
2、在8.0中不支持grant直接创建用户并授权,必须先建用户后grant授权。
     密码插件sha2会影响老的客户端程序连接问题。
     例如:客户端工具,navicat 、 sqlyog工具不支持(无法连接)
     主从复制,MGR ,不支持新的密码插件的用户 
     老的驱动无法连接数据库,代码需要更新

3、解决方法,建立用户时指定with mysql_native_password
     create with mysql_native_password
     alter with mysql_native_password
     建议修改配置文件,指定密码插件,修改配置文件需要重启服务

     vi /etc/my.cnf
    default_authentication_plugin=mysql_native_password

    

    

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

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

相关文章

鸿蒙开发学习入门教程之环境配置

最近鸿蒙开发越来越火,各个大厂都有鸿蒙版本的计划和宣传,看这个趋势,可能会在几年内发展壮大,为我们移动端码农开辟一片新的职场。所以现在开始学起来还是很有必要的。今天就一起开始配置环境搞起来吧。 首先,找到官…

用户管理【MySQL】

文章目录 查看用户信息创建用户修改密码删除用户授予权限收回权限 查看用户信息 在名为mysql的数据库中有一个表user维护着 MySQL 的用户信息。 其中: user: 表示该用户的用户名。host: 表示该用户可以从哪个主机登录,localhost…

【Spark编程基础】实验一Spark编程初级实践(附源代码)

文章目录 一、实验目的二、实验平台三、实验内容和要求1. 计算级数2. 模拟图形绘制3.统计学生成绩 一、实验目的 1.掌握 Scala 语言的基本语法、数据结构和控制结构; 2.掌握面向对象编程的基础知识,能够编写自定义类和特质; 3.掌握函数式编程…

SSL证书:构建网络安全的基石

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

简单接入电商API接口|轻松实现实时采集淘宝、抖音、快手、1688商品,挖掘潜力款

今天给大家带来一款非常实用的电商API接口,这款数据采集接口支持淘宝采集、抖音采集、快手采集、1688采集以及潜力款分析,功能强大,助您在电商领域更上一层楼。 首先,我们来了解一下淘宝采集功能。作为国内最大的电商平台&#xf…

基于Java+springboot+VUE+redis实现的前后端分类版网上商城项目

基于Java springbootVUEredis实现的前后端分类版网上商城项目 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言…

Contact-GraspNet: Efficient 6-DoF Grasp Generationin Cluttered Scenes

总结 提出一种端到端的网络,解决复杂场景中对未知物体的抓取。将六自由度抓取投影到观察到的点云中的接触点,表示只有4-DoF。 摘要 我们提出了一个端到端网络,可以直接从场景的深度记 录中有效地生成六自由度平行颚抓取的分布。 我们的新…

06 数据结构之树

引言&#xff1a; 数的代码实现&#xff0c; 先序遍历、中序、后序、层次遍历 /* binary_tree.h */ #ifndef _BINARY_TREE_H #define _BINARY_TREE_H#include <stdio.h> #include <stdlib.h> #include <string.h>#define DEBUG(msg) \printf("--%s--, %…

车载诊断协议DoIP系列 —— 诊断报文和诊断报文应答传输层安全(TLS)

车载诊断协议DoIP系列 —— 诊断报文和诊断报文应答&传输层安全(TLS) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎…

NLP:文本相似度计算

前面我们已经实现了把长段的句子&#xff0c;利用HanLP拆分成足够精炼的分词&#xff0c;后面我们要实现“联想”功能&#xff0c;我这里初步只能想到通过文本相似度计算来实现。下面介绍一下文本相似度计算 &#xff08;当然HanLP也有文本相似度计算的方法&#xff0c;这里我…

【JAVA】CSS3伸缩盒案例、响应式布局、BFC

1.CSS3伸缩盒案例 效果&#xff1a;用伸缩盒模型 <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&…

Windows电脑安装Linux(Ubuntu 22.04)系统(图文并茂)

Windows电脑安装Ubuntu 22.04系统&#xff0c;其它版本的Ubuntu安装方法相同 Ubuntu 16.04、Ubuntu 18.04安装方法相同&#xff0c;制作U盘启动项的镜像文件下载你需要的版本即可&#xff01; Ubuntu的中文官网网址&#xff1a;https://cn.ubuntu.com/&#xff0c;聪明的你一定…

redisson解决redis服务器的主从一致性问题

redisson解决redis的主节点和从节点一致性的问题。从而解决锁被错误获取的情况。 实际开发中我们会搭建多台redis服务器&#xff0c;但这些服务器分主次&#xff0c;主服务器负责处理写的操作&#xff08;增删改&#xff09;&#xff0c;从服务器负责处理读的操作&#xff0c;…

TCP粘包和分包

TCP的粘包和分包是网络通信中常见的问题&#xff0c;特别是在使用TCP协议进行数据传输时。这两个问题都涉及到TCP在传输数据时的工作机制。 粘包&#xff08;TCP数据合并&#xff09; 粘包指的是发送方发送的多个小数据包在传输过程中被TCP协议合并成一个大的数据包接收&…

英飞凌电源管理PMIC的安全应用

摘要 本篇文档主要用来介绍英飞凌电源管理芯片TLF35584的使用&#xff0c;基于电动助力转向应用来介绍。包含一些安全机制的执行。 TLF35584介绍 TLF35584是英飞凌推出的针对车辆安全应用的电源管理芯片&#xff0c;符合ASIL D安全等级要求&#xff0c;具有高效多电源输出通道&…

AI认知与科普(通识)

一、宏观分析 1.全球人工智能产业概况&#xff1a; 近年来&#xff0c;全球人工智能产业呈现出快速增长的趋势。据相关数据显示&#xff0c;全球人工智能市场规模预计将在2025年达到约600亿美元&#xff0c;年复合增长率达到约25%。其中&#xff0c;美国、中国、欧洲、日本等地…

Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(一)

前言 Jmeter&#xff0c;Postman一些基本大家相比都懂。那么真实在项目中去使用&#xff0c;又是如何使用的呢&#xff1f;本文将一文详解jmeter接口测试 一、接口测试分类 二、目前接口架构设计 三、市面上的接口测试工具 四、Jmeter简介&#xff0c;安装&#xff0c;环境…

opencv解析系列 - 基于DOM提取大面积植被(如森林)

Note&#xff1a;简单提取&#xff0c;不考虑后处理&#xff08;填充空洞、平滑边界等&#xff09; #include <iostream> #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include <opencv2/opencv.hpp> using namespace cv…

深入理解React中的useReducer:管理复杂状态逻辑的利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

​​​​​​​ARCGIS API for Python进行城市区域提取

ArcGIS API for Python主要用于Web端的扩展和开发&#xff0c;提供简单易用、功能强大的Python库&#xff0c;以及大数据分析能力&#xff0c;可轻松实现实时数据、栅格数据、空间数据等多源数据的接入和GIS分析、可视化&#xff0c;同时提供对平台的空间数据管理和组织管理功能…