Mysql进阶(一)

server/2025/3/4 11:46:10/

1. 在ubuntu下安装MySQL数据库

1.1 查看操作系统版本

        操作系统版本为Ubuntu22.04. LTS

        lsb_release -a;

 安装成功之后,查看mysql的状态

1.2 查看mysql的状态

1.3 登录mysql

mysql -uroot -p;

1.4 退出mysql

quit;

exit;

2. mysql 程序的学习

2.1 常用的mysql程序

2.2 mysqld-MySQL服务器

         mysqld也被称为MySQL服务器(服务端程序),是⼀个多线程程序,对数据⽬录(mysql的主要工作目录)进⾏访问管理(包含数据库和 表)。数据⽬录也是其他信息(如⽇志⽂件和状态⽂件)的默认存储位置。

        当MySQL服务器启动时,会侦听指定的端⼝、处理来⾃客⼾端程序的⽹络连接,并管理不同客⼾ 端对数据库的访问

        mysqld程序有许多选项可以在启动时指定。运⾏以下命令查看完整的选项列表: 

        mysqld --verbose -- help;

2.mysql-MySQL命令⾏客户端

2.1 mysql客户端简介

        mysql是⼀个简单的SQLshell,可以输⼊命令和执⾏SQL语句,当执⾏SQL语句时,查询结果以 ASCII 表格式显⽰:

        mysql -uroot -p;

        mysql -uroot -p 数据库名;

2.2 mysql客户端选项

        •在mysql后⾯的命令⾏中列出选项

        • 在mysql后⾯指定配置⽂件的路径,以便在程序启动时读取配置⽂件中的选项并解析对应程序选项的值,并应用在启动参数中。

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" "-uroot" "-p" "--default-character-set=utf8mb4"

defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini-->表示启动时默认前往配置文件读取数据。

         • 使⽤环境变量中的选项(略)

2.2 mysql客户端命令常用选项

        如果选项的值中包含空格,那么值需要包含在双引号中。

 2.3 在命令⾏中使⽤选项

        命令⾏中指定选项遵循以下规则:

         • 选项应在程序名之后给出。

        选项以单破折号" -"或双破折号"-- "号开头, -表⽰短格式,-- 表⽰⻓格式,--help 和 -? 都表⽰显⽰mysql程序显示帮助他的消息。

        • 对于带值的⻓格式选项,通常⽤ = 符号分隔选项名称和值。对于带值的短选项,选项值可以紧跟在 选项之后,也可以⽤空格隔开,例如:--host= 127.0.0.1 、-h127.0.0.1 和-h 127.0.0.1 是等价的。但是对于密码选项的短格式,如果要指定密码,选项与值之间不能有空 格,如下所⽰:

         在命令⾏中,第⼀个不带破折号的值被解析为要访问的数据库名,所以--database 选项⼀般可以省略;

        在选项名称中,破折号(- )和下划线( _ )在⼤多数情况下可以互换使⽤,但前导破折号不能转 为下划线,例如:--skip-grant-tables 和--skip_grant_tables 是等价的。

        • 对于采⽤数值的选项,该值可以带有后缀 K , M 或 G 以指⽰乘数1024、1024^2或1024^3,例 如,以下命令告诉mysqladmin对服务器执⾏1024次ping,每次ping之间休眠3秒 。

        在命令⾏中包含空格的选项值必须⽤引号引起来。例如,--execute (or-e )选项与mysql⼀ 起使⽤时,表⽰将⼀个或多个SQL语句发送给服务器执⾏并显⽰结果。

 2.4 选项(配置)⽂件

        ⼤多数MySQL程序都可以从选项⽂件(配置⽂件)中读取启动选项。可以在选项⽂件中指定常⽤选 项,这样就不⽤在每次运⾏程序时都在命令⾏中输⼊它们。⼤部分选项⽂件都是纯⽂本格式,可以使 ⽤任何⽂本编辑器创建。

2.4.1 使⽤⽅法

        选项 --defaults-file 可以指定要使⽤的选项⽂件,客⼾端程序会读取并应⽤选项⽂件中的相关配置。

