一,配置主數(shù)據(jù)庫(kù)
成都創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁(yè)美工、網(wǎng)站程序員、網(wǎng)頁(yè)設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷(xiāo)人員及形象策劃。承接:網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫(kù)開(kāi)發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門(mén)戶平臺(tái)等全方位的服務(wù)。1, 修改my.cnf或者my.ini
? ? ? ? ? ? ? ?[mysqld]
? ? ? ? ? ? ? ?log-bin=mysql-bin
? ? ? ? ? ? ? ?server-id=1
修改完成,重啟服務(wù)器
2, 注意:
1) 如果未設(shè)置server_id或者設(shè)置為0,那么主數(shù)據(jù)庫(kù)將會(huì)拒絕所有從數(shù)據(jù)庫(kù)的連接
2)如果使用的是innodb存儲(chǔ)引擎,為了獲得更好的持久性與一致性,需要在my.cnf中配置如下選項(xiàng):
? ? ? ? ?innodb_flush_log_at_trx_commit=1
? ? ? ? ?sync_binlog=1
3) 確保?主數(shù)據(jù)庫(kù)skip_networking
系統(tǒng)變量為不可用,否則,從服務(wù)器將無(wú)法連接主服務(wù)器,導(dǎo)致復(fù)制失敗
3, 創(chuàng)建用于復(fù)制的用戶
? ? ? ? ? ? ? ? 新建一個(gè)用戶repl,賦予復(fù)制權(quán)限,專(zhuān)門(mén)用于主從復(fù)制。
? ? ? ? ? ? ? ??mysql> CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password';
? ? ? ? ? ? ? ? mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';
4,獲取復(fù)制主二進(jìn)制日志坐標(biāo)
? ? ? ? ? ? 1),在主庫(kù)上新建會(huì)話,鎖定表的寫(xiě)操作
? ? ? ? ? ? ? ? ? ? ?mysql> FLUSH TABLES WITH READ LOCK;
? ? ? ? ? ? ? ? ? ? ?警告:發(fā)出鎖操作的客戶機(jī)要保持連接,否則會(huì)釋放鎖。
? ? ? ? ? ?2),在主數(shù)據(jù)庫(kù)上新建會(huì)話,查詢二進(jìn)制日志文件的名字和位置:
? ? ? ? ? ? ? ? ? ??mysql > SHOW MASTER STATUS;
? ? ? ? ? ? ? ? ? ? 記下file一欄的名字和position一欄的位置,稍后配置從庫(kù)會(huì)用到,如果主數(shù)據(jù)庫(kù)沒(méi)有在啟用二進(jìn)制日志文件的情況下運(yùn)行,則查詢結(jié)果可能為空,那么在稍后的從庫(kù)配置中,名字為‘’空字符串,位置為4
5, 如果主庫(kù)已經(jīng)存在數(shù)據(jù)
? ? 那么,不要斷開(kāi)鎖表會(huì)話,然后進(jìn)行下一步
? ? 1),新建一個(gè)主庫(kù)的快照
? ? ? ? ? ? ? ? ? ? ? ?mysqldump--all-databases --master-data > dbdump.db
? ? ? ? ? ? ? ? ? ? ? ?如果想忽略某幾個(gè)庫(kù):
? ? ? ? ? ? ? ? ? ? ? ?mysqldump --all-databases –ignore-database=db1 –ignore-database=db2 –ignore-database=db3 --master-data > dbdump.db
? ? ? ? ? ? ? ? ? ? ? ?如果只想快照某個(gè)數(shù)據(jù)庫(kù)db1:
? ? ? ? ? ? ? ? ? ? ? ?mysqldump –databases database1 --master-data > dbdump.db
? ? ? ? ? ? ? ? ? ? ? ?或者快照某幾個(gè)數(shù)據(jù)庫(kù)db1,db2,db3:
? ? ? ? ? ? ? ? ? ? ? ??mysqldump –databases db1 db2 db3 --master-data > dbdump.db
? ? ? ? ? ? ? 2),導(dǎo)入快照數(shù)據(jù)
? ? ? ? ? ? ? ? ? ? ? ?mysql < dbdump.db???
? ? ? ? ? ? ? ? ? ? ? ?可以復(fù)制快照文件到從服務(wù)器,或者遠(yuǎn)程訪問(wèn)該快照文件
二,設(shè)置復(fù)制從數(shù)據(jù)庫(kù),
1, 在主庫(kù)上釋放鎖:
? ? ? ? ? ? ???mysql> UNLOCK TABLES;
2, 編輯從庫(kù)my.cnf,設(shè)置server-id,該id必須是唯一的,不可與主庫(kù)或者任何從庫(kù)沖突。
? ? ? ? ? ? ? ?[mysqld]
? ? ? ? ? ? ? ?server-id=2
? ? ? ? ? ? ? ?設(shè)置完成,重啟服務(wù)器
3, 注意:
? ? ? ? ? ? ? 1)如果將server-id 設(shè)置為0,則從庫(kù)為拒絕連接主庫(kù)
? ? ? ? ? ? ? 2)如果從庫(kù)只是作為從庫(kù)使用,就不必開(kāi)啟二進(jìn)制日志,如果從庫(kù)繼續(xù)作為二級(jí)主庫(kù),則需要開(kāi)啟二進(jìn)制日志
? ? ? ? ? ? ? 3)復(fù)制不能使用Unix套接字文件。您必須能夠使用TCP/IP連接到主MySQL服務(wù)器
4, 如果從庫(kù)沒(méi)有快照要導(dǎo)入:
1) 啟動(dòng)從庫(kù)并連接
2) 運(yùn)行從庫(kù)設(shè)置語(yǔ)句
? ? ? ? ? ? ? ??CHANGE MASTER TO
? ? ? ? ? ? ? ? MASTER_HOST='master_host_name',
? ? ? ? ? ? ? ? MASTER_USER='replication_user_name',
? ? ? ? ? ? ? ? MASTER_PASSWORD='replication_password',
? ? ? ? ? ? ? ? MASTER_LOG_FILE='recorded_log_file_name',
? ? ? ? ? ? ? ? MASTER_LOG_POS=recorded_log_position;
3) 啟動(dòng)從庫(kù)
? ?Start slave;
5, 如果從庫(kù)需要導(dǎo)入快照數(shù)據(jù):
1) 使用如下命令啟動(dòng)從庫(kù)
? ? ? ? ? ? ? ??mysqld ?--skip-slave-start
?&
2) 導(dǎo)入快照:
? ? ? ? ? ? ? ? ? ??mysql < dbdump.db??????
3) 運(yùn)行從庫(kù)設(shè)置語(yǔ)句:
? ? ? ? ? ? ? ? ? ?CHANGE MASTER TO
? ? ? ? ? ? ? ? ? ? MASTER_HOST='master_host_name',
? ? ? ? ? ? ? ? ? ? MASTER_USER='replication_user_name',
? ? ? ? ? ? ? ? ? ? MASTER_PASSWORD='replication_password',
? ? ? ? ? ? ? ? ? ? MASTER_LOG_FILE='recorded_log_file_name',
? ? ? ? ? ? ? ? ? ? MASTER_LOG_POS=recorded_log_position;
4) 啟動(dòng)從庫(kù)
? ? ? ? ? ? ? ? ? ? start slave
? ? 從屬服務(wù)器在其主信息存儲(chǔ)庫(kù)中存儲(chǔ)有關(guān)已配置的主服務(wù)器的信息。主信息存儲(chǔ)庫(kù)可以是文件或表的形式,這取決于從庫(kù)的系統(tǒng)變量?master_info_repository
?設(shè)置
? ? 如果master_info_repository=FILE
,那么,以文件master.info
?和?relay-log.info
的形式存在于data目錄
? ? 如果master_info_repository=TABLE
?,那么,信息存在?master_slave_info
表中。
? ? 主信息存儲(chǔ)庫(kù)的內(nèi)容會(huì)覆蓋命令行或my.cnf中指定的一些服務(wù)器選項(xiàng)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。