亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

配置MySQL主從復(fù)制(Replication)服務(wù)

添加時(shí)間:2014-2-13 17:40:28  添加: 思海網(wǎng)絡(luò) 
我們一般使用 MySQL 的時(shí)候,如果數(shù)據(jù)量不大,只使用一臺(tái) MySQL 服務(wù)器,備份的時(shí)候使用 mysqldump 工具就可以了,但是隨著業(yè)務(wù)不斷發(fā)展,問(wèn)題出現(xiàn)了:數(shù)據(jù)量直線上升,單獨(dú)一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器開始出現(xiàn)性能的瓶頸,數(shù)據(jù)訪問(wèn)越來(lái)越慢。備份也變得困難了,因?yàn)? mysqldump 是導(dǎo)出一份文本文件,而數(shù)據(jù)量特別大的時(shí)候,這樣的備份往往需要很長(zhǎng)時(shí)間。

  如果你遇到了類似上面的問(wèn)題,你就可 以使用建立 MySQL 主從服務(wù)器的復(fù)制方式來(lái)解決,MySQL 的復(fù)制有以下幾個(gè)優(yōu)勢(shì):主服務(wù)器/從服務(wù)器設(shè)置增加了健壯性,主服務(wù)器出現(xiàn)問(wèn)題時(shí),你可以切換到從服務(wù)器繼續(xù)提供服務(wù)。通過(guò)在從服務(wù)器上執(zhí)行查詢操作來(lái)降 低客戶查詢的負(fù)荷,可以得到更好的客戶響應(yīng)時(shí)間,但是不要同時(shí)在主從服務(wù)器上進(jìn)行更新,這樣可能引起沖突。使用復(fù)制的另一個(gè)好處是可以使用一個(gè)從服務(wù)器執(zhí) 行備份,而不會(huì)干擾主服務(wù)器。在備份過(guò)程中主服務(wù)器可以繼續(xù)處理更新。

  MySQL 復(fù)制的原理:

  MySQL使用3個(gè) 線程來(lái)執(zhí)行復(fù)制功能,其中1個(gè)在主服務(wù)器上,另兩個(gè)在從服務(wù)器上。當(dāng)發(fā)出START SLAVE時(shí),從服務(wù)器創(chuàng)建一個(gè)I/O線程,以連接主服務(wù)器并讓主服務(wù)器發(fā)送二進(jìn)制日志。主服務(wù)器創(chuàng)建一個(gè)線程將二進(jìn)制日志中的內(nèi)容發(fā)送到從服務(wù)器。從服 務(wù)器I/O線程讀取主服務(wù)器Binlog Dump線程發(fā)送的內(nèi)容并將該數(shù)據(jù)拷貝到從服務(wù)器數(shù)據(jù)目錄中的本地文件中,即中繼日志。第3個(gè)線程是SQL線程,從服務(wù)器使用此線程讀取中繼日志并執(zhí)行日 志中包含的更新。SHOW PROCESSLIST語(yǔ)句可以查詢?cè)谥鞣⻊?wù)器上和從服務(wù)器上發(fā)生的關(guān)于復(fù)制的信息。

  默認(rèn)中繼日志使用 host_name-relay-bin.nnnnnn形式的文件名,其中host_name是從服務(wù)器主機(jī)名,nnnnnn是序列號(hào)。用連續(xù)序列號(hào)來(lái)創(chuàng) 建連續(xù)中繼日志文件,從000001開始。從服務(wù)器跟蹤中繼日志索引文件來(lái)識(shí)別目前正使用的中繼日志。默認(rèn)中繼日志索引文件名為 host_name-relay-bin.index。在默認(rèn)情況,這些文件在從服務(wù)器的數(shù)據(jù)目錄中被創(chuàng)建。中繼日志與二進(jìn)制日志的格式相同,并且可以用 mysqlbinlog讀取。當(dāng)SQL線程執(zhí)行完中繼日志中的所有事件后,中繼日志將會(huì)被自動(dòng)刪除。

  設(shè)置 MySQL 主從復(fù)制:

  注意:MySQL 主從服務(wù)器最好使用相同的軟件版本,以避免不不可預(yù)期的故障。

  軟件環(huán)境:系統(tǒng) rhel4u8,MySQL-5.1.44,

  主服務(wù)器ip:192.168.0.1  hostname:node1

  從服務(wù)器ip:192.168.0.2  hostname:node2

  設(shè)置主服務(wù)器

  1、編輯 /etc/hosts   (此步非必須)

  增加以下內(nèi)容:

  192.168.0.2    node2 

  2、在主服務(wù)器上建立一個(gè)為從服務(wù)器進(jìn)行復(fù)制使用的用戶。該賬戶必須授予 REPLICATION SLAVE 權(quán)限,由于僅僅是進(jìn)行復(fù)制使用所以不需要再授予任何其它權(quán)限。

mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'192.168.0.2' IDENTIFIED BY 'slavepasswd'; 
mysql> FLUSH PRIVILEGES; 

  3、編輯主服務(wù)器的配置文件:/etc/my.cnf的[ mysqld ] 部分:

  server-id = 本機(jī)數(shù)據(jù)庫(kù) ID 標(biāo)示,該部分還應(yīng)有一個(gè)server-id=Master_id選項(xiàng),其中master_id必須為1到232之間的一個(gè)正整數(shù)值

  log-bin = 二進(jìn)制日志的位置和名稱

  binlog-do-db = 需要備份的數(shù)據(jù)庫(kù)名,如果備份多個(gè)數(shù)據(jù)庫(kù),重復(fù)設(shè)置這個(gè)選項(xiàng)即可

  binlog-ignore-db = 不需要備份的數(shù)據(jù)庫(kù)苦命,如果備份多個(gè)數(shù)據(jù)庫(kù),重復(fù)設(shè)置這個(gè)選項(xiàng)即可

  我的主服務(wù)器設(shè)置為:

server-id = 1 
log-bin=/usr/local/mysql/data/mysql-bin.000001 
binlog-do-db = wapnews 
binlog-ignore-db = mysql 
binlog-ignore-db = test 
binlog-ignore-db = information_schema

  4、主服務(wù)器執(zhí)行FLUSH TABLES WITH READ LOCK語(yǔ)句清空所有表和塊寫入語(yǔ)句:

  mysql> FLUSH TABLES WITH READ LOCK; 

  5、保持mysql客戶端程序不要退出。開啟另一個(gè)終端對(duì)主服務(wù)器數(shù)據(jù)目錄做備份。

[root@node1 ~]# cd /usr/local/mysql/data 
[root@node1 ~]# tar -zcvf /tmp/mysql-wapnews.tar.gz ./wapnews 

  把備份完畢的數(shù)據(jù)庫(kù)備份復(fù)制到從服務(wù)器上。

  6、當(dāng)FLUSH TABLES WITH READ LOCK所置讀鎖定有效時(shí)(即mysql客戶端程序不退出),讀取主服務(wù)器上當(dāng)前的二進(jìn)制日志名和偏移量值:

mysql > SHOW MASTER STATUS; 
+-----------------------------+---------------+-------------------------+--------------------------------------------+ 
| File                 | Position   | Binlog_Do_DB    | Binlog_Ignore_DB             | 
+------------------------------+---------------+-------------------------+--------------------------------------------+ 
| mysql-bin.000001    | 73        | wapnews        | test,mysql,information_schema | 
+------------------------------+---------------+-------------------------+--------------------------------------------+ 

  File列顯示日志名,而Position顯示偏移量。在該例子中,二進(jìn)制日志值為mysql-bin.000001,偏移量為73。記錄該值。以后設(shè)置從服務(wù)器時(shí)需要使用這些值。它們表示復(fù)制坐標(biāo),從服務(wù)器應(yīng)從該點(diǎn)開始從主服務(wù)器上進(jìn)行新的更新。

  取得快照并記錄日志名和偏移量后,回到前一中端重新啟用寫活動(dòng):

  mysql> UNLOCK TABLES; 

  設(shè)置從服務(wù)器:

  1、編輯/etc/hosts    (此步非必要)

  增加以下內(nèi)容:

  192.168.0.1 node1 

  2、停止從服務(wù)器上的mysqld服務(wù)并編輯從服務(wù)器的配置文件:/etc/my.cnf 的[ mysqld ] 部分:

  server-id = 本機(jī)數(shù)據(jù)庫(kù) ID 標(biāo)示,該部分還應(yīng)有一個(gè)server-id=Master_id選項(xiàng),其中master_id必須為1到232之間的一個(gè)正整數(shù)值

  [root@node2 ~]# service mysqld stop

  我的從服務(wù)器配置

  server-id=2

  3、將主服務(wù)器數(shù)據(jù)庫(kù)備份恢復(fù)到從服務(wù)器的數(shù)據(jù)目錄中。確保對(duì)這些文件和目錄的權(quán)限正確。服務(wù)器 MySQL運(yùn)行的用戶必須能夠讀寫文件,如同在主服務(wù)器上一樣。

