mysqldump是什么?mysqldump属于数据库逻辑备份程序,通常使用它来对一个或多个 MySQL 数据库进行备份或还原,另外还可以将数据库传输给其他的 MySQL 服务器。
我们在使用 mysldump 来备份数据库表时,必须要求该账户拥有 SELECT 权限,SHOW VIEW 权限用于备份视图,TRIGGER 权限用于备份触发器。
注意,其他的命令选项可能还需要拥有更多的权限才能完成。
由于 mysqldump 需要通过重建 SQL 语句来实现备份功能,对于数据量比较大的数据库备份与还原操作,速度都比较慢,因此 mysqldump 不适用于大数据的备份。当打开 mysqldump 备份文件时,备份文件的内容就是数据库的 SQL 语言重现。对于大数据的备份与还原,通常会选择物理备份,即直接复制数据文件,就可以实现快速的数据还原工作。
使用 mysqldump 可以备份数据库中的数据表,也可以备份整个数据库,还可以备份 MySQL 系统中的所有数据库。对于使用 mysqldump 工具备份的数据库文件,可以使用 mysql 命令工具还原数据。
注意,在备份整个数据库时,不能在数据库后使用数据表的名称。
mysqldump 命令的语法格式如下:
[root@liangxu ~]# mysqldump [选项] --databases db_name …
[root@liangxu ~]# mysqldump [选项] --all-databases
mysqldump 中的常用选项可以通过 [mysqldump] 和 [client] 写入配置文件。mysqldump 命令的常用选项及说明如表 1 所示。
选 项 | 说 明 |
---|---|
–add-drop-database | 在备份文件中添加、删除相同数据库的 SQL 语句 |
–add-drop-table | 在备份文件中添加、删除相同数据表的 SQL 语句 |
–add-drop-trigger | 在备份文件中添加、删除相同触发器的 SQL 语句 |
–add-locks | 在备份数据表前后添加表锁定与解锁 SQL 语句 |
–all-databases | 备份所有数据库中的数据表 |
–apply-slave-statements | 在 CHANGE MASTER 前添加 STOP SLAVE 语句 |
–bind-address=ip_address | 使用指定的网络接口连接 MySQL 服务器 |
–comments | 添加备份文件的注释 |
–create-options | 在 CREATE TABLE 语句中包含所有的 MySQL 特性 |
–databases | 备份指定的数据库 |
–debug | 创建 debugging 日志 |
–default-character-set=charsename | 设置默认字符集 |
–host,-h | 设置需要连接的主机 |
–ignore-table | 设置不需要备份的数据表,该选项可以使用多次 |
–lock-all-tables | 设置全局锁,锁定所有的数据表以保证备份数据的完整性 |
–no-create-db,-n | 只导出数据而不创建数据库 |
–no-create-info | 只导出数据而不创建数据表 |
–no-date | 不备份数据内容,用于备份表结构 |
–password,-p | 还用密码连接服务器 |
–port=port_num | 使用指定端口号连接服务器 |
–replace | 使用 REPLACE 语句代替 INSERT 语句 |
mysqldump工具的使用方法如下:1) 备份所有的数据库,如下所示:
[root@liangxu ~]# mysql -u root -p myaql
-
使用 user_table 数据库备份文件还原数据表,如下所示:
注意,所有的备份和还原操作都必须在输入命令后,输入密码。
以上就是良许教程网为各位朋友分享的Linux系统中mysqldump命令的用法。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!