打卡--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

    

    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

02-app端文章查看,静态化freemarker,分布式文件系统minIO

app端文章查看,静态化freemarker,分布式文件系统minIO 1)文章列表加载 1.1)需求分析 文章布局展示 1.2)表结构分析 ap_article 文章基本信息表 ap_article_config 文章配置表 ap_article_content 文章内容表 三张表关系分析 1.3)导入文章数据库 1.3.1)导入数据…

【vue.js】文档解读【day 2】 | 响应式基础

如果阅读有疑问的话,欢迎评论或私信!! 本人会很热心的阐述自己的想法!谢谢!!! 文章目录 响应式基础声明响应式状态(属性)响应式代理 vs 原始值声明方法深层响应性DOM 更新时机有状态方法 响应式…

电脑数据安全新防线:文件备份的终极指南

一、数据守护者的使命:文件备份的重要性 在数字化日益普及的今天,电脑已成为我们日常生活和工作的必备工具,文件作为我们储存、交流和处理信息的主要载体,其重要性不言而喻。然而,无论是由于硬件故障、软件崩溃&#…

Autosar教程-Mcal教程-GPT配置教程

3.3GPT配置、生成 3.3.1 GPT配置所需要的元素 GPT实际上就是硬件定时器,需要配置的元素有: 1)定时器时钟:定时器要工作需要使能它的时钟源 2)定时器分步:时钟源进到定时器后可以通过分频后再给到定时器 定时器模块选择:MCU有多个定时器模块,需要决定使用哪个定时器模块作…

【动态规划】代码随想录算法训练营第三十九天 |62.不同路径,63.不同路径II(待补充)

62.不同路径 1、题目链接:. - 力扣(LeetCode) 2、文章讲解:代码随想录 3、题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右…

JavaScript高级Ⅱ(全面版)

接上文 JavaScript高级Ⅰ JavaScript高级Ⅰ(自认为很全面版)-CSDN博客 目录 第2章 DOM编程 2.1 DOM编程概述 2.1.4 案例演示(商品全选) 2.1.5 dom操作内容 代码演示: 运行效果: 2.1.6 dom操作属性 代码演示: 运行效果: 2…

H264/265编码参数2: Profile Level Tier

profile和level profile和level是视频编码中两个很重要的概率,中文一般叫做档次和级别。 在MPEG2标准里边,按不同的压缩比分成五个档次,按视频清晰度分为四个级别,如下图所示: 档次和级别共有 20 种组合,…

2024年【化工自动化控制仪表】考试总结及化工自动化控制仪表作业考试题库

题库来源:安全生产模拟考试一点通公众号小程序 2024年【化工自动化控制仪表】考试总结及化工自动化控制仪表作业考试题库,包含化工自动化控制仪表考试总结答案和解析及化工自动化控制仪表作业考试题库练习。安全生产模拟考试一点通结合国家化工自动化控…

day-18 长度最小的子数组

运用队列的思维&#xff0c;求出每种满足题意的子数组长度&#xff0c;最小的即为答案&#xff0c;否则返回0 code class Solution {public int minSubArrayLen(int target, int[] nums) {int l0,r0;int ansInteger.MAX_VALUE;int total0;while(r<nums.length){totalnums[r…

C++:类和对象(三)——拷贝构造函数和运算符重载

目录 一、拷贝构造函数 1.概念 2.特性 二、赋值运算符重载 1.运算符重载 2.赋值运算符重载 &#xff08;1&#xff09;注意的点&#xff1a; &#xff08;2&#xff09;赋值运算符不允许被重载为全局函数&#xff0c;只能重载为类的成员函数 &#xff08;3&#xff09;…

STM32单片机示例:ETH_LAN8742_DHCP_NonOS_Poll_H743

文章目录 目的基础说明关键配置关键代码示例链接总结 目的 以太网是比较常用到的功能&#xff0c;STM32系列单片机使用CubeMX配置使用以太网功能比非常方便。不过对于H7系列来说需要使能 DCache 才能启用LwIP&#xff0c;启用Cache后又会带来一些需要特别注意的事情。这篇文章…

HarBor私有镜像仓库安装部署

环境准备 #>>> redis $ yum -y install redis $ systemctl enable --now redis $ vim /etc/redis.conf modify: bind <ipaddress> $ systemctl restart redis#>>> nfs $ yum -y install nfs-utils $ mkdir -p /data/harbor $ vi /etc/exports /data/h…

简介:CMMI软件能力成熟度集成模型

前言 CMMI是英文Capability Maturity Model Integration的缩写。 CMMI认证简称软件能力成熟度集成模型&#xff0c;是鉴定企业在开发流程化和质量管理上的国际通行标准&#xff0c;全球软件生产标准大都以此为基点&#xff0c;并都努力争取成为CMMI认证队伍中的一分子。 对一个…

动静态库

inode inode用于管理文件属性和内容 一个文件只能有一个inode&#xff0c;一个inode可以对应多个文件名 Linux进程中&#xff0c;打开的每一个文件都有对应的文件inode属性和文件页缓冲区&#xff08;内存和磁盘的缓冲区&#xff09; 软硬链接 硬链接 多个文件指向同一个i…

Gradle模块化最佳实践

一&#xff0c;模块化的原因及意义 模块化是一种将大型的软件系统拆分成相互独立的模块的方法。具有以下优势&#xff1a; 代码复用&#xff1a;不同的模块可以共享相同的代码。这样可以避免重复编写相同的代码&#xff0c;提高开发效率。模块独立性&#xff1a;每个模块都可…

【安装教程】windows下安装Faiss-GPU

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 【安装教程】windows下安装Faiss-GPU 查看安装指令 查看安装指令 登录网站&#xff1a;https://anaconda.org/ &#xff0c; 然后搜索faiss-gpu会进入如下界面&#xff0c;或…

Vue 3中的reactive:响应式状态的全面管理

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

讲解Python3内置模块之json编码解码方法

简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式&#xff0c;这些特性使JSON成为理想的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成&#…

web前端框架

目前比较火热的几门框架: React React是由Facebook(脸书)开发和创建的开源框架。React 用于开发丰富的用户界面&#xff0c;特别是当您需要构建单页应用程序时。它是最强大的前端框架。 弊端: 您不具备 JavaScript 的实践知识&#xff0c;则建议不要使用 React。同样&#x…

MIT6.828LAB4 (3)

LAB3_Part B: Copy-on-Write Fork 文章目录 LAB3_Part B: Copy-on-Write Fork前言练习8练习9练习10练习11练习12总结 前言 记录一下自己的学习过程 实验内容翻译&#xff1a; https://gitee.com/cherrydance/mit6.828 该翻译仅供参考 练习8 实现sys_env_set_pgfault_upcall系统…