当前位置: 首页 > news >正文

【MySQL进阶】------MySQL程序

MySQL程序简介

MySQL安装完成通常会包含如下程序:

  • Linux系统程序⼀般在 /usr/bin⽬录下,可以通过命令查看:

  • windows系统⽬录:你的安装路径\MySQL Server 8.0\bin,可以通过命令查看:

  • 每个 MySQL 程序都有许多不同的选项。⼤多数程序都提供⼀个 --help 选项,您可以使⽤该选项来获取程序不同选项的描述。例如: mysql --help,可以通过在命令⾏或配置⽂件中指定选项来覆盖 MySQL 程序的默认选项值

  • 以下是常⽤的MySQL程序:

程序名作用
mysqldMySQL的守护进程即 MySQL 服务器,要使⽤MySQL 服务器 mysqld必须正在运⾏状态
mysqlMySQL客⼾端程序,⽤于交互式输⼊ SQL 语句
mysqlcheck⽤于检查、修复、分析和优化表的表维护客⼾端
mysqldump将 MySQL 数据库转储到 SQL、⽂本或 XML ⽂件中的客⼾端
mysqlimport将⽂本⽂件导⼊到表的客⼾端⼯具
mysqlshow显⽰数据库、表、列和索引信息的客⼾端
mysqldumpslow⽤于读取和汇总慢速查询⽇志内容的实⽤程序
mysqlbinlog从⼆进制⽇志中读取SQL语句的实⽤程序
mysqlslap客⼾端负载⼯具,模拟多个客⼾端同时访问MySQL服务器,并报告每个阶段的使⽤时间

mysqld 程序介绍(了解)

  • mysqld也被称为MySQL服务器,是⼀个多线程程序,对数据⽬录进⾏访问管理(包含数据库和表)。数据⽬录也是其他信息(如⽇志⽂件和状态⽂件)的默认存储位置。
  • 当 MySQL 服务器启动时,会侦听指定的端⼝、处理来⾃客⼾端程序的⽹络连接,并管理不同客⼾端对数据库的访问

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

mysqld --verbose --help

 mysql 客⼾端简介

  • mysql是⼀个简单的 SQL shell, 可以输⼊命令和执⾏SQL语句,当执⾏SQL语句时,查询结果以ASCII 表格式显⽰
  • mysql的基本使⽤⾮常简单,回顾⼀下连接数据库的⽅式,打开终端并输⼊以下命令:
# 连接MySQL服务器,⻓选项格式
mysql --user=user_name --password [db_name]
# 短选项格式
mysql -uuser_name -p [db_name]
# 输⼊密码
Enter password: your_password

mysql 客⼾端选项

指定选项的⽅式
  • 在mysql后⾯的命令⾏中列出选项

  • 在mysql后⾯指定配置⽂件的路径,以便在程序启动时读取配置⽂件中的选项

mysql 客⼾端命令常⽤选项
选项–⻓格式短格式说明
-host-h–host=host_name , -hhost_name 连接到指定主机上的 MySQL 服务
–port-P–port=port_num , -Pport_num TCP/IP 连接使⽤的端⼝号
–user-u–user=user_name , -uuser_name⽤于连接到MySQL 服务器的⽤⼾名
–password-p

–password[=password] , -p[password]⽤于连接到MySQL 服务器的密码。可选,如果没有给出, 会提⽰用户自己输入

