mysqldump是MySQL数据库备份工具,可以将数据库中的数据导出为SQL文件,方便进行数据备份和迁移。下面是mysqldump的使用笔记:
- 备份整个数据库
使用以下命令可以备份整个数据库:
mysqldump -u username -p password database_name > backup.sql
其中,username
和password
是连接MySQL服务器的用户名和密码,database_name
是要备份的数据库名称,backup.sql
是备份文件的名称。
例如,如果要备份名为mydatabase
的数据库,可以使用以下命令:
mysqldump -u root -p mypassword mydatabase > mydatabase_backup.sql
这将在当前目录下创建一个名为mydatabase_backup.sql
的文件,其中包含整个数据库的备份数据。
- 备份单个表
使用以下命令可以备份单个表:
mysqldump -u username -p password database_name table_name > backup.sql
其中,username
和password
是连接MySQL服务器的用户名和密码,database_name
是要备份的数据库名称,table_name
是要备份的表名称,backup.sql
是备份文件的名称。
例如,如果要备份名为users
的表,可以使用以下命令:
mysqldump -u root -p mypassword mydatabase users > users_backup.sql
这将在当前目录下创建一个名为users_backup.sql
的文件,其中包含users
表的备份数据。
- 备份多个表
使用以下命令可以备份多个表:
mysqldump -u username -p password database_name table1 table2 table3 > backup.sql
其中,username
和password
是连接MySQL服务器的用户名和密码,database_name
是要备份的数据库名称,table1
、table2
和table3
是要备份的表名称,backup.sql
是备份文件的名称。
例如,如果要备份名为users
和orders
的表,可以使用以下命令:
mysqldump -u root -p mypassword mydatabase users orders > tables_backup.sql
这将在当前目录下创建一个名为tables_backup.sql
的文件,其中包含users
和orders
表的备份数据。
- 备份所有表
使用以下命令可以备份所有表:
mysqldump -u username -p password database_name --all-tables > backup.sql
其中,username
和password
是连接MySQL服务器的用户名和密码,database_name
是要备份的数据库名称,--all-tables
表示备份所有表,backup.sql
是备份文件的名称。
例如,如果要备份名为mydatabase
的所有表,可以使用以下命令:
mysqldump -u root -p mypassword mydatabase --all-tables > all_tables_backup.sql
这将在当前目录下创建一个名为all_tables_backup.sql
的文件,其中包含整个数据库的所有表的备份数据。
给出项目实战案例:
- 备份整个库
mysqldump -uca_admin -p'cA_43@SH%ps' --host=192.168.211.127 --port=13507 --single-transaction --triggers --routines --events --hex-blob --flush-privileges --single-transaction --quick --set-gtid-purged=OFF --skip-add-locks --force --databases sun_itsm > ./itsm-bak.sql
这里是引用以下是该命令的解析:
mysqldump: 是MySQL数据库备份工具。
-u ca_admin: 指定连接MySQL服务器的用户名为ca_admin。
-p’cA_43@SH%ps’: 指定连接MySQL服务器的密码为cA_43@SH%ps。注意,密码前后有单引号。
–host=192.168.211.127: 指定连接MySQL服务器的主机IP地址为192.168.211.127。
–port=13507: 指定连接MySQL服务器的端口号为13507。
–single-transaction: 在备份过程中,使用单个事务进行备份,确保数据的一致性。
–triggers: 备份触发器。
–routines: 备份存储过程和函数。
–events: 备份事件。
–hex-blob: 以十六进制格式备份二进制数据。
–flush-privileges: 刷新权限信息。
–quick: 使用快速导出模式,减少锁表时间。
–set-gtid-purged=OFF: 关闭GTID(全局事务标识符)清除功能。
–skip-add-locks: 跳过添加锁定语句。
–force: 强制导出,即使存在错误也继续执行。
–databases sun_itsm: 指定要备份的数据库名称为sun_itsm。
./itsm-bak.sql: 将备份结果输出到当前目录下的itsm-bak.sql文件中。
2.备份单个表
[root@ home]# mysqldump -uca_admin -p'cA_43@SH%ps' --host=192.168.211.123 --port=13507 --set-gtid-purged=OFF sun_safeplatform safe_order > b.sql