您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

MySQL的有备无患

添加时间:2014-2-19 11:44:12  添加: 思海网络 
IT168技术文档】众所周知,企业应用数据库除了速度,性能,安全等因素之外最重要的因为就在于备份数据。有了安全可靠的备份 后,身为SA的我们便可舒心的享受生活了,反之,如果没有一个可靠的备份策略,那么各位同事一定时时的在为数据的丢失而烦恼。那本文就总结了笔者在企业中 对于备份的的一些心得。

  首先我对MYSQL数据库的备份计划分为二个步骤,第一步为时时备份,就是MYSQL的 MASTER,SLAVE模式,此模式的优势就在可以从MASTER数据库即时的备份到SLAVE上,对于硬盘损坏导致的数据库问题可以有效的进行预防, 同时在配置文件中可声明生成二进制日志文件,又可以在任意时间进行数据恢复。第二部完全备份,有了时时备份,仍不可掉以轻信,大家都知道计算机这东西没准 什么时间就会给你冒个异常,作为一名合格的系统管理员,我们要尽量做到万无一失误,那么我的计划是在本地的CRONTAB中添加每日的MYSQLDUMP 命令,用来导出数据库,并传送到一台备份服务器。

  下面来具体的为大家说明如何来实施我的计划:

  1.主从模式:

  MASTER:

  配置my.cnf,在[mysqld]中添加

  server-id=1

  log-bin#(启动二进制备份)

  binlog-do-db=database1 #(选择需要备份的本地数据库)

  log#(记录本地LOG日志)

  log-update#(更新本地LOG日志)

  在MYSQL中执行:

  GRANT SELECT,REPLICATION SLAVE ON database1.* TO backup@123.123.123.123 IDENTIFIED BY 'backuppwd';

  解释:

  log-bin#(启动二进制备份)

  binlog-do-db=database1,database2#(选择需要备份的本地数据库)

  将本地的数据存储转换为二进制模式,方便传送至SLAVE,本地查看数据库日志不方便。

  log#(记录本地LOG日志)

  log-update#(更新本地LOG日志)

  直接将二进制日志记录在本地,本地会在数据库目录生成以主机名命名的log文件,方便本地查看。

  GRANT SELECT,REPLICATION SLAVE ON database1.* TO backup@123.123.123.123 IDENTIFIED BY 'backuppwd';

  为SLAVER添加一个可以访问的用户

  SLAVER:

  server-id=2

  master-host=123.123.123.123#(MASTER的IP)

  master-user=backup

  master-password=backuppwd

  master-port=3306

  master-connect-retry=60

  set-variable=replicate-do-db=database1

  log-bin

  log-slave-updates

  解释:

  server-id=2

  master-host=123.123.123.123#(MASTER的IP)

  master-user=backup

  master-password=backuppwd

  master-port=3306

  master-connect-retry=60

  配置MASTER的相关信息

  log-bin

  log-slave-updates

  本地记录二进制日志并更新 

 2.完全模式

  在CRONTAB中写入

  0 0 * * * mysqldump database > /sqlbak/database_`date +%Y%m%d`.sql

  完整数据库文件被导出后可以用SCP拷贝到备份服务器(可参考SSH无密码认证方法),这里就不说了。

  解释:

  在每天0点的时候对DATABASE数据库进行备份并以当天日期作为文件名,例如今天会生成database_20090218.sql

  有了这双层保险,相信大家在数据库管理方便可以轻松很多吧。本文只是介绍了MYSQL备份策略的冰山一角,更多的应用还需要大家自己琢磨,若有解释不当的地方还请大家海涵,愿和各位系统爱好者一同进步。

  附:通过二进制文件恢复数据:

  mysqlbinlog --stop-date="2009-02-18 00:00:00" /var/lib/mysql/commail-bin.000001 > /sqlbak/090218.sql

  恢复2009年2月18日0点前的完整数据库信息到/sqlbak/090218.sql

关键字:MySQL、数据库、备份、服务器

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站