mysqlreplication-創(chuàng)新互聯(lián)

mysql replicaton

創(chuàng)新互聯(lián)公司主營(yíng)重慶網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開(kāi)發(fā),重慶h5重慶小程序開(kāi)發(fā)搭建,重慶網(wǎng)站營(yíng)銷推廣歡迎重慶等地區(qū)企業(yè)咨詢

環(huán)境:主:192.168.48.150

      從:192.168.48.152

簡(jiǎn)單的說(shuō),就是master把數(shù)據(jù)庫(kù)的改變寫(xiě)入二進(jìn)制日志,slave同步這些二進(jìn)制日志,并根據(jù)這些二進(jìn)制進(jìn)行數(shù)據(jù)操作。

mysql Replicaton的用途

1.fail over

2.backup server

3.high performance

master和slave上的數(shù)據(jù)是一樣的,如果我們從master上進(jìn)行寫(xiě)操作,slave上進(jìn)行讀操作,這就叫讀寫(xiě)分離。

配置Replication

step1:

Slave是通過(guò)MYSQL連接登陸到Master上來(lái)讀取二進(jìn)制日志的。因此需要在Master上給Slave配置權(quán)限。

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slaveip' IDENTIFIED BY 'replPass';

mysql>FLUSH PRIVILEGES;

eg:在Master上受權(quán):

mysql> grant replication slave on *.* to repl@192.168.48.152 identified by 'repl';

mysql> flush privileges;

在slave上測(cè)試連接:

#mysql -h292.168.48.150 -urepl -prepl

可以連上表示沒(méi)有問(wèn)題。

step2:

在Master上要打開(kāi)二進(jìn)制日志,并標(biāo)識(shí)server-id。

server-id用于唯一標(biāo)識(shí)主機(jī),數(shù)字取值范圍1-2**32-1.

#vi /etc/my.cnf

[mysqld]

log-bin

binlog-format=row

sync-binlog=1

server-id=1

#service mysqld restart

step3:

制作一個(gè)Master的完整備份,并且執(zhí)行prepare。

#這里的原理是,將主要原有的數(shù)據(jù)備份打包到從上,從服務(wù)器直接還原,在這個(gè)基礎(chǔ)之上再進(jìn)行二進(jìn)制傳輸同步,這樣會(huì)節(jié)省資源。

我們使用innobackupex這個(gè)工具,這個(gè)工具可以記錄備份數(shù)據(jù)的二進(jìn)制編號(hào),這樣從服務(wù)器就會(huì)從備份的基礎(chǔ)上再進(jìn)行同步,也就是增量備份。

#innobackupex --user=dba --password=xxx/var/lib/backup/

#innobackupex --use-memory=500m --apply-log /var/lib/backup/2014-03_16-40-05/

eg: 在master上的配置

#innobackupex安裝:http://my.oschina.net/sansom/blog/160434

# mkdir /var/lib/backup/

# cd /var/lib/backup/

#innobackupex --user=root --password=123456 /var/lib/backup/

#這樣目錄里會(huì)生成原始文件

#還要執(zhí)行一步操作,就是生成innodb日志文件

#innobackupex --use-memory=500m --apply-log /var/lib/backup/原始文件名/

step4:

將備份拷貝至slave,并放入數(shù)據(jù)文件目錄。

in master:

#yum install openssh-clients -y (master and slave both need to install)

#scp -r /var/lib/backup/2016-03-11_10-26-10/ 192.168.48.152:/var/lib/backup/

in slave:

#service mysqld stop

#mv /var/lib/backup/2016-03-11_07-40-35/* /var/lib/mysql/(生產(chǎn)環(huán)境中不要直接覆蓋)

#ls(查看是否所有文件都被mv過(guò)去,如果沒(méi)有,就再次復(fù)制過(guò)去)

#cd /var/lib/mysql/

#chown -R mysql. * #拷貝過(guò)來(lái)的文件要改權(quán)限

#service mysqld start(這一步我的mysql啟不來(lái)了,原因是沒(méi)有關(guān)閉selinux)

