zoukankan      html  css  js  c++  java
  • mysql主从设定笔记

    CREATE TABLE Persons
    (
    Id int unsigned not null AUTO_INCREMENT,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    created datetime,
    primary key (id)
    )type=MyISAM AUTO_INCREMENT = 1;
    INSERT INTO Persons(LastName,FirstName,created) VALUES (’Huaming’,'Yue’,NOW());

    //主服务器
    [mysqld]
    log-bin=mysql-bin
    server-id=1
    binlog-ignore-db=mysql, test
    #binlog-do-db=vbb

    //建立账号供从服务器使用
    GRANT ALL ON *.* TO rep_slave@’%’ IDENTIFIED BY ‘joeyue’;
    GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO rep_slave@’%’ IDENTIFIED BY ‘joeyue’;
    FLUSH PRIVILEGES;

    从服务器
    log-bin=mysql-bin
    server-id=2
    master-host=192.168.1.104
    master-user=rep_slave
    master-password=joeyue
    master-port=3306
    master-connect-retry=60
    log-slave-updates
    #replicate-do-db=foxshare  //指定同步的数据库
    INSERT INTO Persons(Id,LastName,FirstName,created) VALUES (2,’Huaming’,'Yue’,NOW());

    //注意
    Share the same database and table structure

    <?php
     $link=mysql_connect(’192.168.1.104:3306′,’user’,'password’);
     if(!$link) {
      echo ‘failed’;
     } else {
      mysql_select_db(’Persons’, $link);
      for($i=0; $i<50;$i++) {
       mysql_query(”INSERT INTO Persons(Id,LastName,FirstName,created) VALUES (2,’Huaming’,'Yue’,NOW());”);
      }
     }
     mysql_close($link);
    ?>

    下面是具体配置过程:
    Master:
    1.为从机(Slave)创建一个复制权限账户
    mysql > GRANT REPLICATION SLAVE ON *.* TO ’slave’@'172.20.92.110′ IDENTIFIED BY ’slave’;
    Ps:replication slave 为单一的复制权限 用户名slave 密码slave
    2.锁定主机数据库 导出当前锁定状态下所有数据到从机中 做好复制前的基本数据同步工作
    mysql > FLUSH TABLES WITH READ LOCK;
    mysql > exit
    [root@%%] # mysqldump -uroot -p test > test.sql
    3.查询当前主机数据库文件和位置
    mysql > show master status;
    ——————+———-+————–+——————+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +——————+———-+————–+——————+
    | mysql-bin.000041 |     1509 |              |                  |
    +——————+———-+————–+——————+
    Ps:记录下这两个值(文件名、当前位置),一会儿配置从机连接主机时要用到。

    Slave:
    1.创建数据库 test ,将主机Master生成的sql文件导入到test数据库中。
    2.关掉Slave,将主机日志文件和位置信息读入从机
    mysql > stop slave;
    mysql > change master to
           ->master_log_file=’mysql-bin.000041′,
           ->master_log_pos=1509;
    mysql > start slave;
    mysql > show slave status \G
    mysql> show slave status\G;
    *************************** 1. row ***************************
                 Slave_IO_State: Waiting for master to send event
                    Master_Host: 172.20.92.108              ##主机ip
                    Master_User: slave                      ##复制账号
                    Master_Port: 3306
                  Connect_Retry: 60
                Master_Log_File: mysql-bin.000041           ##主机日志文件
            Read_Master_Log_Pos: 1509                       ##主机日志文件位置
                 Relay_Log_File: mysqld-relay-bin.000007    ##从机中继日志文件
                  Relay_Log_Pos: 235                        ##中继日志文件位置
          Relay_Master_Log_File: mysql-bin.000041
               Slave_IO_Running: Yes                        ##从机IO线程 连接主机
              Slave_SQL_Running: Yes                        ##从机sql线程 处理更新的日志
                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: 1509
                Relay_Log_Space: 235
                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)

    接下来,解锁Master,允许主机数据库更新。

    Master:

    mysql > unlock tables;

  • 相关阅读:
    汉字机内码的特点
    while(~scanf(..))的用法
    【C语言】八进制转十进制
    【C语言】按字典顺序排序
    【C语言】矩阵相乘
    【C语言】魔方阵
    【C语言】统计候选人的得票数
    【C语言】对输入的字符串中C关键词的查找统计
    20201231《信息安全导论》第十二周学习总结
    20201231《信息安全导论》第十一周学习总结
  • 原文地址:https://www.cnblogs.com/myphoebe/p/1995451.html
Copyright © 2011-2022 走看看