linux:

windows:

如果在使用nysql程序是没有指定配置文件的路径,那么就会自动读取默认路径下的培植物文件。 

2.4.2 选项⽂件位置及加载顺序

        MySQL按以下表格中的顺序查找并读取选项⽂件。如果⽂件不存在则需要⼿动创建。 读取顺序从上到下,后读取的⽂件中配置的选项优先级越⾼。

1、 在Windows系统读取选项⽂件

2 、在Unix和Linux系统上读取的选项⽂件

2.4.3 设置客户端全局编码格式

etc/mysql vim mysql.cnf;

每一次修改配置文件之间做好备份,防止发生错误可以恢复到之前版本。

3 mysql 客户端命令

        使⽤mysql客⼾端程序连接到数据库服务器之后,可以发送SQL语句到服务器执⾏,并以";"(分 号)、\g 或\G结束。

1. ;与\g结束表⽰以表格形式展⽰结果

2. \G结束表⽰以⾏形式展⽰结果

 help:

指令说明:

 

 

mysql里面执行服务器系统命令;

system xxxxxxx; 

 

 

4. mysqlcheck-表维护程序

4.1 作用

        mysqlcheck客⼾端⽤于执⾏表维护,可以对表进⾏:分析、检查、优化或修复操作。

        • 分析的作⽤是查看表的关键字分布,能够让sql⽣成正确的执⾏计划(⽀持InnoDB,MyISAM, NDB)

         • 检查的作⽤是检查表的完整性以及数据库表和索引是否损坏(⽀持InnoDB,MyISAM, ARCHIVE,CSV)

         • 优化的作⽤是回收空间、减少碎⽚、提⾼I/O(⽀持InnoDB,MyISAM,ARCHIVE)

         • 修复的作⽤是修复可能已经损坏的表(⽀持MyISAM,ARCHIVE,CSV)

4.2 注意事项

1. 当使⽤mysqlcheck⼯具时,MySQL服务器必须在运⾏状态

2. 执⾏过程中相应的表将会被锁定,所以其他的操作将会被挂起

3. 并不是所有的存储引擎都⽀持以上四种操作,如果遇到不⽀持的引擎会报出相应的错误

4. 执⾏表修复操作之前对表进⾏备份,在某些情况下可能会导致数据丢失。

4.3 使⽤⽅法

        • ⼀般通过以下三种⽅法使⽤mysqlcheck

1 mysqlcheck [options] db_name [tbl_name ...]

2 mysqlcheck [options] --databases db_name ...

3 mysqlcheck [options] --all-databases

4.4 mysqlcheck的特殊使⽤

        mysqlcheck程序的默认功能是对数据表进⾏检查操作(相当于指定选项--check ),如果想要对 表进⾏修复操作,可以通过复制原来的mysqlcheck程序,并重命名为mysqlrepair,并运⾏ mysqlrepair即可,还可以创建mysqlcheck的快捷⽅式,并把快捷⽅式命名为mysqlrepair然后直接运⾏,这时就执⾏的是修复操作,通过下表所⽰的命名⽅式可以改变mysqlcheck的默认⾏ 为;

5. Mysqldump-数据库备份程序

5.1 作⽤

        • mysqldump客⼾端程序可以执⾏逻辑备份并⽣成⼀组SQL语句,其中包含原始数据库和表的定义以及表中的数据,以便实现对数据库的简单备份或复制。mysqldump命令可以⽣成CSV、或XML格 式、sql的⽂件。

5.2 注意事项

        1. 转储表时必须要有 SELECT 权限

        2. 转储视图时必须要有 SHOW VIEW 权限

         3. 转储触发器时必须要有 TRIGGER 权限

        4. 如果没有使⽤--single-transaction 选项时必须要有

         5. 如果没有使⽤ LOCK TABLES 权限--no-tablespaces 选项时必须要有 PROCESS 权限

         6. 重新导⼊转储⽂件时,也需要有相应的权限

        7. 由于mysqldump是逐⾏转储数据,所以不适⽤于⼤数据量的转储与导⼊

