首页 > 代码库 > MYSQL BEIFEN
MYSQL BEIFEN
#全备份
mysqldump -u root --single-transaction --all-databases > backup_sunday_1_PM.sql
#让它在完全备份时能够清空 MySQL二进制日志,以便转储文件包含新的当前二进制日志:
执行该命令后,数据目录则包含新的二进制日志文件
mysqldump -u root --single-transaction --flush-logs --master-data=http://www.mamicode.com/2 --all-databases > backup_sunday_1_PM.sql
MySQL二进制日志占据硬盘空间。要想释放空间,应随时清空。操作方法是删掉不再使用的二进制日志,例如进行完全备份时输入以下命令:
shell> mysqldump --single-transaction --flush-logs --master-data=http://www.mamicode.com/2 --all-databases --delete-master-logs > backup_sunday_1_PM.sql
注释:如果你的服务器为复制主服务器,用mysqldump
方法中的 --delete-master-logs
选项删掉MySQL二进制日志很危险,因为从服务器可能还没有完全处理该二进制日志的内容。关于这一点,PURGE MASTER LOGS
语句的描述中解释了为什么在删掉MySQL二进制日志之前应进行确认一下。
#恢复数据库
shell> mysql < backup_sunday_1_PM.sql
#指定恢复时间
shell> mysqlbinlog --stop-date="2015-8-6 10:01:00" /var/log/mysql/bin.123456 \| mysql -u root -p mypwd
该命令将恢复截止到在--stop-date
选项中以DATETIME
格式给出的日期和时间的所有数据。
在以上行中,从上午10:01登录的SQL语句将运行。结合执行前夜的
转储文件和mysqlbinlog
的两行命令可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。
MYSQL BEIFEN
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。