📜  mysqldump - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:44:31.143000             🧑  作者: Mango

mysqldump 命令介绍

mysqldumpMySQL 自带的一款命令行工具,用于备份和还原 MySQL 数据库。它能够以多种格式将一个或多个数据库的所有数据拷贝到指定的文件或标准输出流中。

以下是 mysqldump 命令的详细介绍:

基本语法
mysqldump [options] db_name [table_name ...] > backup_file.sql
  • options : 命令选项
  • db_name : 需要备份的数据库名称
  • table_name : 选填,单独备份某张表的名称
  • backup_file.sql : 备份文件的文件名和位置
常用选项

以下是 mysqldump 常用的选项:

  • -u : MySQL 数据库用户名
  • -p : MySQL 数据库密码
  • --databases : 备份多个数据库,使用空格分隔多个数据库名称
  • --tables : 备份多张表,使用空格分隔多个表名称
  • --ignore-table : 忽略备份某张表
  • --routines : 备份存储过程和函数
  • --triggers : 备份触发器
  • --events : 备份事件调度器
  • --add-drop-database : 在备份文件中添加删除数据库的 SQL 语句
  • --add-drop-table : 在备份文件中添加删除表的 SQL 语句
  • --add-locks : 备份数据库时加锁,避免备份数据与正在写入的数据冲突
  • --lock-tables : 备份数据库时锁定表
  • --single-transaction : 以事务方式备份,避免备份时出现不一致的情况
  • --default-character-set : 指定备份文件的字符集
例子

备份单个数据库:

mysqldump -u root -p database1 > database1_backup.sql

备份多个数据库:

mysqldump -u root -p --databases database1 database2 > databases_backup.sql

备份整个 MySQL 服务器上的所有数据库:

mysqldump -u root -p --all-databases > all_databases_backup.sql

备份单个表:

mysqldump -u root -p database1 table1 > table1_backup.sql

备份多个表:

mysqldump -u root -p database1 --tables table1 table2 > tables_backup.sql

忽略某个表的备份:

mysqldump -u root -p database1 --ignore-table=database1.table1 > database1_without_table1.sql

备份存储过程和函数:

mysqldump -u root -p --routines database1 > database1_with_routines.sql

备份触发器:

mysqldump -u root -p --triggers database1 > database1_with_triggers.sql

备份事件调度器:

mysqldump -u root -p --events database1 > database1_with_events.sql

以上就是 mysqldump 命令的详细说明,如有疑问可以查看 MySQL 官方文档。