1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。
比如导出单个数据库 ytt: mysqldump ytt >/tmp/ytt.sql;
恢复也非常简单:mysql </tmp/ytt.sql
缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。
2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。
其他缺点和 mysqldump 一样。
3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。
dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例
dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库
load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件
MySQL Shell UTIL 备份恢复工具具备如下特性:
1. 压缩导出(默认压缩算法 zstd)
2. 数据集分块导出,每块 32M
3. 默认导出存储过程、存储函数、触发器、事件、用户、视图
4. 默认 4 个线程导出
5. 默认进度展示
6. 默认字符集 utf8mb4
7. 默认开启一致性导出
8. 默认表,视图等定义导出为 SQL 语句
9. 默认数据导出为 TSV 格式数据
MySQL 管理工具本回答来自:MySQL 管理工具_树懒学堂
MySQL的标准安装版本中没有图形化管理工具,虽然MySQL几乎所有的任务都可以用命令提示符下的mysqladmin和mysql命令来完成,也会对MySQL留下“界面不友好”的坏印象,为解决这个问题,MySQL开发了多种图形化的管理工具。下面介绍3个使用比较广泛的MySQL图形化管理工具。
Navicat for MySQL
Navicat for MySQL基于Windows平台,为MySQL量身定做,提供类似于MySQL的用户管理界面工具。此解决方案的出现,将解放PHP、J2EE等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。
Navicat for MySQL使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。用户可完全控制MySQL数据库和显示不同的管理资料,包括管理用户和控制访问权限,可方便的将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local)进行数据备份。
Navicat for MySQL支持Unicode,以及本地或远程MySQL服务器多连接,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行SQL queries、管理用户权限(安全设定)、将数据库备份/还原、导入/导出数据(支持CSV、TXT、DBF和XML数据格式)等。
phpMyAdmin
phpMyAdmin是基于php环境的web端管理工具,所以是通过浏览器来执行具体的MySQL操作,而非客户端软件。最大的优点就是便捷性。
phpMyAdmin可以运行在各种版本的PHP及MySQL下,可以对数据库进行操作,如创建、修改和删除数据库、数据表及数据等。安装完hpMyAdmin后,在浏览器中输入phpMyAdmin访问地址,如http://localhost:8088/phpmyadmin/,即可打开登录页面
MySQL Administrator
MySQL Administrator是众多MySQL图形化管理工具中应用最广泛的一种,是用来执行数据库管理操作的程序,以及用来监视和管理MySQL实例的数据库、用户的权限和数据的实用程序,比如MySQL服务的配置、控制、开启和关闭,还可用于管理用户和连接数据库,执行数据备份和其他的一些管理任务。它有这几个优点:
(1)它的图形化的用户界面为用户提供了非常直观的接口。
(2)它提供了较好的全局设置,这对于MySQL服务器的可执行性、可信度和安全性是相当重要的。
(3)它提供了图形化的性能显示,使中止服务器和更改服务器的设置更加简单。
在MySQL日常运维工作中,经常会用到各种管理工具,这些工具属于mysql自带的管理工具,存储在mysql目录下的bin目录中,例如对象查看,备份,日志分析等,熟练使用是运维开发人员的必备工作,这些工具参数很多,这里介绍常用选项,更多详细可参考帮助文件。
在mysql工具集中,管理员使用最频繁的就是mysql命令了,它是连接数据库的客户端工具,类似oracle中的sqlplus,通过它可以进入mysql控制台界面。在大部分情况下,使用简单,命令语法如下:
常用选项:选项一般有两种表达方式,一种是"-"+选项单词缩写和选项值;另一种是“--”+选项的完整单词“=”选项实际值。例如我们连接数据库的两种命令如下:
myisampack是一个表压缩工具,它对MyISAM存储引擎表能进行高度压缩,可以很大的节省磁盘空间,但是压缩后的表只能读,不能写,不能进行DML操作,所以它的使用场景一般是归档 历史 数据。命令如下:
当对一个压缩表进行增加操作时会报一个错误:ERROR 1036 Table is read only,但时对查询和统计时可以正常操作的。
mysqladmin是一个对数据库进行管理操作的客户端工具,可用来检查服务器是否可用、显示数据库版本号和状态,还可以直接新增一个数据库,也可对数据库进行关闭,功能和mysql类似,它的参数和mysql差异不大,命令如下:
它还可以修改root密码,命令如下
MySQL自带的mysqlbinlog工具的作用是解析二进制binlog的日志内容,把二进制数据还原成mysql可以执行的SQL语句。我有篇文章专门介绍该工具的使用,请具体参考:
传送门:mysql运维管理(七):使用Mysqlbinlog工具恢复增量数据
mysqlcheck工具可以用来检查和修复MyISAM存储引擎的表,还能做优化的工作,例如check、repair、analyze、optimize等等功能。具体命令如下:
注意,如果是innodb引擎的表,不能用上述优化工具。
mysqldump工具用来逻辑备份数据库,或者数据迁移。该工具是最常用的备份工具。
我有篇文章专门介绍该工具的使用,请具体参考:
传送门:mysql运维管理(五):掌握MySQLdump逻辑备份工具使用
它是数据导入工具,专门用来处理mysqldump 加-T选项后导出的文本文件,基本用法很简单,命令如下:
客户端对象查找工具,用来查找数据库,数据库的表,表中列或者索引,具体使用命令如下:
不加任何选项,默认显示所有数据库。
常用参数:
--count ,用来显示数据库和表的统计信息,不指定数据库的话,显示所有库信息
-k或者--keys,用来显示指定表中所有索引,例如查看employees库中employees表的索引信息,
在使用mysql使用过程中,会经常出现错误,错误信息都会带有一个编码,具体编码代表什么意思,就需要perror来查看。用法很简单:
举个例子,我们故意写错一个查询语句,例如:
现在有一个编码1054,我们可以用perror查看下
结果跟用工具显示的内容差不多,当然第三方工具也会显示错误信息。
本章做了一个常用工具的使用汇总,并举例说明了基本用法,熟练使用是每个运维人员必修内容,当然还有很多参数没有一一列举,可以参考相关帮助文档。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)