巧用MySQL自带工具

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 巧用MySQL自带工具

1、 mysql

相信在所有 MySQL客户端工具中,读者了解最多的就是 mysql 了,
用的最多的应该也非他莫属。mysql 的功能和 Oracle 的 sqlplus 一样,
为用户提供一个命令行
接口来操作管理 MySQL 服务器。
其基本的使用语法这里就不介绍了,
大家只要运行一下“mysql--help”就会得到如下相应的基本使用帮助信息:
C:\Users\wangd>mysql --help

947c436e572d49858ac4bf59f507a760.png


2.mysqladmin


mysqadmin,顾名思义,提供的功能都是与 MySQL 管理相关的各种功能。
如 MySQL Server 状态检查,各种统计信息的 flush,创建/删除数据库,关闭 MySQL Server等等。
mysqladmin 所能做的事情,虽然大部分都可以通过 mysql 连接登录上 MySQL Server 之后来完成,
但是大部分通过 mysqladmin 来完成操作会更简单更方便。
这里我将介绍一下自己经常使用到的几个常用功能:
[root@docker35 ~]# mysqladmin -uroot -pmes -h192.168.66.35 -P3317 ping
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqld is alive
status 命令可以获取当前 MySQL Server 的几个基本的状态值:
[root@docker35 ~]# mysqladmin -uroot -pmes -h192.168.66.35 -P3317 status
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Uptime: 67777 Threads: 3 Questions: 40 Slow queries: 0 Opens: 161 Flush tables: 1 Open tables: 154 Queries per second avg: 0.000
processlist 获取当前数据库的连接线程信息:
[root@docker35 ~]# mysqladmin -uroot -pmes -h192.168.66.35 -P3317 processlist
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
+----+------+------------------+-----+---------+-------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+------------------+-----+---------+-------+----------+------------------+
| 7 | root | 172.17.0.1:45725 | | Sleep | 15632 | | |
| 8 | root | 172.17.0.1:17450 | sys | Sleep | 9653 | | |
| 13 | root | 172.17.0.1:51987 | | Query | 0 | starting | show processlist |
+----+------+------------------+-----+---------+-------+----------+------------------+
此外,还可以通过 mysqladmin 来 start slave 和 stop slave,kill 某个连接到 MySQL Server 的线程等等。

3.mysqldump


mysqldump 就是将 MySQL Server 中的数据以 SQL 语句的形式从数据库中 dump 成文本文件。
虽然 mysqldump 是做为 MySQL 的一种逻辑备份工具为大家所认识,但我个人觉得称他为 SQL 生成导出工具更合适一点,
因为通过 mysqldump 所生成的文件,全部是 SQL 语句,包括数据库和表的创建语句。当然,通过给 mysqldump 程序加“-T”选项参数之后,
可以生成非 SQL 形式的指定给是的文本文件。
这个功能实际上是调用了 MySQL 中的“select*into OUTFILE from...”语句而实现。也可以通过“-d,--no-data”仅仅生成结构创建的语句。
在生成 SQL 语句的时候,字符集设置这一项也是比较关键的,
建议每次执行 mysqldump 程序的时候都通过尽量做到“--defaultcharacter-set=name”显式指定字符集内容,
以防止以错误的字符集生成不可用的内容。
mysqldump 所生成的 SQL 文件可以通过 mysql 工具执行。

4.mysqlimport


Usage: mysqlimport [OPTIONS] database textfile ...
mysqlimport 程序是一个将以特定格式存放的文本数据
如通过“select * into OUTFILE from ...”所生成的数据文件导入到指定的 MySQL Server 中的工具程序,
比如将一个标准的 csv 文件导入到某指定数据库的指定表中。
mysqlimport 工具实际上也只是 “load data infile”命令的一个包装实现。

5.mysqlbinlog


mysqlbinlog 程序的主要功能就是分析 MySQL Server 所产生的二进制日志(也就是大家所熟知的 binlog)。
当我们希望通过之前备份的 binlog 做一些指定时间之类的恢复的时候,mysqlbinlog 就可以帮助我们找到恢复操作需要做哪些事情。
通过 mysqlbinlog,我们可以解析出 binlog 中指定时间段或者指定日志起始和结束位置的内容解析成 SQL 语句,并导出到指定的文件中,
在解析过程中,还可以通过指定数据库名称来过滤输出内容。

6. mysqlcheck

Usage: mysqlcheck [OPTIONS] database [tables]
OR mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...] OR mysqlcheck [OPTIONS] --all-databases
mysqlcheck 工具程序可以检查(check),修复(repair),分析(analyze)和优化(optimize)MySQL Server 中的表,
但并不是所有的存储引擎都支持这里所有的四个功能,
像 Innodb 就不支持修复功能。
实际上,mysqlcheck 程序的这四个功能都可以通过 mysql 连接登录到 MySQL Server 之后来执行相应命令完成完全相同的任务。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
314 10
|
6月前
|
canal 关系型数据库 MySQL
MySQL 自动同步开源工具
本文介绍了几种开源工具用于实现 MySQL 数据库的自动同步。
|
10月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
441 69
|
canal 消息中间件 关系型数据库
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
1744 4
|
SQL 关系型数据库 MySQL
MySQL数据库-概括与常用图形管理工具
MySQL数据库-概括与常用图形管理工具
|
11月前
|
SQL 关系型数据库 MySQL
MySQL 窗口函数详解:分析性查询的强大工具
MySQL 窗口函数从 8.0 版本开始支持,提供了一种灵活的方式处理 SQL 查询中的数据。无需分组即可对行集进行分析,常用于计算排名、累计和、移动平均值等。基本语法包括 `function_name([arguments]) OVER ([PARTITION BY columns] [ORDER BY columns] [frame_clause])`,常见函数有 `ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`, `SUM()`, `AVG()` 等。窗口框架定义了计算聚合值时应包含的行。适用于复杂数据操作和分析报告。
514 11
|
SQL 缓存 关系型数据库
MySQL高级篇——性能分析工具
MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
MySQL高级篇——性能分析工具
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
337 3
|
安全 关系型数据库 MySQL
Navicat工具设置MySQL权限的操作指南
通过上述步骤,您可以使用Navicat有效地为MySQL数据库设置和管理用户权限,确保数据库的安全性和高效管理。这个过程简化了数据库权限管理,使其既直观又易于操作。
1214 4
|
SQL 监控 关系型数据库
使用 pt-query-digest 工具分析 MySQL 慢日志
【8月更文挑战第5天】使用 pt-query-digest 工具分析 MySQL 慢日志
719 3
使用 pt-query-digest 工具分析 MySQL 慢日志

推荐镜像

更多