MYSQL单双向同步

Master:192.168.1.101
Slave  :192.168.1.102
单向同步(一)
  1. 进入Master启动MYSQL
    1. [root@localhost ~]# service mysqld start  
    2. Starting MySQL                                             [  OK  ] 
  2.  进入Mysql命令行模行
    1. [root@localhost ~]# mysql -uroot -p  
    2. Enter password:   
    3. Welcome to the MySQL monitor.  Commands end with ; or \g.  
    4. Your MySQL connection id is 9 to server version: 5.0.22-log  
    5.  
    6. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.  
    7.  
    8. mysql>  
  3. 为slave用户添加同步专用权限
    1. mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO  ‘replication‘@‘192.168.1.102‘ identified by ‘123456‘;  
    2. Query OK, 0 rows affected (0.01 sec)  
    3.  
    4. mysql> Flush privileges;  
    5. Query OK, 0 rows affected (0.00 sec) 
  4. 创建更新日志文件
    1. mkdir /var/log/mysql  
    2. chmod -R 775 /var/log/mysql  
    3. chown -R mysql:mysql /var/log/mysql 
  5. 配置/etc/my.conf
     
    log-bin=mysql-bin 启用二制日志系统
    server-id=1 ID  标示为主,master_id必须为1到232–1之间的一个正整数值
    binlog-ignore-db=mysql,test 设置需要忽略同步数据库
    binlog-do-db=skydb or name.table 设置需要同步的数据库或同步的表,如果多个库,每个库增加一行.
    log-bin=/var/log/mysql/updatelog 设置log日志文件名
  6. 本导入数据库
    1. service mysqld stop  
    2.  
    3. cd /var/lib/mysql  tar -jxf skydb.tar.bz2    
    4.  
    5. #如果需要冷copy 那么直接把数据完程复制到SLAVE上(可选)   
    6. scp skydb.tar.bz2 [email protected]:/var/lib/mysql  
    7.  
    8. service mysqld start 
  7. 配置SLAVE /etc/my.cnf
      
    server-id = 2 Master 与Slave的不能相同
    master-host = 192.168.1.101 指定MASTER地址
    master-user = replication 同步用户名
    master-password = 123456 同步密码
    master-port = 3306 同步端口
    master-connect-retry=60 断开重新连接等待时间
    replicate-ignore-db=mysql 屏蔽需要同步数据库
    replicate-do-db= skydb

    relay-log=slave-relay-bin
    同步数据库

    生成日志文件
     
 
 
 
    
 
 
 
    8.解压MYSQL数据库(可选 )
  1. cd /var/lib/mysql  
  2. tar -jxf sky.tar.bz2 
    9.配置SLAVE二进制数据库记录回归,达到同步
  1. [root@localhost ~]# mysql -uroot -p  
  2. Enter password:   
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.  
  4. Your MySQL connection id is 4 to server version: 5.0.22-log  
  5.  
  6. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.  
  7.  
  8. mysql> slave stop;  
  9. Query OK, 0 rows affected (0.00 sec)  
  10.  
  11. mysql> show master status; #这句是在MASTER服务器里面执行  
  12. +------------------+----------+--------------+------------------+  
  13. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  14. +------------------+----------+--------------+------------------+  
  15. updatelog.000004 |       98 |              |                  |   
  16. +------------------+----------+--------------+------------------+  
  17. 1 row in set (0.00 sec)  
  18.  
  19. mysql> CHANGE MASTER TO MASTER_LOG_FILE=‘updatelog.000004‘,MASTER_LOG_POS=98;  
  20. Query OK, 0 rows affected (0.01 sec)  
  21.  
  22. mysql> slave start;  
  23. Query OK, 0 rows affected (0.00 sec) 
    10.如果出现mysql> slave start; ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
  1. change master to master_host=‘192.168.1.101‘master_user=‘replication‘master_password=‘123456‘,master_log_file=‘updatelog.000001‘master_log_pos=98
     11.检查是配置成功
  1. show slave status\G  
  2. Slave_IO_Running: YES  
  3. Slave_SQL_Running: YES 
 
 
配置同步(二)
    1.修改原有SLAVE的my.cnf
server-id = 2    不要和主 ID 相同
master-host = 192.168.1.101  指定主服务器 IP 地址
master-user = replication  制定在主服务器上可以进行同步的用户名
master-password = 123456    密码 
 
master-port = 3306   同步所用的端口 
 
master-connect-retry=60     断点重新连接时间 
 
replicate-ignore-db=mysql    屏蔽对 mysql 库的同步
replicate-do-db=skydb 同步数据库名称 
 
relay-log=slave-relay-bin 启用日志
log-bin=/var/log/mysql/updatelog    设定生成log文件名
binlog-do-db=db1       设置同步数据库名
binlog-ignore-db=mysql      避免同步mysql用户配置
auto_increment_offset = 2  
auto_increment_increment = 2 
双向同步必免建值冲突

  
                
                                                   

MYSQL单双向同步,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。