MySQL 8.0 官方运维工具集合

如今,MySQL已经是非常普及的数据库,开源社区的支持也是非常活跃。谈到官方运维工具,大家都会用到mysqldump,其实除了这个之外还有一些实用的工具,今天帮大家梳理一下。

以下环境基于MySQL 8.0.25版本。

先把这些工具分为4大类:黄字部分是实际环境中常用的。

服务类

  • mysql 客户端工具,本地/远程链接都支持;

  • mysqld 服务启动;

  • mysqld_safe 守护进程启动服务 <推荐>
    mysqld_safe 是Unix上启动mysqld服务器的推荐方法。mysqld_safe增加了一些安全特性,比如在发生错误时重新启动服务器,并将运行时信息记录到错误日志中。

  • mysqld_multi
    多个实例启动服务,基本很少使用。mysqld_multi用于管理多个mysqld进程,这些进程监听不同Unix套接字文件和TCP/IP端口上的连接。

  • mysql_upgrade
    更新数据词典,也会更新表结构。之前版本使用,8.0版本已弃用。

运维类

1.mysqladmin命令

mysqladmin是用于执行管理操作的客户端,可以使用它来检查服务器的配置和当前状态,创建和删除数据库,等等。主要体现在不需要登录mysql命令行里边,可以直接执行命令。其实这部分个人觉得没多少差别。

便利点,其实在下面:

##1)使用mysqladmin extended-status命令获得的MySQL的性能指标## 进行差值计算;加上参数 --relative(-r)## --sleep(-i)就可以指定刷新的频率。shell> mysqladmin -uroot -p123456 extended-status --relative --sleep=1
2.mysqlslap压测

自带的性能压力测试工具,比较单一,可以使用模拟数据。

shell> mysqlslap --delimiter=";" --create=“CREATE TABLE a (b int);INSERT INTO a VALUES (23)” --query=“SELECT * FROM a” --concurrency=50 --iterations=200
3.mysqlbinlog

mysqlbinlog命令,用户可视的方式展示出二进制日志中的内容。同时,也可以将其中的内容读取出来。非常实用,日常运维离不开。

4.mysqlcheck

mysqlcheck客户端执行表维护:检查、维修、优化或分析表。执行期间读锁。延伸下去还可以改成mysqlrepair,mysqlanalyze,mysqloptimize。实际环境也很少用,容易锁住表,或者修复中丢数据。

5.mysqldumpslow

mysqldumpslow解析MySQL慢查询日志文件并总结其内容。目前最大问题是没有时间范围指定。

6.mysqlshow

mysqlshow客户端可以用于快速查看存在哪些数据库、它们的表、表的列或索引,是命令行show的简版。实际环境基本不使用。

7.mysqlimport

mysqlimport客户端为LOAD DATA SQL语句提供了一个命令行。实际环境基本不使用。

8.mysqldump&mysqlpump

执行逻辑备份,生成一组SQL语句,可以执行这些SQL语句来重新生成原始的数据库对象定义和表数据。它转储一个或多个MySQL数据库以便备份或传输到另一个SQL服务器。也可以进行压缩。两个工具最大的区别在于单线程vs.多线程。

比较常用的用户导出功能,推荐使用。

shell> mysqlpump --exclude-databases=% --users
9.myisam支持工具

以下是针对MyISAM引擎的,基本不使用。

  • myisamchk:表或检查、修复或优化

  • myisampack:压缩MyISAM表

  • myisamlog:显示日志文件内容

  • myisam_ftdump:全文索引

配置类

1.mysql_secure_installation

安全配置向导:
a) 为root用户设置密码
b) 删除匿名账号
c) 取消root用户远程登录
d) 删除test库和对test库的访问权限
e) 刷新授权表使修改生效

2.mysql_config_editor

login-path方式免密码登录,不能明文看到密码。加密的登录路径文件.mylogin.cnf中存储审核身份信息。需要控制好操作系统的用户权限。比较实用。

3.my_print_defaults

程序是用来解析my.cnf文件的,将其中的参数打印到终端。

shell> my_print_defaults mysqlcheck client--socket=/opt/data5.7/data/mysql.sock--port=3306shell> my_print_defaults mysqld server mysql_server mysql.server
4.mysql_ssl_rsa_setup

创建SSL证书和密钥文件和RSA密钥对文件。

shell> mysql_ssl_rsa_setup

其他

1.ibd2sdi

ibd2sdi是一个用于从InnoDB表空间文件中提取序列化字典信息(SDI)的实用程序,导出格式为JSON。所有的InnoDB表空间文件都存在SDI数据。

2.zlib_decompress & lz4_decompress

mysqlpump这是使用压缩创建的输出。

zlib和lz4都能压缩50%以上,lz4优势在于速度更快。

shell> mysqlpump --compress -output=ZLIB > dump.zlibshell> zlib_decompress dump.zlib dump.txt# 或shell> mysqlpump --compress-output=LZ4 > dump.lz4shell> lz4_decompress dump.lz4 dump.txt
3.innnchecksum

innochecksum是一个用于校验innodb表空间文件完整性的工具,必须关闭mysqld进程。也只有在mysqld进程会异常退出,或者服务器宕机的时候用于快速检查表空间文件的完整性。进一步也可以分析page。

