由于长期使用测试环境的数据库,时不时会有脏数据删除不干净,对此很需要一个实时将生产库的数据定期备份一份,防止生产库中会有脏数据进来。
mysqldump
是MySQL数据库管理系统提供的命令行工具,用于备份数据库
mysqldump -u [username] -p[password] [database_name] > /path/to/backup.sql
具体的参数说明:
-u
: 指定MySQL用户名-p[password]
: 指定MySQL密码,注意 -p 之后没有空格,直接跟密码(如果是window系统,直接使用英文的双引号,囊括密码)[database_name]
: 要备份的数据库名> /path/to/backup.sql
: 将备份数据输出到指定的 SQL 文件对于该命令通过运行 mysqldump --help
来查看所有可用的选项和参数。
了解这些参数有助于根据你的需求进行定制化的备份操作
下面主要讲解常用的命令参数:(如果携带密码在界面中会不安全,此处也可隐藏不写!)
-A
或者 不加)mysqldump -u [username] -p[password] [database_name] > backup.sql
截图如下:
或者如下:
-d
或者 --no-data
)mysqldump -u [username] -p[password] --no-data [database_name] > structure_backup.sql
截图如下:
-t
或者 --no-create-info
)mysqldump -u [username] -p[password] --no-create-info [database_name] > data_backup.sql
截图如下:
mysqldump -u [username] -p[password] [database_name] table1 table2 > tables_backup.sql
截图如下:
其中涉及的数据库一定是存在的
mysqldump -u [username] -p[password] --databases [database_name] > backup_with_create.sql
截图如下:
mysqldump -u [username] -p[password] --databases db1 db2 > multi_db_backup.sql
截图如下:
mysqldump -u [username] -p[password] --databases [database_name] --add-drop-database --comments > backup_with_comments.sql
--add-drop-database
: 在创建数据库之前添加 DROP DATABASE IF EXISTS 语句
--comments
: 在备份文件中添加注释
截图如下:
mysqldump -u [username] -p[password] --databases [database_name] --default-character-set=utf8 > backup_utf8.sql
--default-character-set
: 指定备份文件的字符集
截图如下:
对于其他数据库的备份,大致的方向差不多
一、PostgreSQL:
使用 pg_dump
命令进行备份,同样可以结合 cron
进行定时执行。
# 这里的 [username] 和 [database_name] 分别替换为你的PostgreSQL用户名和数据库名。 0 0 * * * pg_dump -U [username] -d [database_name] > /path/to/backup.sql
二、SQL Server:
使用 SQL Server Management Studio (SSMS) 提供的工具或者 SQL Server Agent 来进行定时备份,可以设置备份作业并指定定时执行的计划。
三、Oracle:
使用 exp
或 expdp
命令进行备份,同样可以结合计划任务进行定时执行。
凌晨执行备份:
#这里的 [username]、[password]、[hostname]、[port]、[service_name] 分别替换为你的Oracle用户名、密码、主机名、端口和服务 0 0 * * * expdp [username]/[password]@//[hostname]:[port]/[service_name] dumpfile=/path/to/backup.dmp
以上就是MySQL使用命令行备份数据的方法详解的详细内容,更多关于MySQL命令行备份数据的资料请关注插件窝其它相关文章!