分类: 服务器与存储
2008-06-06 04:57:52
MySql数据库同步复制 数据库同步复制功能的设置都在mysql的设置文件中体现。主要工作原理为slave端记录并且执行master端的操作日志.mysql的配置文件(Linux下为/etc/my.cnf) 1、实施环境: 操作系统:2台linux AS 4,完全安装. Mysql为本机rpm.版本为5.0.27 SvrA ip:192.168.0.110 SvrB ip:192.168.0.111 2、配置方法 Step A:SvrA上配置 #service mysqld start #mysql –u root 增加一个用户做为同步的用户帐号: Mysql> GRANT REPLICATION SLAVE ON *.* TO IDENTIFIED BY 'abc123'; 增加一个数据库作为同步数据库: Mysql>create database test1; Step B:SvrB上配置 #service mysqld start #mysql –u root 增加一个用户最为同步的用户帐号: Mysql> GRANT REPLICATION SLAVE ON *.* TO IDENTIFIED BY 'abc123'; 增加一个数据库作为同步数据库: Mysql>create database test1; 关闭MYSQL 数据库。 主从模式:A->B SvrA为master ,SvrB为slave 1.修改SvrA 中mysql的my.cnf文件。 #vi /etc/my.cnf 在mysqld配置项中加入下面配置:(注意:mysql默认配置文件中已经有server-id和log-bin,请注释掉后再做配置) server-id=1 log-bin=mylog binlog-do-db=test1(此处数据库名为举例,可设置多个库,根据需求在此处按此格式添加) log_err=my-err.log max_binlog_size=104857600 ##设置LOG长度,避免空间浪费 log-slow-queries=/var/log/slowquery.log ##记录处理时间大于10s的sql语句. long_query_time = 10 配置完后重起数据库服务。 命令看mysql状态: mysql> show master status; 1.修改SvrB中 mysql的my.cnf文件。 #vi /etc/my.cnf 在mysqld配置项中加入下面配置:(注意:mysql默认配置文件中已经有server-id和log-bin,请注释掉后再做配置) server-id=2 master-host=192.168.0.110 master-user=test1 master-password=abc123 master-port=3306 master-connect-retry=60 replicate-do-db=test1 log-slow-queries=/var/log/slowquery.log long_query_time = 10 启动SLAVE数据库: #service mysqld start #mysql –u root Mysql>slave stop; #暂停slave从master同步数据. 启动MASTER数据库: #service mysqld start #mysql –u root 回到SLAVE数据库终端: Mysql>start slave; |