mysql8.0-学习

文章目录

  • mysql8.0基础知识-学习
    • 安装mysql_8.0
    • 登录
    • mysql8.0的体系结构与管理
      • 体系结构图
      • 连接mysql
      • mysql8.0的 “新姿势”
    • mysql的日常管理
      • 用户安全
      • 权限
      • 练习
      • 查看用户的权限
      • 回收:revoke
      • 角色
    • mysql的多种连接方式
      • socket
        • 显示系统中当前运行的所有线程
      • tcp/ip
      • 客户端工具
      • 基于SSL的安全连接
    • mysql8.0初始化配置方式
      • 初始化配置文件应用
    • mysql8.0的启动和关闭
    • MySQL 8.0多实例的配置应用
      • 不同版本的
    • MySQL 8.0的工具日志配置管理
      • 错误日志
      • 二进制日志
      • 慢日志(slow_log)
      • general_log

mysql8.0基础知识-学习

安装mysql_8.0

利用xftp拖拽进来: mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

image-20240420120142409

useradd mysqlcd /opttar xf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xzln -s /opt/mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysqlvim /etc/profile
export PATH=/usr/local/mysql/bin:$PATHsource /etc/profilemysql -V#创建目标并授权
mkdir -p /data/3306/data
chown mysql.mysql /data#创建配置文件,删除里边原有的数据
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
server_id=51
[mysql]
socket=/tmp/mysql.sock
  1. [mysqld]:这是一个组名,用于定义 MySQL 服务器的全局系统变量。这些变量影响整个数据库服务器的运行。
    • user=mysql:定义了运行 MySQL 服务器进程的用户。这里指定了 mysql 用户。
    • basedir=/usr/local/mysql:指定了 MySQL 安装的基本目录。这通常是 MySQL 的安装路径,其中包含了 MySQL 的二进制文件和库文件。
    • datadir=/data/3306/data:指定了 MySQL 数据文件存放的目录。这是数据库文件(如表的数据和索引)存储的地方。
    • socket=/tmp/mysql.sock:定义了 MySQL 服务器进程监听的 Unix 套接字文件。客户端可以通过这个套接字文件连接到 MySQL 服务器。
    • server_id=51:为 MySQL 服务器指定了一个唯一的 ID。在复制集群中,每个服务器都需要有一个不同的 server_id
  2. [mysql]:这是另一个组名,用于定义 MySQL 客户端的系统变量。
    • socket=/tmp/mysql.sock:指定了 MySQL 客户端使用的 Unix 套接字文件。这通常与 [mysqld] 组中的 socket 变量相对应,确保客户端知道在哪里找到服务器进程。
#初始化数据(建库),选第一个方法就行
mysqld --initialize-insecure          '这是常规的初始化方法'--->这个不会生成密码,需要自己设置mysqld --initialize					 '这是第二种方法'--->会自动创建root的零时密码#启动数据库
cd /usr/local/mysql/support-files/./mysql.server start# 做成服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldservice mysqld restart# 设置开机自启动
service mysqld stop
systemctl enable mysqld
systemctl start mysqld

初始化命令还可以写全一点:

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data

# 写成一键部署脚本useradd mysqlcd /opttar xf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xzln -s /opt/mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysqlsudo cat << EOF >> /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
EOFsource /etc/profile#测试是否存在
mysql -Vmkdir -p /data/3306/data
chown mysql.mysql /data#创建配置文件

登录

直接输入 mysql
[root@mysql-1 support-files]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPLCopyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

mysql8.0的体系结构与管理

体系结构图

image-20240421114513316

连接mysql

image-20240421115247121

image-20240421115307144

mysql8.0的 “新姿势”

image-20240421115355252

image-20240421115404240

mysql的日常管理

用户安全

image-20240421122042827

image-20240421122342497

image-20240421122408542

image-20240421122425345

image-20240421122440314

image-20240421122506196

image-20240421122528041

image-20240421122539138

