mysql 自动在线备份,单向备份的详细设置

[ 2012-11-05 16:50:39 | 作者: admin ]
字号: | |
本文作者:解道成

拟在实验室测试进行MySQL的在线备份测试
1、建立一个 主 MySQL 服务器
2、建立一个从 MySQL 服务器
3、建立从主服务器到从服务器的在线数据复制

目的:
1、MySQL的安装、管理
2、主从服务器的建立,以保证以后数据库系统的高可用性
3、测试一下相关的性能。

操作如下:
第一步:开始时如果slave上的数据和master上的不同
,需要同步数据库
1. 备份数据库
mysqldump -uroot -padmin midp > "C:/Program Files/MySQL/MySQL Server 5.0/logs/back.sql"
2. 恢复数据
mysql -uroot -p123456 midp < "C:/Program Files/MySQL/MySQL Server 5.0/logs/back.sql"
或使用Mysql Query Browser更简单

第二步:在master上创建一个slave的帐户
mysql> GRANT REPLICATION SLAVE ON *.*
              -> TO 'repl'@'10.1.2.131' IDENTIFIED BY 'slave';

第三步:配master 与 slave 的my.ini (Linux上是my.cnf)文件
在里面的[mysqld]行下面增加
(master):
server-id=1
log-bin=C:/Program Files/MySQL/MySQL Server 5.0/logs/mysql_binary_log #打开二进制日志
binlog-do-db=midp #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
binlog-ignore-db=mysql #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可

(slave):
server-id=2
master-host=10.1.2.130
master-user=repl
master-password=slave
master-port=3306
master-connect-retry=10
replicate-do-db=midp #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可
-----------------------------------------------------------------------------------
重启
第四步:检查
(1) MySQL> show Master status; 是否开启二进制日志
(2) MySQL> show slave status; 检查Slave_IO_Running和Slave_SQL_Running是否都是Yes;
                    查看Slave_IO_State字段:1.空 //复制没有启动
                    2.Connecting to master//没有连接上master
                    3.Waiting for master to send event//已经连上
(3) MySQL> show processlist;
          找到I/O和SQL线程的Status,如果I/O状态是Connecting to master为false
          ture statue is: 1.Waiting for master to send event
                    2.has read all relay log;waiting for the slave I/o thread to update it
-----------------------------------------------------------------------------------

有的资料上说要再操作第五步和第六步 但我经测试 到这一步就已经能够ok了


如果要从master的当前日志点同步,或者改变slave端的master主机,可以参考第五步和第六步命令

第五步:查看验证master的日志开启
mysql > SHOW MASTER STATUS;
        +---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql_binary_log.003 | 73| test | manual,mysql |
+---------------+----------+--------------+------------------+

第六步:在 slave 执行下面 sql 操作
      mysql>stop slave
      mysql> CHANGE MASTER TO
    -> MASTER_HOST=' 10.1.2.130',
    -> MASTER_USER='root',
    -> MASTER_PASSWORD='admin',
    -> MASTER_LOG_FILE='mysql_binary_log.003',
    -> MASTER_LOG_POS=73;
    mysql> start slave

   
已测试:在Win2000--Win2000 任意停掉master和slave的mysql后,再开启都可以继续同步
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1894

这篇日志没有评论。

此日志不可发表评论。