免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 902 | 回复: 0
打印 上一主题 下一主题

centos5.2下MySQL主从同步配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:46 |只看该作者 |倒序浏览
一、环境 
主机: 
master操作系统:centos 5.2
 IP:192.168.0.98
 MySQL版本:5.0.45 
        
 从机:          
  slave操作系统:centos 5.2
  IP:192.168.0.99 
   MySQL版本:5.0.45

二、创建数据库 
分别登录master机和slave机的mysql:mysql –u root –p 
创建数据库:create database repl; 
三、master机和slave机的相关配置 
1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下 
在[mysqld]配置段添加如下字段 
server-id=1 
log-bin=log 
binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库 
binlog-ignore-db=mysql //被忽略的数据库 
在master机上为slave机添加一同步帐号 
grant replication slave on *.* to 'repl'@'192.168.0.99' identified by '123456'; 
重启master机的mysql服务:service mysqld restart 
用show master status 命令看日志情况 
mysql>show master status; 
+-----------------+------------+-------------------+-----------------------+ 
| File                | Position     | Binlog_Do_DB   | Binlog_Ignore_DB | 
+-----------------+------------+-------------------+-----------------------+ 
|    log.000003 |           98  | repl                 | mysql                    | 
+-----------------+------------+-------------------+-----------------------+ 
1 row in set (0.00 sec) 
我的master配置文档 master.zip   

2、修改slave机中mysql配置文件 
同样在[mysqld]字段下添加如下内容 
server-id=2 
master-host=192.168.0.98
master-user=repl 
master-password=123456 
master-port=3306 
master-connect-retry=60 
# replicate-ignore-db=mysql 忽略的数据库 
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒) 
#replicate-do-db=repl //同步的数据库(需要备份的数据库名),不写本行 表示 同步所有数据库 
然后重启slave机的mysql 
我的slave配置文档 slave.zip   
在slave机中进入mysql 
mysql>start slave; 
mysql>show slave status\G; 
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。 

四、出现的问题 
当我在执行start slave这条命令时,系统提示 
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
解决方案:
执行 slave stop; 
再执行 
change master to master_host='192.168.1.222',master_user='repl',master_password='123456', master_log_file='log.000003' ,master_log_pos=98; 
然后执行 slave start; 
这时 再执行show slave status\G 
显示如下: 
*************************** 1. row *************************** 
             Slave_IO_State: Waiting for master to send event 
                Master_Host: 192.168.0.98
                Master_User: repl 
                Master_Port: 3306 
              Connect_Retry: 60 
            Master_Log_File: log.000003 
        Read_Master_Log_Pos: 98 
            Relay_Log_File: mysqld-relay-bin.000002 
              Relay_Log_Pos: 229 
      Relay_Master_Log_File: log.000003 
           Slave_IO_Running: Yes 
          Slave_SQL_Running: Yes
 
            Replicate_Do_DB: 
        Replicate_Ignore_DB: 
         Replicate_Do_Table: 
     Replicate_Ignore_Table: 
    Replicate_Wild_Do_Table: 
Replicate_Wild_Ignore_Table: 
                 Last_Errno: 0 
                 Last_Error: 
               Skip_Counter: 0 
        Exec_Master_Log_Pos: 98 
            Relay_Log_Space: 229 
            Until_Condition: None 
             Until_Log_File: 
              Until_Log_Pos: 0 
         Master_SSL_Allowed: No 
         Master_SSL_CA_File: 
         Master_SSL_CA_Path: 
            Master_SSL_Cert: 
          Master_SSL_Cipher: 
             Master_SSL_Key: 
      Seconds_Behind_Master: 0 
1 row in set (0.00 sec) 
显示红色那两行,说明配置成功。 

五、测试主从服务器是否能同步 
在主服务器上面新建一个表,必须在repl数据下 
mysql> use repl 
Database changed 
mysql> create table test(id int,name char(10)); 
Query OK, 0 rows affected (0.00 sec) 
mysql> insert into test values(1,'aaa'); 
Query OK, 1 row affected (0.00 sec) 
mysql> insert into test values(1,'bbb'); 
Query OK, 1 row affected (0.00 sec) 
mysql> select * from test; 
+------+------+ 
| id    | name | 
+-------+------+ 
|    1    | aaa   | 
|    1    | bbb | 
+-------+------+ 
2 rows in set (0.00 sec) 
在从服务器查看是否同步过来 
mysql> use repl; 
Database changed 
mysql> select * from test; 
+------+------+ 
| id    | name | 
+------+------+ 
|     1 | aaa  | 
|     1 | bbb | 
+------+------+ 
2 rows in set (0.00 sec) 
说明已经配置成功。

这里给大家一些资料可以加深理解: mysql_master_slave_配置总结.zip   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP