mysql for linux 配置主從複製

selectshen發表於2014-10-25
假設:伺服器A為主mysql,伺服器B為從mysql.
1.在伺服器A,B上安裝mysql.
2.修改/usr/my.cnf 引數檔案
     伺服器A:
       修改後的引數檔案內容(紅色字型為新加入內容):
     
       [mysqld]
       datadir =/u02/mysqldata

       log_bin=/u03/mysqldata/mysql01.log
       log_error=/u03/mysqldata/mysql01.err

       server-id=1
       innodb_flush_log_at_trx_commit=1
       sync_binlog=1
       binlog_format=row
       innodb_support_xa=1

       innodb_buffer_pool_size=16G
       innodb_additional_mem_pool_size=20M
       innodb_log_file_size=256M
       innodb_log_files_in_group=3

       sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
     伺服器B:
       修改後的引數檔案內容(紅色字型為新加入內容):

       [mysqld]
       datadir =/u02/mysqldata

       log_bin=/u03/mysqldata/mysql02.log
       log_error=/u03/mysqldata/mysql02.err
       binlog_format=row

       server-id=2
       read_only=on
       relay-log-index=slave-relay-bin.index
       relay-log=slave-relay-bin

       innodb_buffer_pool_size=8G
       innodb_additional_mem_pool_size=20M
       innodb_log_file_size=256M
       innodb_log_files_in_group=3
       sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3.在伺服器A新建使用者,用於伺服器B透過此帳號拉取日誌.
         GRANT REPLICATION SLAVE ON *.* TO repl_user@'伺服器B IP' IDENTIFIED BY 'repl';
4.在伺服器A做一次全備,用於還原到伺服器B做為複製的開始.
       innobackupex --defaults-file=/usr/my.cnf --user=root --password=system  /u03/mysqlbackup/full/
5.複製伺服器A中的全備到伺服器B,並還原.
       Scp -r /u03/mysqlbackup/full/備份檔案目錄名  伺服器B IP:/u03/mysqlbackup/full/
       刪除伺服器B上原有的資料檔案:
       rm -rf /u02/mysqldata/*
       還原資料庫:
       innobackupex --defaults-file=/usr/my.cnf --user=root --password=system  --copy-back         /u03/mysqlbackup/full/備份檔案目錄名
       更改還原檔案的許可權:
       chown -R mysql.mysql /u02/mysqldata
6.在伺服器B配置主從關係
       mysql -uroot -p
       stop slave;
       change master to master_host='伺服器A IP',
       master_user='repl_user',
       master_password='repl',
       master_log_file='zdtdb33.000002',--透過備份中的xtrabackup_binlog_info檢視
       master_log_pos=431; --透過備份中的xtrabackup_binlog_info檢視
       start slave;
7.配置完成.
       在伺服器A中登陸mysql,輸入SHOW master STATUS;
       在伺服器B中登陸mysql,輸入SHOW slave STATUS;
       對比log_pos值是否有在增加,並一致.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28539951/viewspace-1309653/,如需轉載,請註明出處,否則將追究法律責任。

相關文章