mysqldump备份

mysqldump备份(mysqldump位于..MySQL\MySQL Server 5.5\下)

1、将指定数据库备份到某dump文件(转储文件)中
mysqldump -uroot -pPassword [database name] [table name] > [dump file]
例:mysqldump -uroot -p123456 test > D:/develop/test.sql

2、--opt(无效果)
如果加上--opt参数则生成的dump文件中稍有不同:
. 建表语句包含drop table if exists tableName
. insert之前包含一个锁表语句lock tables tableName write,insert之后包含unlock tables

3、只备份表结构
mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 > test.dump

4、备份所有库的表结构
mysqldump --all-databases > test.dump

5、从备份文件恢复数据库
mysql [database name] < [backup file name]

6、结合Linux的cron命令实现定时备份
比如需要在每天凌晨1:30备份某个主机上的所有数据库并压缩dump文件为gz格式,那么可在/etc/crontab配置文件中加入下面代码行:

30 1 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%Y'`.sql.gz

7、备份全部库的数据
C:"Program Files"\MySQL"MySQL Server 5.5"\bin\mysqldump --opt -u root -p123456 --all-databases > D:\test_%Ymd%.sql

8、cron定时服务(有可能开机不会自启动)
1、centOS 7:
systemctl start crond 启动
systemctl stop crond 停止
systemctl restart crond 重启服务
systemctl reload crond 重新加载配置
2、配置 crontab 位于 /etc/crontab
添加 */1 * * * * root /root/backup.sh

9、windows bat脚本
@echo off
set "Ymd=%date:,4%%date:5,2%%date:~8,2%"
C:"Program Files"\MySQL"MySQL Server 5.5"\bin\mysqldump --opt -u root -p123456 --all-databases > D:\test_%Ymd%.sql
@echo on

然后在 计算机(右键)>管理>配置>任务计划程序>创建任务...(添加执行时间和执行脚本)

10、linux shell脚本
#!/bin/sh
mysqldump -u root -p123456 --all-databases | gzip > /root/data/database_date '+%m-%d-%Y'.sql.gz

你可能感兴趣的:(mysqldump备份)