'查询用户的命令'
mysql> select user,host ,authentication_string ,plugin from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+-----------------------+
| user             | host      | authentication_string                                                  | plugin                |
+------------------+-----------+------------------------------------------------------------------------+-----------------------+
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| mysql.session    | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| mysql.sys        | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| root             | localhost |                                                                        | caching_sha2_password |
+------------------+-----------+------------------------------------------------------------------------+-----------------------+
4 rows in set (0.00 sec)mysql> 
'创建用户,设置密码'
mysql> create user gaohui@'192.168.182.%';
Query OK, 0 rows affected (0.00 sec)mysql> mysql> create user test@'192.168.182.%' identified by '123';
Query OK, 0 rows affected (0.01 sec)mysql> 
'一般如果要兼容老版本:用with mysql_native_password'
mysql> create user user1@'192.168.182.%' identified with mysql_native_password by '123
3';
Query OK, 0 rows affected (0.01 sec)mysql> 
'修改---》密码'
alter user gaohui@'192.168.182.%' identified with mysql_native_password by '123456';
alter user gaohui@'192.168.182.%' identified by '12345';
刷新一下:
flush privileges;'修改--》锁用户'
alter user user1@'192.168.182.%' account lock;
'解锁'
mysql> alter user user1@'192.168.182.%' account unlock;
mysql> select user,host ,authentication_string ,plugin,account_locked from mysql.user;
+------------------+---------------+------------------------------------------------------------------------+-----------------------+----------------+
| user             | host          | authentication_string                                                  | plugin                | account_locked |
+------------------+---------------+------------------------------------------------------------------------+-----------------------+----------------+
| user1            | 192.168.182.% | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              | mysql_native_password | N              |
| mysql.infoschema | localhost     | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | Y              |
| mysql.session    | localhost     | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | Y              |
| mysql.sys        | localhost     | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | Y              |
| root             | localhost     |                                                                        | caching_sha2_password | N              |
+------------------+---------------+------------------------------------------------------------------------+-----------------------+----------------+
5 rows in set (0.00 sec)mysql> 
'删除'
drop user gaohui@'192.168.182.%';
drop user test@'192.168.182.%';mysql> select user,host from mysql.user where (user='' or host='' or
authentication_string='') and user!='root';

权限

image-20240421122625990

image-20240421171339026

image-20240421172259234

练习

mysql> create user test@'192.168.182.%' identified with mysql_native_password by '123';
Query OK, 0 rows affected (0.01 sec)mysql> 
mysql> create user test@'localhost' identified with mysql_native_password by '123';
Query OK, 0 rows affected (0.01 sec)mysql> mysql> grant all on *.* to test@'192.168.182.%';
Query OK, 0 rows affected (0.00 sec)mysql> grant all on *.* to test@'localhost';
Query OK, 0 rows affected (0.00 sec)mysql> 

假如来了个开发人员

dev_user1

可以远程登录,开发,dev库

 Create ,Create routine,Create temporary tables,Create view,Show view
,Delete ,Event ,Execute,Insert ,References,Select,Trigger,Updatemysql> grant  Create ,Create routine,Create temporary tables,Create view,Show view on dev_db.* to dev_user1@'192.168.182.%';
mysql> create database dev_db charset utf8mb4;
Query OK, 1 row affected (0.00 sec)mysql> 

创建一个主从复制相关用户

repl,复制用户

create user repl@'192.168.182.%' identified with mysql_native_password by '123';
grant replication slave,replication client on *.* to repl@'192.168.182.%';

查看用户的权限