–defaults-file–defaults-file=file_name使⽤指定的选项⽂件。如果该⽂件不存在,则会发⽣错误。
–default-character-set
–default-character-set=charset_name charset_name 将作为客⼾端和当前连接的默认字符集,例: utf8mb4
–database-D–database=db_name , -Ddb_name要使⽤的数据库
–compress-C–compress , -C 如果可能,压缩客⼾端和服务器之间传输的所有信息
–quick-q–quick , -q 不缓存查询结果,收到⼀⾏打印⼀⾏,如果输出被挂起,可能会降低服务器速度
–execute-e–execute=statement , -e statement 执行指定sql语句退出
–version
-V
–version , -V 显⽰版本信息并退出。
–help-?–help , -? 显示帮助信息并退出
在命令⾏中使⽤选项

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

  • 选项应在程序名之后给出
  • 选项以单破折号" - “或双破折号” – "号开头, - 表⽰短格式, – 表⽰⻓格式,例如:-?和 --help 都表⽰MySQL 程序显⽰他的帮助消息

  • 选项名称区分⼤⼩写。 -v 和 -V 都是合法的,但含义不同,它们分别是 --verbose 和 --version 选项的相应缩写形式

  • 某些选项需要在后⾯指定⼀个值。例如, -h 127.0.0.1 或 --host=127.0.0.1 表⽰向客⼾端程序指定 MySQL 服务器主机

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

tips

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

  • 在选项名称中,破折号 ( - ) 和下划线 ( _ ) 在⼤多数情况下可以互换使⽤,但前导破折号不能转为下划线,例如: --skip-grant-tables 和 --skip_grant_tables 是等价的。
  • 对于采⽤数值的选项,该值可以带有后缀 K , M 或 G 以指⽰乘数 1024、1024^2或 1024^3,例如,以下命令告诉 mysqladmin对服务器执⾏ 1024 次 ping,每次 ping 之间休眠 3 秒
mysqladmin --count=1K --sleep=3 ping -uroot -p
  • 在命令⾏中包含空格的选项值必须⽤引号引起来。例如, --execute (or -e ) 选项与mysql⼀起使⽤时,表⽰将⼀个或多个 SQL 语句发送给服务器执⾏并显⽰结果

选项(配置)⽂件

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

使⽤⽅法

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

选项⽂件位置及加载顺序

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

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

  • ~ 表⽰当前⽤⼾的主⽬录

  • MYSQL_HOME 是设置的环境变量路径

  • DATADIR 代表MySQL数据⽬录

选项⽂件语法
  • 运⾏ MySQL 程序时在命令⾏上指定的任何⻓选项都可以在选项⽂件中指定,要获取选项列表可以使⽤如下命令

  • 选项⽂件中指定选项时,省略两个前导破折号,并且每⼀⾏表⽰⼀个选项

选项⽂件中的空⾏会被忽略。⾮空⾏可以采⽤以下任何形式:

  • #comment , ;comment
    • 注释⾏以 # 或 ; 开,注释可以从⼀⾏的中间开始
  • group ]
    • 设置选项的程序或组的名称,不区分⼤⼩写。如果选项组名称与程序名称相同,则组中的选项专⻔应⽤于该程序,例如, [mysqld] 和 [mysql] 组分别适⽤于mysqld服务端程序和mysql客⼾端程序
  • opt_name
    • 相当于命令⾏上的选项名
  • opt_name = value
    • 选项名对应的值,可以使⽤转义序列 \b , \t , \n , \r , \ 和 \s 来表⽰退格符、制表符、换⾏符、回⻋符、反斜杠和空格字符

  • [client] MySQL发⾏版中所有客⼾端程序都会读取并应⽤这个组下的选项(除了mysqld),在这个组下可以指定适⽤于所有客⼾端程序的通⽤选项,例如配置⽤⼾名和密码(但要确保只有⾃⼰才可以访问这个⽂件以防⽌密码泄漏)

  • 可以通过 [客⼾端程序名] 的形式为不同的客⼾端程序指定选项,例如 [mysql] ,当运⾏mysql程序时会读取并应⽤该组下的配置,如果选项名与 [client] 重复, [client] 中的选项将会被覆盖

  • 为特定 MySQL 版本设置选项可以使⽤ [mysqld-5.7] 、 [mysqld-8.0] 的组名
  • 在选项⽂件中使⽤ !include 指令来包含其他选项⽂件,例如: !include /home/mydir/myopt.cnf
  • 在选项⽂件中使⽤ !includedir 指令来搜索指定⽬录中的其他选项⽂件,例如: !include /home/mydir ,但不保证⽬录中选项⽂件的读取顺序 

  • 在 Windows中请确保在配置⽂件的最后⼀⾏加⼀个换⾏符,否则该⾏将被忽略
