mysql主從同步

(一)、環境描述 mysql

  服務器A(主) 192.168.3.4(linux mint 14 and mysql5.5.29)
  服務器B(從) 192.168.3.5(windows xp and mysql5.5.19)
  主從需同步的數據庫內容保持一致。說明:從數據庫裏面要同步的庫必須和主數據庫裏一直,好比主數據庫裏面有一個app_database庫,從數據庫裏面也應該有app_database庫,裏面的表也須一致。這裏僅同步數據,不一樣步結構。 linux

(二)、主從配置過程 web

     對主服務器進行配置,即對A服務器進行配置 sql

  1. 建立同步用戶,在主服務器上爲從服務器創建一個鏈接賬戶,該賬戶必須授予REPLICAITON SLAVE權限。在主服務器登錄mysql上執行
    grant replication slave on *.* to 'replication'@'192.168.3.%' identified by '123456';
    flush privileges;
  2. 修改主服務器上面mysql的配置文件my.cnf
    server-id		= 1
    log_bin			= /var/log/mysql/mysql-bin.log
    expire_logs_days	= 10
    max_binlog_size         = 100M
    binlog_do_db		= web_site #要同步的庫,多個能夠複製一行
    binlog_ignore_db	= information_schema
    binlog_ignore_db	= performance_schema
    binlog_ignore_db	= mysql
    binlog_ignore_db	= test
  3. 重啓主服務器上面的mysql數據庫
    sudo /etc/init.d/mysql restart
  4. 查看主服務器的狀態
     mysql> show master status\G;
    能夠看到下列信息便可,注意下列File及Position將在從服務器配置時用到
    *************************** 1. row ***************************
                File: mysql-bin.000003
            Position: 5917
        Binlog_Do_DB: web_site
    Binlog_Ignore_DB: information_schema,performance_schema,mysql,test
    1 row in set (0.00 sec)

     對從服務器進行配置,即對B服務器進行配置 shell

  1. 修改從服務器的mysq配置文件my.ini,以下
    [mysqld]
    server-id = 2
    log-bin = mysql-bin
    replicate-do-db = web_site
  2. 重啓從服務器mysql
  3. 用change master語句指定同步位置
    mysql>change master to master_host='192.168.3.4', master_user='replication', master_password='000000', master_log_file='mysql-bin.000003', master_log_pos=107;
    
    注:master_log_file,master_log_pos由上面主服務器查出的狀態值中肯定。master_log_file對應File,master_log_pos對應Position。
  4. 啓動從服務器線程,在從服務器登錄mysql,執行以下:
    mysql>start slave;
  5. 查看從服務器狀態在從服務器登錄mysql,執行以下:
    mysql>show slave status\G;
    
    看到以下信息便可:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    接下來就是測試了 數據庫

    能夠在主服務器裏插入數據,看是否同步從數據庫裏面。 windows

相關文章
相關標籤/搜索