欢迎来到天天文库
浏览记录
ID:13041019
大小:20.27 KB
页数:3页
时间:2018-07-20
《mysql的备份和还原》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MySQL的备份和还原MySQL的备份和还原需要确保开启二进制日志的功能,在配置中加上--log-bin即可。(以下策略只针对MyISAM引擎,InnoDB引擎暂不考虑)1、MySQL的备份策略(1)物理备份:就是对数据库的物理对象所做的备份。在后台关闭论坛之后直接拷贝MySQL数据进行备份,在备份之前,执行flushtables和flushlogs,也就是把内存中的数据都刷新到磁盘中并且生成新的二进制日志,最后开启论坛。具体操作如下:a.只针对单台MySQL服务器1)在后台关闭论坛;2)执行flushtables和flushlogs;3)cp
2、或tar直接备份MySQL数据目录下的数据;4)在后台开启论坛。b.针对做有主从MySQL的服务器,在从服务器上做备份1)slavestop关闭从服务器的进程;2)执行flushtables和flushlogs;3)cp或tar直接备份MySQL数据目录下的数据;4)slavestart开启从服务器的进程。(2)逻辑备份:主要是通过mysqldump来进行备份。在后台关闭论坛,执行flushtables和flushlogs,然后通过使用mysqldump来备份数据。具体操作如下:a.只针对单台MySQL1)在后台关闭论坛;2)执行flushta
3、bles和flushlogs;3)mysqldump-uroot-ppassword--opt--default-character-set=gbk--db_name>$dumpFile;4)在后台开启论坛。b.针对做有主从MySQL的服务器,在从服务器上做备份1)slavestop关闭从服务器的进程;2)执行flushtables和flushlogs;3)mysqldump-uroot-ppassword--opt--default-character-set=gbk--db_name>$dumpFile;4)slavestart开启从服务器
4、的进程。2、MySQL的还原策略(1)针对物理备份的还原通过物理备份的数据还原相对简单,直接拷贝回原来的数据库目录下即可。(2)针对逻辑备份的还原用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,直接用 mysql 客户端导入就可以了。mysql–uroot–pdb_name5、时间可以在mysqlbinlog语句中通过--start-datetime和--stop-datetime选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2010年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,通过以下的步骤首先进行完整恢复mysql–uroot–pdb_name6、my7、sql–uroot–p然后跳过出错的时间点,继续进行恢复mysqlbinlog--start-datetime="2010-04-2010:01:00"/var/log/mysql/bin.1234568、mysql–uroot-p2)指定恢复位置通过使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置,操作步骤同基于时间点的恢复。1、具体备份脚本实例(1)物理备份实例只针对单台MySQL服务器首先在后台关闭论坛,接着执行以下脚本,执行完脚本在后台开启论坛。#!/bin/bash#备份ph9、pwind数据目录下的数据,同时删除5天以前备份的数据#备份数据存放目录为/data/mysql#数据库的数据目录为/home/mysql/varmysql_string='/home/mysql/bin/mysql-uroot–ppassword'oldbak=/data/mysql/phpwindbak-$(date'+%Y%m%d'-d'-5day').tar.gzunlink$oldbakfile=phpwindbak-$(date+%Y%m%d).tar.gz$mysql_string-e'flushlogs';$mysql_stri10、ng-e'flushtables';sleep3scd/data/mysqltarzcf$file/home/mysql/var/phpwind针对做
5、时间可以在mysqlbinlog语句中通过--start-datetime和--stop-datetime选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2010年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,通过以下的步骤首先进行完整恢复mysql–uroot–pdb_name6、my7、sql–uroot–p然后跳过出错的时间点,继续进行恢复mysqlbinlog--start-datetime="2010-04-2010:01:00"/var/log/mysql/bin.1234568、mysql–uroot-p2)指定恢复位置通过使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置,操作步骤同基于时间点的恢复。1、具体备份脚本实例(1)物理备份实例只针对单台MySQL服务器首先在后台关闭论坛,接着执行以下脚本,执行完脚本在后台开启论坛。#!/bin/bash#备份ph9、pwind数据目录下的数据,同时删除5天以前备份的数据#备份数据存放目录为/data/mysql#数据库的数据目录为/home/mysql/varmysql_string='/home/mysql/bin/mysql-uroot–ppassword'oldbak=/data/mysql/phpwindbak-$(date'+%Y%m%d'-d'-5day').tar.gzunlink$oldbakfile=phpwindbak-$(date+%Y%m%d).tar.gz$mysql_string-e'flushlogs';$mysql_stri10、ng-e'flushtables';sleep3scd/data/mysqltarzcf$file/home/mysql/var/phpwind针对做
6、my
7、sql–uroot–p然后跳过出错的时间点,继续进行恢复mysqlbinlog--start-datetime="2010-04-2010:01:00"/var/log/mysql/bin.123456
8、mysql–uroot-p2)指定恢复位置通过使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置,操作步骤同基于时间点的恢复。1、具体备份脚本实例(1)物理备份实例只针对单台MySQL服务器首先在后台关闭论坛,接着执行以下脚本,执行完脚本在后台开启论坛。#!/bin/bash#备份ph
9、pwind数据目录下的数据,同时删除5天以前备份的数据#备份数据存放目录为/data/mysql#数据库的数据目录为/home/mysql/varmysql_string='/home/mysql/bin/mysql-uroot–ppassword'oldbak=/data/mysql/phpwindbak-$(date'+%Y%m%d'-d'-5day').tar.gzunlink$oldbakfile=phpwindbak-$(date+%Y%m%d).tar.gz$mysql_string-e'flushlogs';$mysql_stri
10、ng-e'flushtables';sleep3scd/data/mysqltarzcf$file/home/mysql/var/phpwind针对做
此文档下载收益归作者所有