• 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 root@192.168.1.102:/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 statusG  
    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 
    双向同步必免建值冲突

      
                    
                                                       
  • 相关阅读:
    30行代码实现微信自动回复机器人
    用Python来P图
    部署Scrapy分布式爬虫项目
    为什么自学Python看不进去?0基础入门Python有哪些捷径?
    学Python Web开发框架到什么程度可以找到开发的工作?
    Python不能帮你找到女朋友,却能让你成为有钱的单身狗
    SQL 的基本使用概念简介
    Python 面向对象编程的一些知识点总结
    一 数据的概括性度量
    三 k-近邻算法(k-Nearest Neighbors KNN)
  • 原文地址:https://www.cnblogs.com/phpliu/p/3666328.html
Copyright © 2020-2023  润新知