设置客⼾端全局编码格式
  • 在Linux下编辑全局配置⽂件默认位置 /etc/mysql/my.cnf ,初始内容如下:

  • 在已有内容下⽅输⼊相应的配置,我们要为客⼾端设置全局的编码格式为utf8mb4, 那么在[client] 节点下指定相应的选项即可

mysql 客⼾端命令

  • 在当前模式下,mysql还有⼀组⾃⼰的命令,可以输⼊ help or \h 查看命令列表

  • 使⽤help contents命令可以查看关于MySQL数据库使⽤的具体帮助,包括⽤⼾管理、SQL语法、数据类型、组件等相关内容列表

  • 通过help contents中的具体条⽬查看介绍,例如: help Data Types

  • 继续输⼊help 具体的条⽬ 查看关于此条⽬的详细说明,例如:help BIT

详情例子展示:

\?      \h

帮助手册

/c 

Clear the current input statement.

在 MySQL 命令行界面中,如果你想清除当前正在输入的语句(让这句话无效)

\r

 Reconnect to the server. Optional arguments are db and host.

在 MySQL 命令行中,重新连接到服务器可以使用 \r 或 \connect 命令(重新连接)

如果连接失败,会显示具体的错误信息(如权限问题、主机不可达等)。

/d

Set statement delimiter.

在 MySQL 命令行中,默认的语句分隔符是分号 ;,用于标识一条 SQL 语句的结束。当需要定义存储过程、函数、触发器等包含分号的复合语句时,需要临时修改分隔符,避免 MySQL 提前结束语句解析。(人话:修改结束符)

\q

Exit mysql. Same as quit.(退出当前mysql)

prompt(\R)

在 MySQL 命令行中,你可以通过 prompt 命令自定义命令提示符,让它显示更具信息量的内容

\s

在 MySQL 命令行中,要获取服务器的状态信息,可以使用 STATUS 或 \s 命令(两者等效)。执行后会显示当前 MySQL 连接和服务器的详细状态信息。

\w与\W

mysql> \W
Show warnings enabled.mysql> INSERT INTO users (name, age) VALUES ('Alice', '30岁'); -- 这里 age 字段可能期望数字,字符串会产生警告
Query OK, 1 row affected, 1 warning (0.00 sec)
Warning (Code 1366): Incorrect integer value: '30岁' for column 'age' at row 1
mysql> \w
Show warnings disabled.mysql> INSERT INTO users (name, age) VALUES ('Bob', '25岁'); -- 同样有警告,但不显示
Query OK, 1 row affected (0.00 sec)-- 手动查看警告
mysql> SHOW WARNINGS;
+---------+------+-------------------------------------------------+
| Level   | Code | Message                                         |
+---------+------+-------------------------------------------------+
| Warning | 1366 | Incorrect integer value: '25岁' for column 'age' at row 1 |
+---------+------+-------------------------------------------------+
1 row in set (0.00 sec)

\!

在 MySQL 命令行界面中,你可以使用 \! 前缀执行系统 shell 命令(前提是该功能未被禁用)。这允许你在不退出 MySQL 终端的情况下执行操作系统命令。

 

\C

在 MySQL 命令行中切换字符集以处理包含多字节字符的 binlog 或其他数据时,可以使用 charset 命令(或简写 \C),具体操作如下

从.sql⽂件执⾏ SQL 语句