mysql> show grants for repl@'192.168.182.%';
+------------------------------------------------------------------------------+
| Grants for repl@192.168.182.%                                                |
+------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `repl`@`192.168.182.%` |
+------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql> 
mysql> select * from mysql.user where user='dev_user1' \G
*************************** 1. row ***************************Host: 192.168.182.%User: dev_user1Select_priv: NInsert_priv: NUpdate_priv: NDelete_priv: NCreate_priv: NDrop_priv: NReload_priv: NShutdown_priv: NProcess_priv: NFile_priv: NGrant_priv: NReferences_priv: NIndex_priv: NAlter_priv: NShow_db_priv: NSuper_priv: NCreate_tmp_table_priv: NLock_tables_priv: NExecute_priv: NRepl_slave_priv: NRepl_client_priv: NCreate_view_priv: NShow_view_priv: NCreate_routine_priv: NAlter_routine_priv: NCreate_user_priv: NEvent_priv: NTrigger_priv: NCreate_tablespace_priv: Nssl_type: ssl_cipher: 0xx509_issuer: 0xx509_subject: 0xmax_questions: 0max_updates: 0max_connections: 0max_user_connections: 0plugin: mysql_native_passwordauthentication_string: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257password_expired: Npassword_last_changed: 2024-04-24 14:37:48password_lifetime: NULLaccount_locked: NCreate_role_priv: NDrop_role_priv: NPassword_reuse_history: NULLPassword_reuse_time: NULL
Password_require_current: NULLUser_attributes: NULL
1 row in set (0.00 sec)mysql> 
select * from mysql.db where user='dev_user1' \G

回收:revoke

mysql> show grants for dev_user1@'192.168.182.%';
+------------------------------------------------------------------------------------------------------------------------------------+
| Grants for dev_user1@192.168.182.%                                                                                                 |
+------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `dev_user1`@`192.168.182.%`                                                                                  |
| GRANT DELETE, CREATE, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE ON `dev_db`.* TO `dev_user1`@`192.168.182.%` |
+------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> 
mysql> revoke delete on dev_db.* from dev_user1@'192.168.182.%';
Query OK, 0 rows affected (0.00 sec)

image-20240424152009653

角色

image-20240424152118440

mysql> create role dev_r@'192.168.182.%';
Query OK, 0 rows affected (0.00 sec)mysql> grant CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW, DELETE, EVENT, EXECUTE, INSERT, REFERENCES, SELECT, TRIGGER, UPDATE on dev_db.* to 'dev_r'@'192.168.182.%';
Query OK, 0 rows affected (0.00 sec)mysql>
create user dev_1@'192.168.182.%' identified with mysql_native_password by '123';
grant dev_r@'192.168.182.%' to dev1@'192.168.182.%';

mysql的多种连接方式

socket

image-20240424153117999

socket —》前提: 1.数据库启动 2.必须是localhost白名单的用户才能socket登录

image-20240424153832869

显示系统中当前运行的所有线程

image-20240424154331944

tcp/ip

image-20240424153136161

客户端工具

image-20240424153151000

基于SSL的安全连接

mysql> show variables like '%ssl%';
+-------------------------------------+-----------------+
| Variable_name                       | Value           |
+-------------------------------------+-----------------+
| admin_ssl_ca                        |                 |
| admin_ssl_capath                    |                 |
| admin_ssl_cert                      |                 |
| admin_ssl_cipher                    |                 |
| admin_ssl_crl                       |                 |
| admin_ssl_crlpath                   |                 |
| admin_ssl_key                       |                 |
| have_openssl                        | YES             |
| have_ssl                            | YES             |
| mysqlx_ssl_ca                       |                 |
| mysqlx_ssl_capath                   |                 |
| mysqlx_ssl_cert                     |                 |
| mysqlx_ssl_cipher                   |                 |
| mysqlx_ssl_crl                      |                 |
| mysqlx_ssl_crlpath                  |                 |
| mysqlx_ssl_key                      |                 |
| performance_schema_show_processlist | OFF             |
| ssl_ca                              | ca.pem          |
| ssl_capath                          |                 |
| ssl_cert                            | server-cert.pem |
| ssl_cipher                          |                 |
| ssl_crl                             |                 |
| ssl_crlpath                         |                 |
| ssl_fips_mode                       | OFF             |
| ssl_key                             | server-key.pem  |
+-------------------------------------+-----------------+
25 rows in set (0.01 sec)mysql> 

mysql8.0初始化配置方式

初始化配置文件应用

image-20240424153315681

image-20240424153336546

mysql8.0的启动和关闭

image-20240424214659028

