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

news2024/9/28 3:29:34

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

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.coloradmin.cn/o/1506933.html

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

相关文章

ELFK 分布式日志收集系统

ELFK的组成: Elasticsearch: 它是一个分布式的搜索和分析引擎,它可以用来存储和索引大量的日志数据,并提供强大的搜索和分析功能。 (java语言开发,)logstash: 是一个用于日志收集,处理和传输的…

04hive数仓内外部表复杂数据类型与分区分桶

hive内部表和外部表 默认为内部表,外部表的关键字 :external内部表:对应的文件夹就在默认路径下 /user/hive/warehouse/库名.db/外部表:数据文件在哪里都行,无须移动数据 # students.txt 1,Lucy,girl,23 2,Tom,boy,2…

2023年终总结——跌跌撞撞不断修正

目录 一、回顾1.一月,鼓足信心的开始2.二月,焦躁不安3.三月,路还是要一步一步的走4.四月,平平淡淡的前行5.五月,轰轰烈烈的前行6.六月,看事情更底层透彻了7.七月,设计模式升华月8.八月&#xff…

加速 Webpack 构建:提升效率的秘诀

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

LCR 112. 矩阵中的最长递增路径【leetcode】/dfs+记忆化搜索

LCR 112. 矩阵中的最长递增路径 给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 不能 在 对角线 方向上移动或移动到 边界外(即不允…

【C语言基础】:深入理解指针(终篇)

文章目录 深入理解指针一、函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 typedef关键字 二、函数指针数组三、转移表四、回调函数4.1 什么是回调函数4.2 qsort使用举例4.2.1 使用qsort函数排序整形数据4.2.2 使用qsort排序结构数据4.2.3 qsort函数的模拟实现 …

贝叶斯优化的门控循环神经网络BO-GRU(时序预测)的Matlab实现

贝叶斯优化的门控循环神经网络(BO-GRU)是一种结合了贝叶斯优化(Bayesian Optimization, BO)和门控循环单元(Gated Recurrent Unit, GRU)的模型,旨在进行时序预测。这种模型特别适用于时间序列数…

python文件组织:包(package)、模块(module)、文件(file)

包: 模块所在的包,创建一个包用于组织多个模块,包文件夹中必须创建一个名为’__init__.py’的文件,以将其识别为包,否则只能算作是一个普通的目录。在使用该包时,init自动执行。 包可以多层嵌套&#xff…

C++变参模板

从c11开始&#xff0c;模板可以接受一组数量可变的参数&#xff0c;这种技术称为变参模板。 变参模板 下面一个例子&#xff0c;通过变参模板打印一组数量和类型都不确定的参数。 #include <iostream> #include <string>void print(void) {std::cout<<&quo…

数据结构小记【Python/C++版】——散列表篇

一&#xff0c;基础概念 散列表&#xff0c;英文名是hash table&#xff0c;又叫哈希表。 散列表通常使用顺序表来存储集合元素&#xff0c;集合元素以一种很分散的分布方式存储在顺序表中。 散列表是一个键值对(key-item)的组合&#xff0c;由键(key)和元素值(item)组成。键…

探索云原生数据库技术:构建高效可靠的云原生应用

数据库是应用开发中非常重要的组成部分&#xff0c;可以进行数据的存储和管理。随着企业业务向数字化、在线化和智能化的演进过程中&#xff0c;面对指数级递增的海量存储需求和挑战以及业务带来的更多的热点事件、突发流量的挑战&#xff0c;传统的数据库已经很难满足和响应快…

OpenCV filter2D函数详解

OpenCV filter2D函数简介 OpenCV filter2D将图像与内核进行卷积&#xff0c;将任意线性滤波器应用于图像。支持就地操作。当孔径部分位于图像之外时&#xff0c;该函数根据指定的边界模式插值异常像素值。 该函数实际上计算相关性&#xff0c;而不是卷积&#xff1a; filter…

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

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

vue3速查笔记

文章目录 一、创建Vue3.0工程1.使用 vue-cli 创建2.使用 vite 创建 二、常用 Composition API1.拉开序幕的setup2.ref函数3.reactive函数4.Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式 5.reactive对比ref6.setup的两个注意点7.计算属性与监视1.computed函数2.watch函数3…

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;聪明的你一定…

【线程】封装 | 安全 | 互斥

线程封装&#xff08;面向对象&#xff09; 1.组件式的封装出一个线程类&#xff08;像C11线程库那样去管理线程&#xff09; 我们并不想暴露出线程创建&#xff0c;终止&#xff0c;等待&#xff0c;分离&#xff0c;获取线程id等POSIX线程库的接口&#xff0c;我们也想像C1…

IDEA管理Git + Gitee 常用操作

文章目录 IDEA管理Git Gitee 常用操作1.Gitee创建代码仓库1.创建仓库1.点击新建仓库2.完成仓库信息填写3.创建成功4.管理菜单可以修改这个项目的设置 2.设置SSH公钥免密登录基本介绍1.找到.ssh目录2.执行指令 ssh-keygen3.将公钥信息添加到码云账户1.点击设置2.ssh公钥3.复制.…

React-配置别名@

1.概念 说明&#xff1a;路径解析配置(webpack),把/解析为src/&#xff1b;路径联想配置(VsCode),VsCode在输入/时&#xff0c;自动联想出来对应的src/下的子级目录。CRA本身把webpacki配置包装到了黑盒里无法直接修改&#xff0c;需要借助一个插件-craco。 2.实现步骤 2.1安…

docker常用操作-docker私有仓库的搭建(Harbor),并将本地镜像推送至远程仓库中。

1、docker-compose安装&#xff0c;下载docker-compose的最新版本 第一步&#xff1a;创建docker-compose空白存放文件vi /usr/local/bin/docker-compose 第二步&#xff1a;使用curl命令在线下载&#xff0c;并制定写入路径 curl -L "https://github.com/docker/compos…

npm市场发布包步骤

1.打开npm官网npm官网 2.创建自己的账号 3.查看当前npm的镜像源&#xff0c; 如果出现淘宝的镜像源则需要切换成官方的镜像源 npm config get registry //查看镜像源 https://registry.npm.taobao.org/ //淘宝的镜像源 https://registry.npmjs.org/ //官方的镜像源 …