[root@node2 ~]# cd /usr/local/mysql/data 
[root@node2 ~]# tar -zxvf mysql-wapnews.tar.gz 
[root@node2 ~]# chown -R mysql:mysql /usr/local/mysql/data/wapnews 

  4、啟動(dòng)從服務(wù)器。在從服務(wù)器上執(zhí)行下面的語(yǔ)句,用你的系統(tǒng)的實(shí)際值替換選項(xiàng)值:

mysql> 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;

  我的從服務(wù)器設(shè)置:

mysql> change master to 
  -> master_host='192.168.0.1', 
  -> master_user='replication', 
  -> master_password='slavepass', 
  -> master_port=3306 
  -> master_log_file='mysql-bin.000001', 
  -> master_log_pos=73, 
  -> master_connect_retry=30; 

  5、啟動(dòng)從服務(wù)器線程:

  mysql> START SLAVE; 

  執(zhí)行這些程序后,從服務(wù)器應(yīng)連接主服務(wù)器,并補(bǔ)充自從快照以來(lái)發(fā)生的任何更新。

  檢查主從復(fù)制是否正常運(yùn)行

  在從服務(wù)器上運(yùn)行 show processlist 命令,檢查是否啟動(dòng)兩個(gè)復(fù)制進(jìn)程。

mysql> show processlist \G; 
*************************** 1. row *************************** 
   Id: 44 
  User: system user 
  Host: 
   db: NULL 
Command: Connect 
  Time: 490 
 State: Waiting for master to send event 
  Info: NULL 
*************************** 2. row *************************** 
   Id: 45 
  User: system user 
  Host: 
   db: NULL 
Command: Connect 
  Time: 390 
 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) 

  在從服務(wù)器上運(yùn)行 show slave status 命令,檢查復(fù)制進(jìn)程是否正確。

mysql> show slave status \G; 
*************************** 1. row *************************** 
        Slave_IO_State: Waiting for master to send event 
         Master_Host: 192.168.0.1 
         Master_User: replication 
         Master_Port: 3306 
        Connect_Retry: 30 
       Master_Log_File: mysql-bin.000001 
     Read_Master_Log_Pos: 73 
        Relay_Log_File: localhost-relay-bin.000002 
        Relay_Log_Pos: 251 
    Relay_Master_Log_File: mysql-bin.000001 
       Slave_IO_Running: Yes 
      Slave_SQL_Running: Yes 
       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: 106 
       Relay_Log_Space: 410 
       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) 

   上面出現(xiàn): Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 表示復(fù)制正常,如果有一個(gè)顯示是NO,請(qǐng)檢查以上的主從設(shè)置步驟是否正確。如果出現(xiàn)復(fù)制錯(cuò)誤,從服務(wù)器的錯(cuò)誤日志(HOSTNAME.err)中也會(huì)出現(xiàn) 錯(cuò)誤消息。出處:http://7056824.blog.51cto.com/69854/400642

  注意:從服務(wù)器復(fù)制時(shí),會(huì)在其數(shù)據(jù)目錄中發(fā)現(xiàn)文件master.info和HOSTNAME-relay- log.info。狀態(tài)文件保存在硬盤上,從服務(wù)器關(guān)閉時(shí)不會(huì)丟失。下次從服務(wù)器啟動(dòng)時(shí),讀取這些文件以確定它已經(jīng)從主服務(wù)器讀取了多少二進(jìn)制日志,以及 處理自己的中繼日志的程度。不要移除或編輯這些文件,除非你確切知你正在做什么并完全理解其意義。即使這樣,最好是使用CHANGE MASTER TO語(yǔ)句。

關(guān)鍵字:服務(wù)器、MySQL、日志

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開網(wǎng)站