文章目錄
-
- 配置Master
-
- 配置Slave
-
- 串連Master和Slave
《高可用MySQL》P10
MySQL主從複製
MySQL的複製在以下環境中經常使用:
1 通過熱備份來避免災難
2 產生報表
使用從伺服器來產生報表,可大大降低主伺服器的負載。
3 調試和審計
例如,查看某些查詢是否有效能問題,以及伺服器是否由於某個槽糕的查詢而不同步。
MySQL複製的基本步驟
1 配置一個伺服器作為 Master。
2 配置一個伺服器作為 Slave。
3 將 Slave 串連到 Master。
除非你從一開始就計劃複製且 my.conf 檔案中配置正確,否則步驟1和步驟2要求必須重啟每個伺服器。
配置Master
將配置選項添加到my.conf以配置Master
[mysqld]user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmplog-bin = master-binlog-bin-index = master-bin.indexserver-id = 1
在Master上建立一個複製使用者
master> CREATE USER repl_user;Query OK, 0 rows affected (0.00 sec)master> GRANT REPLICATION SLAVE on *.* to repl_user IDENTIFIED by 'xyzzy';Query OK, 0 rows affected (0.00 sec)
配置Slave
添加選項到my.conf檔案來配置Slave
[mysqld]user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmpserver-id = 2relay-log-index = slave-relay-bin.indexrelay-log = slave-relay-bin
串連Master和Slave
slave> CHANGE MASTER TO -> MASTER_HOST ="master-1", -> MASTER_PORT = 3306, -> MCSTER_USER = 'repl_user', -> MAST_PASSWORD = 'xyzzy'; Query OK, 0 rows affected(0.00 sec) slave> START SLAVE;