mysql主從複製

Master主服務器IP:192.168.1.202 

Slave從服務器IP:192.168.1.203

Master配置

設置server-id、啓用bin-log二進制日誌

vim /etc/my.cnf

[mysqld]

log_bin = master_bin

server-id = 1

innodb_file_per_table = ON

skip_name_resolve = ON

添加slave賬戶授權訪問

mysql> grant replication slave,replication client on *.* to 'repluser'@'192.168.1.%' identified by '123123';

Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


Slave配置

設置server-id、啓用relay-log中繼日誌

vim /etc/my.cnf

[mysqld]

relay-log = relay_log  #中繼日誌

server-id = 3

innodb_file_per_table = ON

skip_name_resolve = ON


重啓master、slave服務

service mysqld restart


複製操作

在Master查看bin-log日誌文件及位置

mysql> show master logs;

+-------------------+-----------+

| Log_name          | File_size |

+-------------------+-----------+

| master_bin.000001 |       120 |

+-------------------+-----------+

1 row in set (0.00 sec)


mysql> show master status;

+-------------------+----------+--------------+------------------+-------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+-------------------+----------+--------------+------------------+-------------------+

| master_bin.000001 |      525 |              |                  |                   |

+-------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)


在slave中向master服務器建立複製鏈接,MASTER_LOG_POS=0;表示從第一行位置開始複製。

在slave中建立授權訪問

mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.202',

    -> MASTER_USER='repluser',

    -> MASTER_PASSWORD='123123',

    -> MASTER_LOG_FILE='master_bin.000001',

    -> MASTER_LOG_POS=0;

Query OK, 0 rows affected, 2 warnings (0.03 sec)


Mysql>start slave;    //啓動從服務器複製


mysql> show slave status\G;  //從服務器查看複製狀態

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.1.202

                  Master_User: repluser

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: master_bin.000001

          Read_Master_Log_Pos: 525

               Relay_Log_File: relay_log.000004

                Relay_Log_Pos: 689

        Relay_Master_Log_File: master_bin.000001

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

Slave_IO_Running 、Slave_SQL_Running爲Yes,表明slave複製狀態正常。


Master,slave同步測試

在master中創建sync_db庫及test1表,並添加一條記錄

mysql> create database sync_db;

Query OK, 1 row affected (0.00 sec)


mysql> use sync_db;

Database changed


mysql> create table test1( id int(10));

Query OK, 0 rows affected (0.01 sec)


mysql> insert into test1 values(10);

Query OK, 1 row affected (0.00 sec)


mysql> select * from test1;

+------+

| id   |

+------+

|   10 |

+------+

1 row in set (0.00 sec)


mysql> show master status;

+-------------------+----------+--------------+------------------+-------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+-------------------+----------+--------------+------------------+-------------------+

| master_bin.000001 |     1048 |              |                  |                   |

+-------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)


Slave中查看數據同步是否一致。

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sync_db            |

+--------------------+

4 rows in set (0.00 sec)


mysql> select * from test1;

+------+

| id   |

+------+

|   10 |

+------+

1 row in set (0.00 sec)


mysql> show slave status\G;

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.1.202

                  Master_User: repluser

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: master_bin.000001

          Read_Master_Log_Pos: 1048

               Relay_Log_File: relay_log.000004

                Relay_Log_Pos: 1212

        Relay_Master_Log_File: master_bin.000001

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章