MySQL进阶学习与初阶复习第四天

目录

[一.mysqladmin - MySQL 服务器管理程序](#一.mysqladmin - MySQL 服务器管理程序)

作⽤

使⽤⽅法

⽀持的命令

常⽤选项

[二.mysqlshow - 显⽰数据库、表和列信息](#二.mysqlshow - 显⽰数据库、表和列信息)

作⽤

注意事项

使⽤⽅法

常⽤选项

[三.mysqldumpslow - 总结慢查询⽇志⽂件](#三.mysqldumpslow - 总结慢查询⽇志⽂件)

作⽤

注意事项

使⽤⽅法

常⽤选项


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

作⽤

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

使⽤⽅法

mysqladmin 可以使⽤以下语法:

bash 复制代码
mysqladmin [options] command [command-arg] [command [command-arg]] ...

⽀持的命令

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

version

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

查看服务器状态

  • Uptime MySQL 服务器已运⾏的秒数。
  • Threads 活动线程(客⼾端)的数量。
  • Questions ⾃服务器启动以来客⼾端的问题(查询)数。
  • Slow queries 慢SQL的查询数。
  • Opens 服务器已打开的表数。
  • Flush tables 服务器已执⾏flush-*、refresh和reload命令的数量。
  • Open tables 当前打开的表数。
  1. create db_name

创建⼀个数据库名为 db_name*。*

  1. drop db_name

删除名为 db_name的数据库及其所有表。

  1. extended-status
    显⽰服务器状态变量的值。

  2. flush-hosts

刷新主机缓存中的所有信息。

  1. flush-logs *log_type* ...

刷新所有⽇志。 log_type中可以提供以下⼀种或多种⽇志类型binary, engine, error, general, relay, slow,多个类型之间⽤空格分隔。

  1. flush-privileges

重新加载授权表

  1. flush-status

清除状态变量。

  1. flush-tables

刷新所有表。

  1. flush-threads

刷新线程缓存。

  1. password new_password

设置新密码。

  • 如果密码中有空格必须⽤双引号把密码包裹起来
  • password 后可以省略新密码,mysqladmin会在之后提⽰输⼊新密码
  • password 做为最后⼀个command 时才可以省略密码值,否则下⼀个参数将作为密码被设置。

Warning 有可能存在安全问题

Setting a password using mysqladmin should be considered insecure. On some systems, your password becomes visible to system status programs such as ps that may be invoked by other users to display command lines. MySQL clients typically overwrite the command-linepassword argument with zeros during their initialization sequence. However, there is still a brief interval during which the value is visible. Also, on some systems this overwriting strategy is ineffective and the password remains visible to ps. (SystemV Unix systems and perhaps others are subject to this problem.)

  1. ping

检查服务器是否可⽤

  1. processlist

显⽰活动服务器线程的列表。

  1. kill id, id,...

终⽌服务器线程。如果给出了多个线程ID值,则列表中不能有空格。

  1. reload

重新加载授权表。

  1. refresh

刷新所有表。

  1. shutdown

停⽌服务器。

  1. start-replica

在副本服务器上开始复制。MySQL 8.0.26及以后的版本使⽤此命令。

  1. start-slave

在副本服务器上开始复制。MySQL 8.0.26 之前使⽤此命令。

  1. status

显⽰简短的服务器状态消息。

  1. stop-replica

停⽌副本服务器上的复制。MySQL 8.0.26及以后的版本使⽤此命令。

  1. stop-slave

停⽌副本服务器上的复制。MySQL 8.0.26 之前使⽤此命令。

  1. variables

显⽰服务器系统变量及其值。

常⽤选项

mysqladmin 的常⽤选项参考公共选项部分,可以在命令⾏中指定,也可以在选项⽂件中通过mysqladmin 和 client 组进⾏指定

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

作⽤

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

注意事项

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

使⽤⽅法

mysqlshow 可以使⽤以下语法:

bash 复制代码
mysqlshow [options] [db_name [tbl_name [col_name]]]
  • db_name tbl_name col_name 可以使⽤通配符 * 、 ? 、 % 或 _
  • 如果没有指定数据库,则显⽰所有数据库名称列表。
  • 如果没有指定表,则显⽰数据库中所有匹配的表。
  • 如果没有指定列,则显⽰表中所有匹配的列和列类型。
  • 输出仅显⽰当前权限可以访问的数据库、表或列的名称。
bash 复制代码
mysqlshow test_db -uroot -p # 显⽰test_db数据库中的所有表
bash 复制代码
 mysqlshow test_db student -uroot -p # 显⽰student表中的所有字段
bash 复制代码
mysqlshow test_db student id -uroot -p # 显⽰student表中id字 段的信息

常⽤选项

mysqlshow 的常⽤选项参考公共选项部分,可以在命令⾏中指定,也可以在选项⽂件中通过mysqlshow 和 client 组进⾏指定,具体选项参考公共选项列表。

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

作⽤

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

注意事项

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

使⽤⽅法

mysqldumpslow 可以使⽤以下语法

bash 复制代码
mysqldumpslow [options] [log_file ...]

如下图这样找到慢查询日志文件。

bash 复制代码
show variables like "%query%";

在没有给出任何选项的输出如下:

bash 复制代码
Reading mysql slow query log from /usr/local/mysql/data/mysqld80-slow.log
Count: 1 Time=4.32s (4s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
 insert into t2 select * from t1 # 执⾏的SQL
Count: 3 Time=2.53s (7s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
 insert into t2 select * from t1 limit N # 执⾏的SQL
Count: 3 Time=2.13s (6s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
 insert into t1 select * from t1 # 执⾏的SQL

常⽤选项

mysqldumpslow 的常⽤选项

|----------------|------------------------------------------------------|
| 选项 | 说明 |
| -a | 不⽤ N 和 'S' 代替numbers和String |
| -n N | 在名称中包含N个以上的数字⽤ N 代替 |
| -g pattern | 仅考虑与指定模式匹配的慢查询 |
| --help | 显⽰帮助信息并退出 |
| -h host_name | 与*-slow.log⽂件名对应的MySQL服务器主机名。 可以包含通配符。默认值是*(匹配所有)。 |
| -i name | 服务器示例名称 |
| -l | 不要从总时间中减去锁占⽤的时间 |
| -r | 倒序顺列 |
| -s sort_type | 如何对输出进⾏排序 |
| -t N | 显⽰输出中的前N个查询 |
| --verbose, -v | 打印有关程序功能的更多信息 |

• -s sort_typesort_type可选的值如下所⽰:

  • t , at : 按查询时间或平均查询时间排序,默认排序

  • l , al : 按锁占⽤时间或平均锁占⽤时间排序

  • r , ar : 按发送的⾏数或平均发送的⾏数排序

  • c : 按计数排序

相关推荐
ss27334 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 28 PostgreSQL MVCC机制介绍
数据库·笔记·postgresql
奇牙coding1 小时前
doubao-seed-2.1-pro 报 HTTP 401 怎么办?Key 正确也要检查请求头和端点
网络·数据库·http·ai
宝绿特塑业再生科技7 小时前
改性HDPE再生颗粒在户外家具挤出发泡板材中的色差控制与高品质价值重构
经验分享·科技·学习·生活·1024程序员节·户外家具
不脱发的程序猿9 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节
程序员塔塔喵10 小时前
【MySQL篇|第一篇】索引失效的情况
数据库·mysql·索引失效
paopaokaka_luck10 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
andrsted10 小时前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
北京青蓝智慧马老师10 小时前
比外部黑客更难防的,是那个有权限的自己人(3 个脱敏复盘)
大数据·数据库·人工智能
笃行35011 小时前
拆一台数据集成产品:KFS 的骨架、肌肉和神经
数据库
4SAPI11 小时前
搭建 AI 数据分析工具大模型 API 选型指南
数据库·人工智能·架构·php·1024程序员节