MySQL主從複製

MySQL主從複製

一、解壓壓縮包並複製成兩個文件mysql

進入MySQL3307目錄修改my.ini配置文件sql

basedir="D:\mysql\mysql3307";//指定mysql路徑

basedir="d:\mysql\mysql3309\data"

二、管理員的身份CMD進入 MySQL3307\bin目錄 執行安裝命令數據庫

./mysqld.exe -install MySQL3307 --defaults-file="D:\MySQL\MySQL3307\my.ini"

D:\MySQL\MySQL3307\my.ini 修改成實際配置文件目錄服務器

安裝成功後在服務窗口啓動線程

三、進入MySQL3308目錄 修改my.ini文件 將兩處端口改成3308翻譯

port 3308

修改server-id日誌

若是須要增長Slave原則,此id日後順延

server-id=102

log-bin=mysql-bin

修改程序和數據目錄code

basedir="D:\mysql\mysql3308";//指定mysql路徑

basedir="d:\mysql\mysql3308\data"

打開只讀註釋 read_only=ONserver

三、管理員的身份CMD進入 MySQL3308\bin目錄 執行安裝命令ip

安裝成功後在服務窗口啓動

mysqld -install Mysql3308 --default-file="D:mysql/mysql3308/my.ini"

Mysql 主從複製 一、鏈接到3307數據庫,創建複製帳號

Grant replication slave on . TO 'repl'@'%' INENTIFIED BY '123456'

本機須要創建3個帳號

GRANT REPLICATION SLAVE ON . TO 'repl'@'::1' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON . TO 'repl'@'127.0.0.1' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON . TO 'repl'@'localhost' IDENTIFIED BY '123456';

查看主機狀態

SHOW MASTER status;

二、設置從服務器

change master to MASTER_HOST='127.0.0.1',MASTER_PORT=3307,MASTER_USER='repl',MASTER_PASSWORD='123456',master_log_file='mysql-bin.000004',master_log_pos=343;

參數解釋:

MASTER_HOST : 設置要鏈接的主服務器的ip地址
MASTER_USER : 設置要鏈接的主服務器的用戶名
MASTER_PASSWORD : 設置要鏈接的主服務器的密碼
MASTER_LOG_FILE : 設置要鏈接的主服務器的bin日誌的日誌名稱,
MASTER_LOG_POS : 設置要鏈接的主服務器的bin日誌的記錄位置,

三、啓動從服務器

命令: start slave;

四、查看是否配置成功:

命令: show slave status;

看Slave_IO_Running Slave_SQL_Running 兩個都爲yes

從新配置須要先中止 從服務 命令:stop slave;

–read_only 該選項讓從服務器只容許來自從服務器線程或具備SUPER權限的用戶的更新。能夠確保從服務器不接受來自客戶的更新。

–replicate_do_db=db_name 告訴從服務器只作默認數據庫(由USE所選擇)爲db_name的語句的複製。要指定多個數據庫,應屢次使用該選項,每一個數據庫使用一次。請注意不復制跨數據庫的語句

–replicate_do_table=db_name.tbl_name 告訴從服務器線程只作對指定表的複製。要指定多個表,應屢次使用該選項,每一個表使用一次。同–replicate-do-db對比,容許跨數據庫更新。

–replicate_ignore_db=db_name 告訴從服務器不要複製默認數據庫(由USE所選擇)爲db_name的語句。要想忽略多個數據庫,應屢次使用該選項,每一個數據庫使用一次。

–replicate-ignore-table=db_name.tbl_name 告訴從服務器線程不要複製更新指定表的任何語句(即便該語句可能更新其它的表)。要想忽略多個表,應屢次使用該選項,每一個表使用一次。

–replicate_wild_do_table=db_name.tbl_name 告訴從服務器線程限制複製更新的表匹配指定的數據庫和表名模式的語句。模式能夠包含‘%'和‘_'通配符,與LIKE模式匹配操做符具備相同的含義。要指定多個表,應屢次使用該選項,每一個表使用一次。該選項能夠跨數據庫進行更新。

–replicate_wild_ignore_table=db_name.tbl_name 告訴從服務器線程不要複製表匹配給出的通配符模式的語句。要想忽略多個表,應屢次使用該選項,每一個表使用一次。該選項能夠跨數據庫進行更新。

–replicate_rewrite_db=from_name->to_name 告訴從服務器若是默認數據庫(由USE所選擇)爲主服務器上的from_name,則翻譯爲to_name。隻影響含有表的語句

–report_host=slave_name 從服務器註冊過程當中報告給主服務器的主機名或IP地址。該值出如今主服務器上SHOW SLAVE HOSTS的輸出中。若是不想讓從服務器本身在主服務器上註冊,則不設置該值。

–report_port=slave_port 鏈接從服務器的TCP/IP端口號,從服務器註冊過程當中報告給主服務器。

–skip_slave_start 告訴從服務器當服務器啓動時不啓動從服務器線程。使用START SLAVE語句在之後啓動線程。

–slave_skip_errors=[err_code1,err_code2,… | all] 一般狀況,當出現錯誤時複製中止,這樣給你一個機會手動解決數據中的不一致性問題。該選項告訴從服務器SQL線程當語句返回任何選項值中所列的錯誤時繼續複製。 例如:

–slave-skip-errors=1062,1053 –slave-skip-errors=all

相關文章
相關標籤/搜索