shell> innochecksum --count ./t11.ibd Number of pages:7shell> innochecksum --page-type-summary ./t11.ibd shell> innochecksum --page-type-dump=/tmp/ibd.log ./t11.ibd Filename::./t11.ibd============================================================================== PAGE_NO | PAGE_TYPE | EXTRA INFO==============================================================================#:: 0 | File Space Header | -#:: 1 | Insert Buffer Bitmap | -#:: 2 | Inode page | -#:: 3 | SDI Index page | index id=18446744073709551615, page level=0, No. of records=2, garbage=0, -#:: 4 | Index page | index id=181, page level=0, No. of records=1, garbage=0, -#:: 5 | Freshly allocated page | -#:: 6 | Freshly allocated page | -
4.perror

显示MySQL错误信息,补助作用。

shell> perror 1032MySQL error code MY-001032 (ER_KEY_NOT_FOUND): Can't find record in '%-.192s'
5.mysqld-debug

调试mysql显示信息。

shell> mysqld-debug --defaults-file=/etc/my8.0.cnf --user=mysql &

可以在/tmp/mysqld.trace下看到调试的信息。如出现问题,可以作为参考。

6.mysql_tzinfo_to_sql

mysql_tzinfo_to_sql工具导入时区值。

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
7.mysql_config

mysql_config为编译MySQL客户端并将其连接到MySQL提供了有用的信息。它是一个shell脚本,因此仅在Unix和类Unix系统上可用。

总结

工具就是替代一部分功能,提高效率的。若想在MySQL运维中提高工作效率,就需要引入这些工具,也需要使用得当,理解并熟悉用法,才是运维之道。

墨天轮原文链接:https://www.modb.pro/db/71592(复制到浏览器或者点击“阅读原文”立即查看)

关于作者
崔虎龙,云和恩墨MySQL技术顾问,长期服务于金融、游戏、物流等行业的数据中心,设计数据存储架构,并熟悉数据中心运营管理的流程及规范,自动化运维等。擅长MySQL、Redis、MongoDB数据库高可用设计和运维故障处理、备份恢复、升级迁移、性能优化。自学通过了MySQL OCP 5.6和MySQL OCP 5.7认证。2年多开发经验,10年数据库运维工作经验,其中专职做MySQL工作8年;曾经担任过项目经理、数据库经理、数据仓库架构师、MySQL技术专家、DBA等职务;涉及行业:金融(银行、理财)、物流、游戏、医疗、重工业等。
END
(0)

相关推荐

  • 本地服务开启MySQL57提示本地计算机上MySQL服务启动后停止。。。。

    本地服务开启MySQL57提示本地计算机上MySQL服务启动后停止。。。。

  • Linux服务器部署.Net Core笔记:六、安装MySQL

    接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源 ...

  • MySQL客户端和服务器端工具集

    MySQL 一般是安装在服务器上的,我们在客户端可以进行连接,然后可以进行一些增删改查操作.下面我们分服务器端和客户端来讲解一下 MySQL 的实用工具集. MySQL 服务器端实用工具 1) mys ...

  • MySQL5.7安装详细教程

    MySQL5.7免安装版配置详细教程 一. 软件下载 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验,要安装的朋友可以当做参考哦 mysql5.7 ...

  • 自动化运维工具-Ansible

    时间主题12.25(周三)20:00 自动化运维工具-Ansible 在这周三的测试运维试听课程中,芒果给大家介绍了自动化运维工具-Ansible的使用,这里我们来做个小总结.Ansible介绍ans ...

  • 企业基于开源自动化运维工具的运维实践

    [作者]聂奎甲,从事IT工作十余年,主要参与项目规划实施,主要参与政府.电力.国土等行业的系统集成项目,包括主机存储.Oracle数据库,精通计算机网络与安全. 一.运维的发展趋势 随着制造业的信息化 ...

  • 自动化运维工具

    目录 ansible 简介 ansible 是什么? ansible 特点 ansible 架构图 ansible 任务执行 ansible 任务执行模式 ansible 执行流程 ansible 命 ...

  • AQ录屏工具|AQ录制 V1.7.8.0 官方最新版 下载

    AQ录制是一款免费无广告的录屏剪辑软件,软件支持人工智能图像识别的游戏高光及录制,用户打开软件,即可记录您在游戏内的击杀镜头,目前已经支持WOW.PUBG,CSGO,DOTA2,CF,LOL等游戏的高 ...

  • MySQL主从复制配置步骤如何操作?linux运维

    MySQL的主从复制是一个异步的复制过程,数据将从一个MySQL数据库(Master)复制到另一个MySQL数据库(Slave),在Master与Slave之间实现整个主从复制的过程是由三个线程参与完 ...

  • MySQL的存储方式有哪些?Linux运维工程师学习

    MySQL的存储方式有哪些?数据库是Linux运维人员都会接触到的工作内容.那么对于数据库知识,运维人员是必须要掌握的.那么MySQL的存储方式都有哪些? 程序文件随数据目录一起存储在服务器安装目录下 ...

  • 数据库约束有什么作用?Linux运维MySQL数据库

    数据库是存储数据的仓库,由数据库表组成.数据库本质是一个文件系统,数据库以特定的格式存储数据,用户可以添加.修改.删除和查询数据库中的数据.对于运维工作者或者数据库工作者来说,数据库约束是学习数据库相 ...

  • MySQL数据库是什么?Linux数据库运维

    Mysq|是目前流行的关系型数据库管理系统.MySQL是WEB应用中较好的应用软件之一.数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,对于互联网发展起着重要的作用.现 ...

  • 苹果ID解锁工具|苹果ID解锁工具 v4.0官方版 下载

    苹果ID解锁工具是一款操作方便,功能强大的可以清除苹果id账号的软件,它能够帮助用户快速清除苹果手机上id账号,适合不记得苹果ID账号的朋友使用,有需求的用户请下载体验! 功能特色 1.完全刷机: 是 ...