image-20240424214800629

MySQL 8.0多实例的配置应用

image-20240424215846879

image-20240424215859543

image-20240424220017116

image-20240424220023928

不同版本的

image-20240424220043454

image-20240424220054870

image-20240424220113458

image-20240424220124899

MySQL 8.0的工具日志配置管理

image-20240424220306749

错误日志

image-20240424220342496

image-20240424220359417

image-20240424220411366

二进制日志

image-20240424220432094

image-20240424220502694

慢日志(slow_log)

image-20240424220616809

general_log

image-20240424220644499

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

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

相关文章

Wp-scan一键扫描wordpress网页(KALI工具系列三十二)

目录 1、KALI LINUX 简介 2、Wp-scan工具简介 3、信息收集 3.1 目标IP&#xff08;服务器) 3.2kali的IP 4、操作实例 4.1 基本扫描 4.2 扫描已知漏洞 4.3 扫描目标主题 4.4 列出用户 4.5 输出扫描文件 4.6 输出详细结果 5、总结 1、KALI LINUX 简介 Kali Linux 是一…

STM32CubeIDE使用标准库

以STM32F030为例使用标准库文件。 1、新建工程&#xff0c;选择需要使用配置的型号。 2、在工程选型中&#xff0c;选择新建空工程。 3、新建空工程 新建完成&#xff0c;系统只有main函数和启动文件.s有用。 4、启动文件 启动文件&#xff0c;同样是一个汇编文件&#xf…

【Matlab函数分析】imread从图形文件读取图像

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

如何利用AI生成可视化图表(统计图、流程图、思维导图……)免代码一键绘制图表

由于目前的AI生成图表工具存在以下几个方面的问题&#xff1a; 大多AI图表平台是纯英文&#xff0c;对国内用户来说不够友好&#xff1b;部分平台在生成图表前仍需选择图表类型、配置项&#xff0c;操作繁琐&#xff1b;他们仍需一份规整的数据表格&#xff0c;需要人为对数据…

软件框架(Framework)是什么?

可实例化的、部分完成的软件系统或子系统&#xff0c;它为一组系统或子系统定义了统一的体系结构(architecture)&#xff0c;并提供了构造系统的基本构造块(building blocks)&#xff0c;还为实现具体功能定义了扩展点(extending points)。 框架实现了体系结构级别的复用。 其…

系统工程与信息系统基础(上)

目录 系统工程 霍尔三维结构的三维&#xff1a; 切克兰德方法&#xff1a; 并行工程方法&#xff1a; 综合集成法&#xff1a; WSR系统方法&#xff1a; 系统工程生命周期阶段 探索性阶段 概念阶段 开发阶段 生产阶段 使用阶段 保障阶段 退役阶段 系统工程生命周…

初识HTML

HTML语法规范 1、HTML标签是由尖括号包围的关键字&#xff0c;例如<html>。 2、HTML标签通常成对出现&#xff0c;例如<html></html>&#xff0c;此为双标签&#xff0c;标签对的第一个标签是开始标签&#xff0c;第二个标签是结束标签。 3、有些特殊标签…

详解flink sql, calcite logical转flink logical

文章目录 背景示例FlinkLogicalCalcConverterBatchPhysicalCalcRuleStreamPhysicalCalcRule其它算子FlinkLogicalAggregateFlinkLogicalCorrelateFlinkLogicalDataStreamTableScanFlinkLogicalDistributionFlinkLogicalExpandFlinkLogicalIntermediateTableScanFlinkLogicalInt…

语音唤醒入门(基于ESP-skainet)

主要参考资料&#xff1a; ESP-SR 用户指南: https://docs.espressif.com/projects/esp-sr/zh_CN/latest/esp32s3/index.html 目录 ESP提供的模型直接初始化和使用模型AFE声学前端算法 使用模型 自定义模型 ESP提供的模型 乐鑫提供了经过训练的 WakeNet 和 MultiNet 模型&…

45.分解质因数

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/711 题目描述 给定一个整数 𝑛n,请将它…