5.3 使⽤⽅法

        mysqldump的⽅法通常有以下使⽤,可以转储⼀个或多个表或数据库,如下所⽰:         mysqldump [options] db_name [ tbl_name ...]

        mysqldump [options] --databases db_name ...

        mysqldump [options] --all-databases 

5.4 options常⽤选项

 

 

6. mysqladmin-MySQL服务器管理程序

6.1作⽤

        mysqladmin是⼀个执⾏管理操作的客⼾端,。配合使用mysqladmin的用户必须是具备管理员权限,可以⽤来检查服务器的配置和当前状态,以及创建和删 除数据库等。

6.2使⽤⽅法

        mysqladmin可以使⽤以下语法:

        mysqladmin [options] command [command-arg] [command [command-arg]] ...

6.3 支持的命令

 显示进程列表:

        默认mysql服务器可以维护150个活动连接,如果连接被使用完,就可以使用kill 指令去手动释放休眠时间最长的那个线程。

7. mysqlshow-显⽰数据库、表和列信息

7.1 作⽤

         mysqlshow客⼾端可⽤于快速查看存在哪些数据库数据库中的表以及表中的列或索引。mysqlshow为一些show语句提供了一个命令行接口。

7.2 使⽤⽅法

        mysqlshow可以使⽤以下语法:

        mysqlshow [options] [db_name [tbl_name [col_name]]]

        • db_name tbl_name col_name 可以使⽤通配符 * 、 ? 、 % 或 _

        • 如果没有指定数据库,则显⽰所有数据库名称列表。

        • 如果没有指定表,则显⽰数据库中所有匹配的表。

        • 如果没有指定列,则显⽰表中所有匹配的列和列类型。

        • 输出仅显⽰当前权限可以访问的数据库、表或列的名称。

8. mysqldumpslow-总结慢查询⽇志⽂件

8.1 作⽤

        在平时使⽤MySQL数据库时,经常进⾏查询操作,有些查询语句执⾏的时间⾮常⻓,当执⾏时间超过 设定的阈值时,我们称这个查询为慢查询,慢查询的相关信息通常需要⽤⽇志记录下来称为慢查询⽇ 志,mysqldumpslow可以解析慢查询⽇志⽂件并汇总其内容,

8.2 注意事项

        通常情况下,mysqldumpslow会将相似的查询分组并显⽰摘要输出,⼀般会把数字和字符串⽤ N 和 "S" 代替,要想显⽰真实的值可以使⽤-a和-n选项。

8.3 使⽤⽅法

mysqldumpslow可以使⽤以下语法

mysqldumpslow [options] [log_file ...]

9. mysqlbinlog- 处理⼆进制⽇志⽂件

        什么是⼆进制⽇志⽂件: 我们平时对数据库的修改,包括对数据的增删改,都会被描述成⼀个"事件",每个"事件"都会以⼆进 制的形式记录在⼀个⽂件⾥,这个⽂件就是服务器的⼆进制⽇志⽂件,称为BinaryLog或binlog。

         关于⼆进制⽇志⽂件的具体格式与使⽤场景我们在MySQL主从复制专题讲解,简单了解一下主从复制:

9.1 作⽤

        mysqlbinlog 能够以⽂本格式显⽰⼆进制⽇志⽂件中的内容。

9.2 注意事项

        • binlog的默认保存路径是数据⽬录:

                 ◦ Linux下默认⽬录:/var/lib/mysql

         ◦ Windows下默认⽬录:C:\ProgramData\MySQL\MySQLServer8.0\Data

        • binlog是以  .00000n 结尾命名的⽂件,n不断递增。

9.3 使用语法

切记binlog的所在目录:

9.4 常用选项

10. mysqlslap- 负载仿真客⼾端 

10.1 作⽤

         mysqlslap是⼀个诊断程序,⽤于模拟MySQL服务器的客⼾端负载,并报告每个阶段的时间,就好⽐ 多个客⼾端正在访问服务器⼀样。