#查看數(shù)據(jù)是否同步正確

step5:

在slave上配置server-id,標(biāo)識(shí)服務(wù)器。

# vi /etc/my.cnf

[mysqld]

server-id=2

#service mysqld restart

step6:

查看并記錄二進(jìn)制日志中的position ID.(這個(gè)是innobackupex工具為我們生成的)

in slave:

#cd /var/lib/mysql

cat xtrabackup_binlog_info

顯示:mysqld-bin.000001       341

position id 為341

step7:

配置slave replication.

in slave:

mysql>change master to master_host='192.168.48.150',

-->master_user='repl',

-->master_password='repl',

-->master_log_file='mysqld-bin.000001',

-->master_log_pos=341;

step8:

啟動(dòng)replication,并檢查結(jié)果。

in slave:

mysql>start slave;

mysql>show slave status\G;

結(jié)果如下:

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event(當(dāng)前無(wú)同步事件)

                  Master_Host: 192.168.48.150(主 ip)

                  Master_User: repl(主用戶)

                  Master_Port: 3306(端口)

                Connect_Retry: 60(重試時(shí)間/s)

              Master_Log_File: mysqld-bin.000001(主同步二進(jìn)制文件)

          Read_Master_Log_Pos: 341(主位置號(hào))

               Relay_Log_File: mysqld-relay-bin.000002(從二進(jìn)制文件)

                Relay_Log_Pos: 252(從位置號(hào))#主從的號(hào)雖然不一樣,但是是有對(duì)應(yīng)關(guān)系的,邏輯上是一樣的。

        Relay_Master_Log_File: mysqld-bin.000001

             Slave_IO_Running: Yes(必須為yes時(shí)才正常)

            Slave_SQL_Running: Yes(必須為yes時(shí)才正常)

            #主會(huì)啟運(yùn)一個(gè)進(jìn)程,從會(huì)啟運(yùn)兩個(gè)進(jìn)程,我們可以執(zhí)行如下語(yǔ)句查看:

            master_mysql>show processlist\G;

*************************** 1. row ***************************

     Id: 11

   User: repl

   Host: 192.168.48.152:54413

     db: NULL

Command: Binlog Dump

   Time: 707

  State: Has sent all binlog to slave; waiting for binlog to be updated

   Info: NULL

*************************** 2. row ***************************

            slave_mysql>show processlist\G;

            *************************** 2. row ***************************

     Id: 3

   User: system user

   Host:

     db: NULL

Command: Connect

   Time: 680

  State: Waiting for master to send event

   Info: NULL

*************************** 3. row ***************************

     Id: 4

   User: system user

   Host:

     db: NULL

Command: Connect

   Time: 680

  State: Has read all relay log; waiting for the slave I/O thread to update it

   Info: NULL

3 rows in set (0.00 sec)

#從的兩個(gè)進(jìn)程,一個(gè)用于接收二進(jìn)制,另一個(gè)用于解析二進(jìn)制,執(zhí)行語(yǔ)句。

              Replicate_Do_DB:

          Replicate_Ignore_DB:

           Replicate_Do_Table:

       Replicate_Ignore_Table:

      Replicate_Wild_Do_Table:

  Replicate_Wild_Ignore_Table:

                   Last_Errno: 0

                   Last_Error:

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 341

              Relay_Log_Space: 408

              Until_Condition: None

               Until_Log_File:

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File:

           Master_SSL_CA_Path:

              Master_SSL_Cert:

            Master_SSL_Cipher:

               Master_SSL_Key:

        Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error:

               Last_SQL_Errno: 0

               Last_SQL_Error:

1 row in set (0.00 sec)

這樣就同步了,在主上操作的,從都會(huì)同步嘍。

另外有需要云服務(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ì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文標(biāo)題:mysqlreplication-創(chuàng)新互聯(lián)
分享路徑:http://bm7419.com/article42/hdghc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、動(dòng)態(tài)網(wǎng)站網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站改版定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管