使⽤source命令导⼊
有时候我们需要从.sql ⽂件执⾏⼀些SQL语句,⽐如要把⼀个数据库从⼀台服务器A复制到另⼀台服务 器B上,那么可以先从服务器A导出数据到.sql⽂件,然后在服务器B执⾏这个.sql⽂件,在上⼀⼩节,
⽤help命令查看命令列表,可以看到有⼀个source 命令如下所⽰:
source (\.) Execute an SQL script file. Takes a file name as an argument.
我们演⽰⼀下source命令的使⽤⽅法
1.写一个sql文件
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP DATABASE IF EXISTS `test_db`;
CREATE DATABASE `test_db` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `test_db`;
-- ----------------------------
-- Table structure for classes
-- ----------------------------
DROP TABLE IF EXISTS `classes`;
CREATE TABLE `classes` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL
DEFAULT NULL,`desc` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL
DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = 
utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of classes
-- ----------------------------
INSERT INTO `classes` VALUES (1, '计算机系2019级1班', '学习了计算机原理、C和Java语 ⾔、数据结构和算法');
INSERT INTO `classes` VALUES (2, '中⽂系2019级3班', '学习了中国传统⽂学');
INSERT INTO `classes` VALUES (3, '⾃动化2019级5班', '学习了机械⾃动化');
-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL
DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = 
utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES (1, 'Java');
INSERT INTO `course` VALUES (2, '中国传统⽂化');
INSERT INTO `course` VALUES (3, '计算机原理');
INSERT INTO `course` VALUES (4, '语⽂');
INSERT INTO `course` VALUES (5, '⾼阶数学');
INSERT INTO `course` VALUES (6, '英⽂');
-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score` (`score` decimal(3, 1) NULL DEFAULT NULL,`student_id` int(11) NULL DEFAULT NULL,`course_id` int(11) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci 
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES (70.5, 1, 1);
INSERT INTO `score` VALUES (98.5, 1, 3);
INSERT INTO `score` VALUES (33.0, 1, 5);
INSERT INTO `score` VALUES (98.0, 1, 6);
INSERT INTO `score` VALUES (60.0, 2, 1);
INSERT INTO `score` VALUES (59.5, 2, 5);
INSERT INTO `score` VALUES (33.0, 3, 1);
INSERT INTO `score` VALUES (68.0, 3, 3);
INSERT INTO `score` VALUES (99.0, 3, 5);
INSERT INTO `score` VALUES (67.0, 4, 1);
INSERT INTO `score` VALUES (23.0, 4, 3);
INSERT INTO `score` VALUES (56.0, 4, 5);
INSERT INTO `score` VALUES (72.0, 4, 6);
INSERT INTO `score` VALUES (81.0, 5, 1);
INSERT INTO `score` VALUES (37.0, 5, 5);
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (`id` int(11) PRIMARY KEY AUTO_INCREMENT,`sn` int(11) NOT NULL COMMENT '学号',`name` varchar(20) NOT NULL COMMENT '姓名',`mail` varchar(20) COMMENT 'QQ邮箱'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci 
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, 50001, '张三', 'zs@bit.com');
INSERT INTO `student` VALUES (2, 50002, '李四', 'ls@bit.com');
INSERT INTO `student` VALUES (3, 50003, '王五', 'ww@bit.com');
INSERT INTO `student` VALUES (4, 50004, '赵六', 'zl@bit.com');
INSERT INTO `student` VALUES (5, 50005, '钱七', 'qq@bit.com');
SET FOREIGN_KEY_CHECKS = 1;

2.将文件拖入root文件下

3.进入MySQL

4.

前后对比图:

其它客户端

在命令⾏中使⽤MySQL发⾏版中的其他⼯具时,⼀些选项是公共的,⽐如⽤⼾名和密码,使⽤⽅法和mysql相同,在这⾥统⼀列出,后⾯我们在介绍不同的⼯具时,只讨论个性的选项及作⽤,公共选项如下所⽰:

mysqlcheck - 表维护程序

作⽤

  • mysqlcheck客⼾端⽤于执⾏表维护,可以对表进⾏:分析、检查、优化或修复操作。
  • 分析的作⽤是查看表的关键字分布,能够让 sql ⽣成正确的执⾏计划(⽀持 InnoDB,MyISAM,NDB)
  • 检查的作⽤是检查表的完整性以及数据库表和索引是否损坏(⽀持 InnoDB,MyISAM,ARCHIVE,CSV)
  • 优化的作⽤是回收空间、减少碎⽚、提⾼I/O(⽀持 InnoDB,MyISAM,ARCHIVE)

        不建议经常使用(1h内)

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

注意事项

  1. 当使⽤mysqlcheck⼯具时,MySQL服务器必须在运⾏状态
  2. 执⾏过程中相应的表将会被锁定,所以其他的操作将会被挂起
  3. 并不是所有的存储引擎都⽀持以上四种操作,如果遇到不⽀持的引擎会报出相应的错误
  4. 执⾏表修复操作之前对表进⾏备份,在某些情况下可能会导致数据丢失。
使⽤⽅法
  • ⼀般通过以下三种⽅法使⽤mysqlcheck

如果在 db_name 后没有指定任何表名,或者使⽤ --databases 或 --all-databases 选项,那么整个数据库都会被检查

常⽤选项

mysqlcheck有如下常⽤选项,可以在命令⾏中指定,也可以在选项⽂件中通过 [mysqlcheck] 和 [client] 组进⾏指定

 mysqlcheck 是一个系统级别的工具(不是 SQL 命令),需要在操作系统的终端(如 Linux 的 bash 或 Windows 的 cmd)中执行,而不是在 MySQL 命令行内部执行。

这里我们需要加上-u -p 

检查多个(注意这里的databases前面是--)(俩个数据库之间用的是空格而不是,) 

 其他的使用都差不多方式,如果需要的话,查看资料即可,配合AI一起使用更佳 

mysqlcheck的特殊使⽤
mysqlcheck程序的默认功能是对数据表进⾏ 检查 操作(相当于指定选项 --check ),如果想要对表进⾏修复操作,可以通过复制原来的mysqlcheck程序,并重命名为mysqlrepair,并运⾏mysqlrepair即可,还可以创建mysqlcheck的快捷⽅式,并把快捷⽅式命名为mysqlrepair然后

直接运⾏,这时就执⾏的是修复操作,通过下表所⽰的命名⽅式可以改变mysqlcheck的默认⾏为:

 Mysqldump - 数据库备份程序
作⽤

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

注意事项
转储表时必须要有 SELECT 权限

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

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

如果没有使⽤ --single-transaction 选项时必须要有 LOCK TABLES 权限

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

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

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

暂时不知道这些注意事项在哪(苦笑)

使⽤⽅法

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

如果在 db_name 后没有指定任何表名,或者使⽤ --databases 或 --all-databases 选项,那么整个数据库都会被转储

 常⽤选项

mysqldump有如下常⽤选项,可以在命令⾏中指定,也可以在选项⽂件中通过 [mysqldump] 和[client] 组进⾏指定

触发器(Trigger) 是一种与表关联的数据库对象,它会在满足特定条件时(如执行 INSERTUPDATE 或 DELETE 语句)自动执行预设的 SQL 语句。触发器常用于实现数据校验、日志记录、数据同步等自动化操作。 

在备份操作的时候将别的表挂起,以免影响操作

--compact 紧凑模式转储 

 -i

将文件中的注释也一并转储

 转储后面的表 

 默认情况下有

但是没有创建数据库和,创建数据库前删除数据库

mysqldump -A --add-drop-database --no-data > /root/dump.sql -uroot -p

在 mysqldump 命令中,--no-data 选项用于导出数据库的结构(表结构、视图、触发器等),但不包含实际的数据记录。这在需要复制数据库结构但不需要数据时非常有用(例如创建测试环境的空表结构)。 

mysqladmin - MySQL 服务器管理程序
作⽤

mysqladmin 是⼀个执⾏管理操作的客⼾端。可以⽤来检查服务器的配置和当前状态,以及创建和删除数据库等。

使⽤⽅法

mysqladmin 可以使⽤以下语法

mysqladmin [options] command [command-arg] [command [command-arg]] ...
⽀持的命令

语法中的command 表⽰命令,有些命令后⾯需要跟上⼀个参数,如下列出了mysqladmin 的常⽤命令:

  1. version

显⽰来⾃服务器的版本信息。

2.status 查看服务器状态

Uptime MySQL 服务器已运⾏的秒数。

Threads 活动线程(客⼾端)的数量。

Questions ⾃服务器启动以来客⼾端的问题(查询)数。

Slow queries 慢SQL的查询数。

Opens 服务器已打开的表数。

Flush tables 服务器已执⾏flush-*、refresh和reload命令的数量。

Open tables 当前打开的表数。

 

后面的一样道理,不再赘述

mysqlshow - 显⽰数据库、表和列信息
作⽤

mysqlshow 客⼾端可⽤于快速查看存在哪些数据库、数据库中的表以及表中的列或索引

注意事项

mysqlshow 为⼀些 SHOW 语句提供了⼀个命令⾏接⼝。关于SHOW的使⽤参⻅官⽅⽂件“直接使⽤这些SQL语句也可以获得相同的信息。

mysqldumpslow - 总结慢查询⽇志⽂件
作⽤


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

注意事项

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

我们平时没有大数据查询,所以一般没有慢查询

慢查询的一个阈值 long_query_time

 常用选项

mysqlbinlog - 处理⼆进制⽇志⽂件

什么是⼆进制⽇志⽂件:

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

使用方法

 

 常用选项

mysqlslap - 负载仿真客⼾端

作⽤

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

使⽤⽅法

mysqlslap可以使⽤以下语法

mysqlslap [options]
注意事项

  • ⽰例
  1. 提供⾃定义的创建和查询语句,创建50个客⼾端连接,每个客⼾端进⾏200次 select 查询(在⼀⾏内输⼊命令)

concurrency:并发数字;iterations:执行次数 

2.让mysqlslap⽤包含两个 INT 列和三个 VARCHAR 列的表⾃动构建查询的SQL语句。使⽤5个客⼾端,每个客⼾端查询20次。

3.从指定的⽂件中加载创建、插⼊和查询SQL语句。SQL⽂件中的语句以 “;” 分隔。使⽤5个客⼾端,每个客⼾端查询5次。

创造不易------(全网稀缺),希望你从中有所收获

http://www.lryc.cn/news/608972.html

相关文章:

  • 机器学习第三课之逻辑回归(三)LogisticRegression
  • 2025H1具身智能产业十大数据
  • Python训练营打卡 Day27
  • 【网络安全】日志文件格式
  • Linux 系统调用 stat 完全用例
  • Web前端文件上传安全与敏感数据安全处理
  • HiveMQ核心架构思维导图2024.9(Community Edition)
  • 反向代理+网关部署架构
  • 动态置信度调优实战:YOLOv11多目标追踪精度跃迁方案(附完整代码)
  • 关于corn
  • Android 之 图片加载(Fresco/Picasso/Glide)
  • 禁闭求生2 免安 中文 离线运行版
  • 【数据结构与算法】数据结构初阶:排序内容加餐(二)——文件归并排序思路详解(附代码实现)
  • 【LeetCode 热题 100】84. 柱状图中最大的矩形——(解法一)单调栈+三次遍历
  • 二叉树的锯齿形层次遍历
  • 9.苹果ios逆向-FridaHook-ios中的算法(CCCrypt)
  • CCF-GESP 等级考试 2025年6月认证C++一级真题解析
  • wordpress登陆前登陆后显示不同的顶部菜单
  • 最简单的零基础软件测试学习路线
  • Libevent(5)之使用教程(4)工具
  • k8s黑马教程笔记
  • 快速搭建一个非生产k8s环境
  • 【运维基础】Linux 硬盘分区管理
  • k8s+isulad 国产化技术栈云原生技术栈搭建4-添加worker节点
  • Hyper-V + Centos stream 9 搭建K8s集群(二)
  • k8s+isulad 国产化技术栈云原生技术栈搭建3-master节点安装
  • [硬件电路-148]:数字电路 - 什么是CMOS电平、TTL电平?还有哪些其他电平标准?发展历史?
  • Go语言实战案例:TCP服务器与客户端通信
  • 案例介绍|JSON数据格式的转换|pyecharts模块简介
  • Kafka——怎么重设消费者组位移?