10.2 使⽤⽅法

        mysqlslap可以使⽤以下语法

         mysqlslap [options]

10.3 注意事项

        1. 可以通过--create 或--query 选项,指定包含SQL语句的字符串或包含SQL语句的⽂件

        2. 如果指定⼀个包含SQL语句的⽂件,默认情况下每⾏必须包含⼀条语句(也就是说,隐式语句分隔符 是换⾏符)

        3. 如果要把⼀条语句分为多⾏书写,可以使⽤--delimiter 选项指定不同的分隔符

        4. 不能在⽂件中包含注释,因为mysqlslap不能解析注释。

        5. mysqlslap运⾏分为三个阶段:

                a. 创建测试数据阶段:创建⽤于测试的库、表或数据,这个阶段使⽤单个客⼾端连接

                b. 运⾏负载测试阶段,这个阶段可以使⽤许多客⼾端连接

                 c. 清理阶段:执⾏删除表,断开连接等操作,这个阶段使⽤单个客⼾端连接

ps:当前的学习就到这里了,谢谢观看!!!


http://www.ppmy.cn/server/172321.html

相关文章

【向量数据库Weaviate】 和Elasticsearch的区别

Weaviate 和 Elasticsearch 是两种不同类型的数据库,设计目标和应用场景有显著差异。以下是它们的核心区别和适用场景的详细对比: 1. 设计目标与核心能力 维度WeaviateElasticsearch核心能力向量数据库 图数据库(语义搜索优先)全…

牛客NC288803 和+和

​import java.util.Comparator;import java.util.PriorityQueue;import java.util.Scanner;​public class Main {public static void main(String[] args) {// 创建Scanner对象用于读取输入Scanner sc new Scanner(System.in);// 读取两个整数n和m,分别表示数组的…

HTML 日常开发常用标签

文章目录 HTML 日常开发常用标签1、基本结构标签2、内容标签3、多媒体标签4、表单标签5、列表和定义标签6、表格标签7、链接和图像8、元数据9、语义化标签(HTML5新增)10、框架和内联11、交互12、过时或不推荐使用的标签 HTML 日常开发常用标签 1、基本结…

通过Python编程语言实现机器学习小项目教程案例

通过Python编程语言实现机器学习小项目教程案例 文章目录 通过Python编程语言实现机器学习小项目教程案例1. 项目背景与目标2. 开发环境准备2.1 所需工具2.2 环境搭建2.3 库版本验证3. 数据集介绍与加载3.1 数据集特性3.2 数据加载4. 数据探索与可视化4.1 数据概览4.2 可视化分…

【单片机通信技术】串口通信的几种方式与比较,详细解释SPI通信

一、介绍 串口通信是一种通过串行接口逐位传输数据的通信方式,广泛应用于嵌入式系统、工业控制、传感器网络等领域。 二、以下是几种常见的串口通信方式及其对比: 1.UART(Universal Asynchronous Receiver/Transmitter) 特点&am…

Solar2月应急响应公益月赛

暗链排查-1 burp 抓包,找到 js,cyberchef 一把梭,纯黑盒 暗链排查-2 roottianshou-0e3d41087e0b47e587d7b244849b893b-7769f979cf-szxvl:~# gcore -o nginx_core 11 [Thread debugging using libthread_db enabled] Using host libthread_db…

机器学习入门指南(2021版)

机器学习入门指南(2021版) 大家好,我是老胡。 这是为朋友社群准备的一篇机器学习入门指南,分享了我机器学习之路看过的一些书、教程、视频,还有学习经验和建议,希望能对大家的学习有所帮助。 pdf版思维导图…

UE5切换关卡函数OpenLevel,输入模式结构体,UI界面

1.输入模式结构体 FInputModeGameOnly:玩家只能与游戏世界交互,UI 不可交互。FInputModeGameAndUI:玩家可以与游戏世界和 UI 同时交互。FInputModeUIOnly:玩家只能与 UI 交互,无法与游戏世界进行互动。 FInputModeGam…