HDFS详细介绍以及HDFS集群环境部署【hadoop组件HDFS笔记】(图片均为学习时截取的)

HDFS详细介绍 HDFS是什么 HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一 全称是&#xff1a;Hadoop Distributed File System&#xff08;Hadoop分布式文件系统&#xff09;&#xff1b;是Hadoop技术栈内提供的分布式数据存储解决方案 可以在多台服务器上构建存储集群&…

云计算【第一阶段(21)】Linux引导过程与服务控制

目录 一、linux操作系统引导过程 1.1、开机自检 1.2、MBR引导 1.3、GRUB菜单 1.4、加载 Linux 内核 1.5、init进程初始化 1.6、简述总结 1.7、初始化进程centos 6和7的区别 二、排除启动类故障 2.1、修复MBR扇区故障 2.1.1、 实验 2.2、修复grub引导故障 2.2.1、实…

敏捷开发笔记(第9章节)--开放-封闭原则(OCP)

目录 1&#xff1a;PDF上传链接 9.1 开放-封闭原则&#xff08;OCP&#xff09; 9.2 描述 9.3 关键是抽象 9.3.1 shape应用程序 9.3.2 违反OCP 糟糕的设计 9.3.3 遵循OCP 9.3.4 是的&#xff0c;我说谎了 9.3.5 预测变化和“贴切的”结构 9.3.6 放置吊钩 1.只受一次…

团队任务管理跟踪软件有哪些?分享2024年值得关注的10款

本文将分享2024年值得关注的10款团队任务管理跟踪软件&#xff1a;Worktile、PingCode、Zoho Projects、Wrike、ProofHub、Connecteam、MeisterTask、Nifty、BIGContacts、Hive。 无论是小型初创企业还是庞大的跨国公司&#xff0c;高效的任务管理都能显著提升工作效率&#xf…

面试框架一些小结

springcloud的⼯作原理 springcloud由以下⼏个核⼼组件构成&#xff1a; Eureka&#xff1a;各个服务启动时&#xff0c;Eureka Client都会将服务注册到Eureka Server&#xff0c;并且Eureka Client还可以反过来从Eureka Server拉取注册表&#xff0c; 从⽽知道其他服务在哪⾥ …

新能源行业知识体系-------主目录-----持续更新

本文相当于目录方便快速检索内容&#xff0c;没有实际内容&#xff0c;只做索引 文章目录 一、电力市场概论二、蒙西电网需求侧响应三、蒙西电网市场结算V2.0 一、电力市场概论 是学习清华大学电力市场概论(2024年春)的学习笔记&#xff0c;详细了解电力市场是如何利用经济学知…

48 - 按日期分组销售产品(高频 SQL 50 题基础版)

48 - 按日期分组销售产品 -- group_concat 分组拼接selectsell_date,count(distinct product) num_sold,group_concat(distinct product order by product separator ,) products fromActivities group bysell_date;

grpc教程——proto文件转go

【1】编写一个proto文件 syntax "proto3"; package myproto;service NC{rpc SayStatus (NCRequest) returns (NCResponse){} }message NCRequest{ string name 1; } message NCResponse{string status 1; } 【2】转换&#xff1a;protoc --go_out. myservice.pro…

mmdetection2.28修改backbone不使用预训练参数、从头训练

背景 最近需要测试一下在backbone部分如果不使用预训练参数的话&#xff0c;模型需要多少轮才能收敛所使用的backbone是mmcls.ConvNeXtmmdetection版本为2.28.2&#xff0c;mmcls版本为0.25.0 修改流程 最简单的方法&#xff0c;直接去mmcls的model zoo里找到对应backbone的…

SpringBoot:使用Spring Batch实现批处理任务

引言 在企业级应用中&#xff0c;批处理任务是不可或缺的一部分。它们通常用于处理大量数据&#xff0c;如数据迁移、数据清洗、生成报告等。Spring Batch是Spring框架的一部分&#xff0c;专为批处理任务设计&#xff0c;提供了简化的配置和强大的功能。本文将介绍如何使用Spr…