领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

每日一个Linux命令解析——mysqldump

nixiaole 2024-12-18 16:10:38 知识剖析 10 ℃

mysqldump:mysqldump 是 MySQL 数据库管理系统中用于备份数据库的命令行工具。它通过将数据库中的数据和结构导出到一个文本文件中,通常是 SQL 脚本,方便进行备份和迁移。

一、语法

mysqldump [OPTIONS] database [tables]

二、选项(mysqldump的选项有很多,可以通过--help查看,这里说一下常用的选项)

  1. --print-defaults:打印程序的参数列表,然后退出。
  2. --no-defaults:不从任何配置文件中读取默认选项。
  3. --defaults-file=#:仅从指定文件#读取默认选项。
  4. -A, --all-databases:导出所有数据库,效果相当于--databases选择了所有数据库。
  5. -Y, --all-tablespaces:导出所有表空间信息。
  6. -y, --no-tablespaces:不导出任何表空间信息。
  7. --add-drop-database:在创建每个数据库之前添加DROP DATABASE语句。
  8. --add-drop-table:在创建每个表之前添加DROP TABLE语句。
  9. --add-locks:在INSERT语句前后添加锁定操作。
  10. --allow-keywords:允许列名使用关键词。
  11. -B, --databases:导出多个数据库。
  12. -E, --events:导出事件。
  13. -e, --extended-insert:使用多行INSERT语法,包含多个VALUES列表。
  14. -F, --flush-logs:在开始导出前刷新日志文件。
  15. -R, --routines:导出存储过程和函数。
  16. --set-charset:在输出中添加SET NAMES语句(默认启用)。
  17. --single-transaction:将所有表的导出事务放入一个事务中,以实现一致快照。
  18. -T, --tab=name:为每个表在给定路径下创建制表符分隔的文本文件。
  19. -u, --user=name:指定用于登录的用户名。
  20. -p, --password[=name]:指定用于连接的密码;如果未提供密码,会在终端提示输入。

三、示例

  1. 备份单个数据库
mysqldump -u root -p my_database > my_database_backup.sql
  1. 备份多个表
mysqldump -u root -p my_database table1 table2 > backup.sql
  1. 备份所有数据库
mysqldump -u root -p --all-databases > all_databases_backup.sql
  1. 备份并压缩数据库
mysqldump -u root -p my_database | gzip > my_database_backup.sql.gz
  1. 备份并包括存储过程和触发器
mysqldump -u root -p --routines --triggers my_database > backup.sql

四、注意

  • 一般会将mysqldump备份数据库命令写入定时任务定时执行,有其他的配置推荐写脚步最佳。
  • mysqldump备份完的sql文件记得使用空数据库进行恢复,以免备份的很多文件但是无法恢复。
  • mysql数据库双主、主从是最基本的集群配置。还是要熟练掌握,推荐大家查看这两篇文章:https://vanblog.ztunan.top/category/mysql

#Linux命令##mysql##数据库##备份#

Tags:

最近发表
标签列表