<还原mysql_linux下MYSQL备份与恢复
1.⽤命令实现备份
数据库备份是很重要的。如果定期做好备份,这样就可以在发⽣系统崩溃时恢复数据到最后⼀次正常的状态,把损失减⼩到最少。MySQLl 提供了⼀个mysqldump命令,我们可以⽤它进⾏数据备份,下⾯假设要备份tm这个数据库:
#mysqldump -u root -p tm > tm_050519.sql
按提⽰输⼊密码,这就把tm数据库所有的表结构和数据备份到tm_050519.sql了,因为要总进⾏备份⼯作,如果数据量⼤会占⽤很⼤空间,这时可以利⽤gzip压缩数据,命令如下:
#mysqldump -u root -p tm | gzip > tm_
系统崩溃,重建系统时,可以这样恢复数据:
#mysql -u root -p tm < tm_050519.sql
从压缩⽂件直接恢复:
#gzip < tm_ | mysql -u root -p tm
当然,有很多MySQL⼯具提供更直观的备份恢复功能,⽐如⽤phpMyAdmin就很⽅便。但我认为,mysqldump是最基本、最通⽤的。
2.利⽤crontab,系统每天定时备份mysql数据库
【内容提要】利⽤系统crontab来定时执⾏备份⽂件,按⽇期对备份结果进⾏保存,达到备份的⽬的。
利⽤系统crontab来定时执⾏备份⽂件,按⽇期对备份结果进⾏保存,达到备份的⽬的。
1、创建保存备份⽂件的路径/mysqldata
#mkdir /mysqldata
2、创建/usr/sbin/bakmysql⽂件
#vi /usr/sbin/bakmysql
输⼊
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$ /var/lib/mysql
或者写成
rq=` date +%Y%m%d `
之前下过mysql现在重新下载mysqlmysqldump --all-databases -u root -p密码 > /mysqldata/mysql$rq.sql
/var/lib/mysql是你数据库⽂件的⽬录,部分⽤户是/usr/local/mysql/data,每个⼈可能不同
/mysqldata/表⽰保存备份⽂件的⽬录,这个每个⼈也可以根据⾃⼰的要求来做。
3、修改⽂件属性,使其可执⾏
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下⾯添加
01 3 * * * root /usr/sbin/bakmysql
表⽰每天3点钟执⾏备份
5、重新启动crond
# /etc/rc.d/init.d/crond restart
完成。
这样每天你在/mysqldata可以看到这样的⽂件
你直接下载就可以了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论