mysql 的主從複製

準備

主服務器IP:192.168.1.100

從服務器IP:192.168.1.101

在主服務器上創建數據庫,並添加初始數據,然後導入到從服務器

1.分別在主從服務器上安裝mysql服務,mysql服務器的版本最好一致,或者主服務器的版本高於從服務器


2.在主服務上創建用戶從服務器同步的用戶,並設置權限

      insert into mysql.user(Host,User,Password) values('localhost','master ',password('123456')); 

      flush privileges; 

      grant replication slave  on *.* to 'master'@'192.168.1.101' identified by '123456' with grant option; 


3.設置主從同步

      主服務器

vi /etc/my.cnf   #編輯配置文件,在[mysqld]部分添加下面內容

    server-id=1   #設置服務器id,爲1表示主服務器,注意:如果原來的配置文件中已經有這一行,就不用再添加了。

    log-bin=mysql-bin  #啓動MySQ二進制日誌系統,注意:如果原來的配置文件中已經有這一行,就不用再添加了。

    binlog-do-db=master-slave #需要同步的數據庫名,如果有多個數據庫,可重複此參數,每個數據庫一行

    binlog-ignore-db=mysql   #不同步mysql系統數據庫

     :wq!   #保存退出

    service mysqld  restart  #重啓MySQL

    

    從服務器

    vi /etc/my.cnf   #編輯配置文件,在[mysqld]部分添加下面內容

    server-id=2   #設置服務器id,爲1表示主服務器,注意:如果原來的配置文件中已經有這一行,就不用再添加了。

    log-bin=mysql-bin  #啓動MySQ二進制日誌系統,注意:如果原來的配置文件中已經有這一行,就不用再添加了。

    binlog-do-db=master-slave #需要同步的數據庫名,如果有多個數據庫,可重複此參數,每個數據庫一行

    binlog-ignore-db=mysql   #不同步mysql系統數據庫

    :wq!   #保存退出

    service mysqld  restart  #重啓MySQL

      show master status;  #查看主服務器,出現以下類似信息


4.在從服務器上設置同步並開啓同步,查看同步狀態

    mysql>

    slave stop;   #停止slave同步進程

    change master to master_host='192.168.1.100',master_user='master ',master_password='123456',master_log_file='mysql-bin.000011' ,master_log_pos=107;   

    #執行同步語句(紅色參數是在主服務器上執行show master status;得到的File、Position參數

    slave start;    #開啓slave同步進程


      SHOW SLAVE STATUS\G   #查看slave同步信息,出現以下內容表示同步正常

        Slave_IO_Running: Yes

        Slave_SQL_Running: Yes


5.測試:在主服務器中修改數據,查看從服務器中數據是否改變



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