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

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

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

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

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

  MySQL 復(fù)制的原理:

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

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

  設(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ù)器上建立一個為從服務(wù)器進行復(fù)制使用的用戶。該賬戶必須授予 REPLICATION SLAVE 權(quá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 = 本機數(shù)據(jù)庫 ID 標示,該部分還應(yīng)有一個server-id=Master_id選項,其中master_id必須為1到232之間的一個正整數(shù)值

  log-bin = 二進制日志的位置和名稱

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

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

  我的主服務(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語句清空所有表和塊寫入語句:

  mysql> FLUSH TABLES WITH READ LOCK; 

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

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

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

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

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

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

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

  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 = 本機數(shù)據(jù)庫 ID 標示,該部分還應(yīng)有一個server-id=Master_id選項,其中master_id必須為1到232之間的一個正整數(shù)值

  [root@node2 ~]# service mysqld stop

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

  server-id=2

  3、將主服務(wù)器數(shù)據(jù)庫備份恢復(fù)到從服務(wù)器的數(shù)據(jù)目錄中。確保對這些文件和目錄的權(quán)限正確。服務(wù)器 MySQL運行的用戶必須能夠讀寫文件,如同在主服務(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、啟動從服務(wù)器。在從服務(wù)器上執(zhí)行下面的語句,用你的系統(tǒ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、啟動從服務(wù)器線程:

  mysql> START SLAVE; 

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

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

  在從服務(wù)器上運行 show processlist 命令,檢查是否啟動兩個復(fù)制進程。

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ù)器上運行 show slave status 命令,檢查復(fù)制進程是否正確。

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ù)制正常,如果有一個顯示是NO,請檢查以上的主從設(shè)置步驟是否正確。如果出現(xiàn)復(fù)制錯誤,從服務(wù)器的錯誤日志(HOSTNAME.err)中也會出現(xiàn) 錯誤消息。出處:http://7056824.blog.51cto.com/69854/400642

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

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

分享到:

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