乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      mysql配置文件

       昵稱10050847 2012-05-25
      [mysqld]
        port = 3306
        serverid = 1
        socket = /tmp/mysql.sock
        skip-locking
        # 避免MySQL的外部鎖定,減少出錯幾率增強(qiáng)穩(wěn)定性。
        skip-name-resolve
      禁止MySQL對外部連接進(jìn)行DNS解析,使用這一選項可以消除MySQL進(jìn)行DNS解析的時間。但需要注意,如果開啟該選項,則所有遠(yuǎn)程主機(jī)連接授權(quán)都要使用IP地址方式,否則MySQL將無法正常處理連接請求!
      back_log = 384
      指定MySQL可能的連接數(shù)量。當(dāng)MySQL主線程在很短的時間內(nèi)接收到非常多的連接請求,該參數(shù)生效,主線程花費很短的時間檢查連接并且啟動一個新線程。
      back_log 參數(shù)的值指出在MySQL暫時停止響應(yīng)新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。如果系統(tǒng)在一個短時間內(nèi)有很多連接,則需要增大該參數(shù)的值,該參數(shù)值指定到來的TCP/IP連接的偵聽隊列的大小。不同的操作系統(tǒng)在這個隊列大小上有它自己的限制。
      試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。默認(rèn)值為50。對于Linux系統(tǒng)推薦設(shè)置為小于512的整數(shù)。
           key_buffer_size = 256M
        # key_buffer_size指定用于索引的緩沖區(qū)大小,增加它可得到更好的索引處理性能。
          對于內(nèi)存在4GB左右的服務(wù)器該參數(shù)可設(shè)置為256M或384M。
        注意:該參數(shù)值設(shè)置的過大反而會是服務(wù)器整體效率降低!
           max_allowed_packet = 4M
          thread_stack = 256K
          table_cache = 128K
          sort_buffer_size = 6M
      查詢排序時所能使用的緩沖區(qū)大小。注意:該參數(shù)對應(yīng)的分配內(nèi)存是每連接獨占!如果有100個連接,那么實際分配的總共排序緩沖區(qū)大小為100 × 6 = 600MB。所以,對于內(nèi)存在4GB左右的服務(wù)器推薦設(shè)置為6-8M。
      read_buffer_size = 4M
      讀查詢操作所能使用的緩沖區(qū)大小。和sort_buffer_size一樣,該參數(shù)對應(yīng)的分配內(nèi)存也是每連接獨享!
      join_buffer_size = 8M
      聯(lián)合查詢操作所能使用的緩沖區(qū)大小,和sort_buffer_size一樣,該參數(shù)對應(yīng)的分配內(nèi)存也是每連接獨享!
           myisam_sort_buffer_size = 64M
          table_cache = 512
          thread_cache_size = 64
          query_cache_size = 64M
      指定MySQL查詢緩沖區(qū)的大小??梢酝ㄟ^在MySQL控制臺執(zhí)行以下命令觀察:
      # > SHOW VARIABLES LIKE '%query_cache%';
      # > SHOW STATUS LIKE 'Qcache%';
      # 如果Qcache_lowmem_prunes的值非常大,則表明經(jīng)常出現(xiàn)緩沖不夠的情況;
      如果Qcache_hits的值非常大,則表明查詢緩沖使用非常頻繁,如果該值較小反而會影響效率,那么可以考慮不用查詢緩沖;Qcache_free_blocks,如果該值非常大,則表明緩沖區(qū)中碎片很多。
           tmp_table_size = 256M
          max_connections = 768
      指定MySQL允許的最大連接進(jìn)程數(shù)。如果在訪問論壇時經(jīng)常出現(xiàn)Too Many Connections的錯誤提 示,則需要增大該參數(shù)值。
           max_connect_errors = 10000000
          wait_timeout = 10
      指定一個請求的最大連接時間,對于4GB左右內(nèi)存的服務(wù)器可以設(shè)置為5-10。
           thread_concurrency = 8
      該參數(shù)取值為服務(wù)器邏輯CPU數(shù)量×2,在本例中,服務(wù)器有2顆物理CPU,而每顆物理CPU又支持H.T超線程,所以實際取值為4 × 2 = 8
          skip-networking
      開啟該選項可以徹底關(guān)閉MySQL的TCP/IP連接方式,如果WEB服務(wù)器是以遠(yuǎn)程連接的方式訪問MySQL數(shù)據(jù)庫服務(wù)器則不要開啟該選項!否則將無法正常連接!

      在主服務(wù)器和從服務(wù)器上,均必須使用server-id選項為每個服務(wù)器建立唯一的復(fù)制ID。你應(yīng)為每個主服務(wù)器和從服務(wù)器從1到232–1的范圍挑一個唯一的正整數(shù)。例如:server-id=3

      用于主服務(wù)器上控制二進(jìn)制日志的選項的相關(guān)描述見5.11.3節(jié),“二進(jìn)制日志”。

      下表描述了可以用于MySQL 5.1從屬復(fù)制服務(wù)器的選項。你可以在命令行中或在選項文件中指定這些選項。

      某些從服務(wù)器復(fù)制選項按特殊方式處理,當(dāng)從服務(wù)器啟動時如果master.info文件存在并且包含選項值,它們將被忽略掉。下面的選項按這種方式處理:

      ·         --master-host

      ·         --master-user

      ·         --master-password

      ·         --master-port

      ·         --master-connect-retry

      ·         --master-ssl

      ·         --master-ssl-ca

      ·         --master-ssl-capath

      ·         --master-ssl-cert

      ·         --master-ssl-cipher

      ·         --master-ssl-key

      5.1 中的master.info文件格式包括對應(yīng)SSL選項的值。并且,文件格式包括文件中的行號,如同第1行。如果你將舊的服務(wù)器升級到新的版本,新服務(wù)器啟動時自動將smaster.info文件升級到新的格式。然而,如果將新服務(wù)器降級到舊的版本,首次啟動舊版本的服務(wù)器之前應(yīng)刪除第1行。

      如果從服務(wù)器啟動時master.info文件不存在,選項采用選項文件或命令行中指定的值。首次將服務(wù)器作為從服務(wù)器啟動時,或者已經(jīng)運行RESET SLAVE然后已經(jīng)關(guān)閉并重啟從服務(wù)器時會發(fā)生。

      如果從服務(wù)器啟動時master.info文件存在,服務(wù)器忽略那些選項。使用master.info文件中發(fā)現(xiàn)的值。

      如 果你使用與master.info文件中相對應(yīng)的啟動選項的不同的值重啟從服務(wù)器,啟動選項的不同的值不會生效,因為服務(wù)器繼續(xù)使用 master.info文件。要想使用啟動選項的不同的值,必須刪除master.info文件并重啟從服務(wù)器,或(最好是)在從服務(wù)器運行時使用 CHANGE MASTER TO語句重新設(shè)置值。

      假定在my.cnf文件中指定該選項:

      [mysqld]
      master-host=some_host
      第1次作為復(fù)制從服務(wù)器啟動服務(wù)器時,從my.cnf文件讀取并使用選項。服務(wù)器然后記錄master.info文件中的值。下次啟動服務(wù)器時,它只從服務(wù)器的master.info文件讀取主服務(wù)器主機(jī)值并忽略選項文件中的值。如果你修改my.cnf文件為some_other_host指定其它主服務(wù)器主機(jī),更改仍然不會生效。你應(yīng)使用CHANGE MASTER TO。

      因為服務(wù)器給已有master.info文件的優(yōu)先權(quán)高于剛剛描述的啟動選項,可以選擇不使用這些值的啟動選項,而是使用CHANGE MASTER TO語句來指定。參見13.6.2.1節(jié),“CHANGE MASTER TO語法”。

      下面的例子顯示了如何更廣泛地使用啟動選項來配置從服務(wù)器:

      [mysqld]
      server-id=2
      master-host=db-master.mycompany.com
      master-port=3306
      master-user=pertinax
      master-password=freitag
      master-connect-retry=60
      report-host=db-slave.mycompany.com
      下面列出了控制復(fù)制的啟動選項:許多選項可以在服務(wù)器運行時通過CHANGE MASTER TO語句重新進(jìn)行設(shè)置。其它選項,例如--replicate-*選項,只能在從服務(wù)器啟動時進(jìn)行設(shè)置。我們計劃將修復(fù)該問題。

      ·         --logs-slave-updates

      通常情況,從服務(wù)器從主服務(wù)器接收到的更新不記入它的二進(jìn)制日志。該選項告訴從服務(wù)器將其SQL線程執(zhí)行的更新記入到從服務(wù)器自己的二進(jìn)制日志。為了使該選項生效,還必須用--logs-bin選項啟動從服務(wù)器以啟用二進(jìn)制日志。如果想要應(yīng)用鏈?zhǔn)綇?fù)制服務(wù)器,應(yīng)使用--logs-slave- updates。例如,可能你想要這樣設(shè)置:

      A -> B -> C
      也就是說,A為從服務(wù)器B的主服務(wù)器,B為從服務(wù)器C的主服務(wù)器。為了能工作,B必須既為主服務(wù)器又為從服務(wù)器。你必須用--logs-bin啟動A和B以啟用二進(jìn)制日志,并且用--logs-slave-updates選項啟動B。

      ·         --logs-warnings

      讓從服務(wù)器向錯誤日志輸出更詳細(xì)的關(guān)于其執(zhí)行操作的消息。例如,通知你網(wǎng)絡(luò)/連接失敗后已經(jīng)成功重新連接,并通知你每個從服務(wù)器線程如何啟動。該選項默認(rèn)啟用;要想禁用它,使用--skip-logs-warnings。放棄的連接不記入錯誤日志,除非該值大于1。

      請注意該選項的效果不限于復(fù)制??梢詫Ψ?wù)器的部分動作產(chǎn)生警告。

      ·         --master-connect-retry=seconds

      在主服務(wù)器宕機(jī)或連接丟失的情況下,從服務(wù)器線程重新嘗試連接主服務(wù)器之前睡眠的秒數(shù)。如果主服務(wù)器.info文件中的值可以讀取則優(yōu)先使用。如果未設(shè)置, 默認(rèn)值為60。

      ·         --master-host=host

      主復(fù)制服務(wù)器的主機(jī)名或IP地址。如果沒有給出該選項,從服務(wù)器線程不啟動。如果主服務(wù)器.info文件中的值可以讀取則優(yōu)先使用。

      ·         --master-info-file=file_name

      從服務(wù)器用于記錄主服務(wù)器的相關(guān)信息使用的文件名。默認(rèn)名為數(shù)據(jù)目錄中的mysql.info。

      ·         --master-password=password

      連接主服務(wù)器時從服務(wù)器線程用于鑒定的賬戶的密碼。如果主服務(wù)器.info文件中的值可以讀取則優(yōu)先使用。如果未設(shè)置,假定 密碼為空。

      ·         --master-port=port_number

      主服務(wù)器正幀聽的TCP/IP端口號。如果主服務(wù)器.info文件中的值可以讀取則優(yōu)先使用。如果未設(shè)置,假定使用編譯進(jìn)來的設(shè)定值。如果你未曾用configure選項進(jìn)行修改,該值應(yīng)為3306。

      ·         --master-ssl、--master-ssl-ca=file_name、--master-ssl-capath= directory_name、--master-ssl-cert=file_name、--master-ssl-cipher= cipher_list、--master-ssl-key=file_name

      這些選項用于使用SSL設(shè)置與主服務(wù)器的安全復(fù)制連接。它們的含義與5.8.7.6節(jié),“SSL命令行選項”中描述的相應(yīng)—ssl、--ssl-ca、--ssl-capath、--ssl-cert、-- ssl-cipher、--ssl-key選項相同。如果主服務(wù)器.info文件中的值可以讀取則優(yōu)先使用。

      ·         --master-user=username

      連接主服務(wù)器時從服務(wù)器線程用于鑒定的賬戶的用戶名。該賬戶必須具有REPLICATION SLAVE權(quán)限。如果主服務(wù)器.info文件中的值可以讀取則優(yōu)先使用。如果未設(shè)置主服務(wù)器用戶,假定使用用戶test。

      ·         --max-relay-logs-size=size

      自動循環(huán)中繼日志。參見5.3.3節(jié),“服務(wù)器系統(tǒng)變量”。

      ·         --read-only

      該選項讓從服務(wù)器只允許來自從服務(wù)器線程或具有SUPER權(quán)限的用戶的更新。可以確保從服務(wù)器不接受來自客戶的更新。

      ·         --relay-log=file_name

      中繼日志名。默認(rèn)名為host_name-relay-bin.nnnnnn,其中host_name是從服務(wù)器主機(jī)的名,nnnnnn表示中繼日志在編號序列中創(chuàng)建。如果中繼日志太大(并且你不想降低max_relay_log_size),需要將它們放到數(shù)據(jù)目錄之外的其它地方,或者如果想要通過硬盤之間的負(fù)載均衡提高速度,可以指定選項創(chuàng)建與主機(jī)名無關(guān)的中繼日志名。

      ·         --relay-log-index=file_name

      中繼日志索引文件使用的位置和名稱。默認(rèn)名為host_name-relay-bin.index,其中host_name為從服務(wù)器名。

      ·         --relay-log-info-file=file_name

      從服務(wù)器用于記錄中繼日志相關(guān)信息的文件名。默認(rèn)名為數(shù)據(jù)目錄中的relay-log.info。

      ·         --relay-log-purge={0|1}

      禁用或啟用不再需要中繼日志時是否自動清空它們。默認(rèn)值為1(啟用)。這是一個全局變量,可以用SET GLOBAL Relay_log_purge動態(tài)更改。

      ·         --relay-log-space-limit=size

      限制所有中繼日志在從服務(wù)器上所占用空間的上限(0值表示“無限制”)。從服務(wù)器主機(jī)硬盤空間有限時很有用。達(dá)到限制后,I/O線程停止從主服務(wù)器讀取二進(jìn)制日志中的事件,直到SQL線程被閉鎖并且刪除了部分未使用的中繼日志。請注意該限制并不是絕對的:有可能SQL線程刪除中繼日志前需要更多的事件。在這種情況下,I/O線程將超過限制,直到SQL線程可以刪除部分中繼日志。(不這樣做將會造成死鎖)。--relay-log-space-limit的值不能小于--max-relay-logs-size(或如果--max-relay-logs-size為0,選--max-binlog-size) 的值的兩倍。在這種情況下,有可能I/O線程等待釋放空間,因為超過了--relay-log-space-limit,但SQL線程沒有要清空的中繼日志,不能滿足I/O線程的需求。強(qiáng)制I/O線程臨時忽視--relay-log-space-limit。

      ·         --replicate-do-db=db_name

      告訴從服務(wù)器限制默認(rèn)數(shù)據(jù)庫(由USE所選擇)為db_name的語句的復(fù)制。要指定多個數(shù)據(jù)庫,應(yīng)多次使用該選項,每個數(shù)據(jù)庫使用一次。請注意不復(fù)制跨數(shù)據(jù)庫的語句,例如當(dāng)已經(jīng)選擇了其它數(shù)據(jù)庫或沒有數(shù)據(jù)庫時執(zhí)行UPDATE some_db.some_table SET foo='bar'。如果需要跨數(shù)據(jù)庫進(jìn)行更新,使用--replicate-wild-do-table=db_name.%。請讀取該選項列表后面的注意事項。

      一個不能按照期望工作的例子:如果用--replicate-do-db=sales啟動從服務(wù)器,并且在主服務(wù)器上執(zhí)行下面的語句,UPDATE語句不會復(fù)制:

      USE prices;
      UPDATE sales.january SET amount=amount+1000;
      如果需要跨數(shù)據(jù)庫進(jìn)行更新,應(yīng)使用--replicate-wild-do-table=db_name.%。

      “只檢查默認(rèn)數(shù)據(jù)庫”行為的主要原因是語句自己很難知道它是否應(yīng)被復(fù)制(例如,如果你正使用跨數(shù)據(jù)庫的多表DELETE語句或多表UPDATE語句)。如果不需要,只檢查默認(rèn)數(shù)據(jù)庫比檢查所有數(shù)據(jù)庫要快得多。

      ·         --replicate-do-table=db_name.tbl_name

      告訴從服務(wù)器線程限制對指定表的復(fù)制。要指定多個表,應(yīng)多次使用該選項,每個表使用一次。同--replicate-do-db對比,允許跨數(shù)據(jù)庫更新。請讀取該選項列表后面的注意事項。

      ·         --replicate-ignore-db=db_name

      告訴從服務(wù)器不要復(fù)制默認(rèn)數(shù)據(jù)庫(由USE所選擇)為db_name的語句。要想忽略多個數(shù)據(jù)庫,應(yīng)多次使用該選項,每個數(shù)據(jù)庫使用一次。如果正進(jìn)行跨數(shù)據(jù)庫更新并且不想復(fù)制這些更新,不應(yīng)使用該選項。請讀取該選項后面的注意事項。

      一個不能按照期望工作的例如:如果用--replicate-ignore-db=sales啟動從服務(wù)器,并且在主服務(wù)器上執(zhí)行下面的語句,UPDATE語句不會復(fù)制:

      ·                USE prices;
      ·                UPDATE sales.january SET amount=amount+1000;
      如果需要跨數(shù)據(jù)庫更新,應(yīng)使用--replicate-wild-ignore-table=db_name.%。

      ·         --replicate-ignore-table=db_name.tbl_name

      告訴從服務(wù)器線程不要復(fù)制更新指定表的任何語句(即使該語句可能更新其它的表)。要想忽略多個表,應(yīng)多次使用該選項,每個表使用一次。同--replicate-ignore-db對比,該選項可以跨數(shù)據(jù)庫進(jìn)行更新。請讀取該選項后面的注意事項。

      ·         --replicate-wild-do-table=db_name.tbl_name

      告訴從服務(wù)器線程限制復(fù)制更新的表匹配指定的數(shù)據(jù)庫和表名模式的語句。模式可以包含‘%’和‘_’通配符,與LIKE模式匹配操作符具有相同的含義。要指定多個表,應(yīng)多次使用該選項,每個表使用一次。該選項可以跨數(shù)據(jù)庫進(jìn)行更新。請讀取該選項后面的注意事項。

      例如:--replicate-wild-do-table=foo%.bar%只復(fù)制數(shù)據(jù)庫名以foo開始和表名以bar開始的表的更新。

      如 果表名模式為%,可匹配任何表名,選項也適合數(shù)據(jù)庫級語句(CREATE DATABASE、DROP DATABASE和ALTER DATABASE)。例如,如果使用--replicate-wild-do-table=foo%.%,如果數(shù)據(jù)庫名匹配模式foo%,則復(fù)制數(shù)據(jù)庫級語句。

      要想在數(shù)據(jù)庫或表名模式中包括通配符,用反斜線對它們進(jìn)行轉(zhuǎn)義。例如,要復(fù)制名為my_own%db的數(shù)據(jù)庫的所有表,但不復(fù)制 my1ownAABCdb數(shù)據(jù)庫的表,應(yīng)這樣轉(zhuǎn)義‘_’和‘%’字符:--replicate-wild-do-table=my\_own\%db。如果在命令行中使用選項,可能需要雙反斜線或?qū)⑦x項值引起來,取決于命令解釋符。例如,用bash外殼則需要輸入--replicate-wild-do- table=my\\_own\\%db。

      ·         --replicate-wild-ignore-table=db_name.tbl_name

      告訴從服務(wù)器線程不要復(fù)制表匹配給出的通配符模式的語句。要想忽略多個表,應(yīng)多次使用該選項,每個表使用一次。該選項可以跨數(shù)據(jù)庫進(jìn)行更新。請讀取該選項后面的注意事項。

      例如:--replicate-wild-ignore-table=foo%.bar%不復(fù)制數(shù)據(jù)庫名以foo開始和表名以bar開始的表的更新。

      關(guān)于匹配如何工作的信息,參見--replicate-wild-do-table選項的描述。在選項值中包括通配符的規(guī)則與--replicate-wild-ignore-table相同。

      ·         --replicate-rewrite-db=from_name->to_name

      告訴從服務(wù)器如果默認(rèn)數(shù)據(jù)庫(由USE所選擇)為主服務(wù)器上的from_name,則翻譯為to_name。只影響含有表的語句(不是類似CREATE DATABASE、DROP DATABASE和ALTER DATABASE的語句),并且只有from_name為主服務(wù)器上的默認(rèn)數(shù)據(jù)庫時。該選項不可以跨數(shù)據(jù)庫進(jìn)行更新。請注意在測試--replicate -*規(guī)則之前翻譯數(shù)據(jù)庫名。

      如果在命令行中使用該選項, ‘>’字符專用于命令解釋符,應(yīng)將選項值引起來。例如:

      shell> mysqld --replicate-rewrite-db="olddb->newdb"
      ·         --replicate-same-server-id

      將用于從服務(wù)器上。通??梢阅J(rèn)設(shè)置為0以防止循環(huán)復(fù)制中的無限循環(huán)。如果設(shè)置為1,該從服務(wù)器不跳過有自己的服務(wù)器id的事件;通常只在有很少配置的情況下有用。如果使用--logs-slave-updates不能設(shè)置為1。請注意默認(rèn)情況下如果有從服務(wù)器的id,服務(wù)器I/O線程不將二進(jìn)制日志事件寫入中繼日志(該優(yōu)化可以幫助節(jié)省硬盤的使用)。因此如果想要使用--replicate-same-server-id,讓從服務(wù)器讀取自己的SQL線程執(zhí)行的事件前,一定要用該選項啟動。

      ·         --report-host=slave_name

      從服務(wù)器注 冊過程中報告給主服務(wù)器的主機(jī)名或IP地址。該值出現(xiàn)在主服務(wù)器上SHOW SLAVE HOSTS的輸出中。如果不想讓從服務(wù)器自己在主服務(wù)器上注冊,則不設(shè)置該值。請注意從服務(wù)器連接后,主服務(wù)器僅僅從TCP/IP套接字讀取從服務(wù)器的 IP號是不夠的。由于 NAT和其它路由問題,IP可能不合法,不能從主服務(wù)器或其它主機(jī)連接從服務(wù)器。

      ·         --report-port=slave_port

      連接從服務(wù)器的TCP/IP端口號,從服務(wù)器注冊過程中報告給主服務(wù)器。只有從服務(wù)器幀聽非默認(rèn)端口或如果有一個特殊隧道供主服務(wù)器或其它客戶連接從服務(wù)器時才設(shè)置它。如果你不確定,不設(shè)置該選項。

      ·         --skip-slave-start

      告訴從服務(wù)器當(dāng)服務(wù)器啟動時不啟動從服務(wù)器線程。使用START SLAVE語句在以后啟動線程。

      ·         --slave_compressed_protocol={0|1}

      如果該選項設(shè)置為 1,如果從服務(wù)器和主服務(wù)器均支持,使用壓縮從服務(wù)器/主服務(wù)器協(xié)議。

      ·         --slave-load-tmpdir=file_name

      從 服務(wù)器創(chuàng)建臨時文件的目錄名。該選項默認(rèn)等于tmpdir系統(tǒng)變量的值。當(dāng)從服務(wù)器SQL線程復(fù)制LOAD DATA INFILE語句時,從中繼日志將待裝載的文件提取到臨時文件,然后將這些文件裝入到表中。如果裝載到主服務(wù)器上的文件很大,從服務(wù)器上的臨時文件也很大。因此,建議使用該選項告訴從服務(wù)器將臨時文件放到文件系統(tǒng)中有大量可用空間的目錄下。在這種情況下,也可以使用--relay-log選項將中繼日志放到該文件系統(tǒng)中,因為中繼日志也很大。--slave-load-tmpdir應(yīng)指向基于硬盤的文件系統(tǒng),而非基于內(nèi)存的文件系統(tǒng):從服務(wù)器需要用臨時文件在機(jī)器重啟時用于復(fù)制LOAD DATA INFILE。系統(tǒng)啟動過程中操作系統(tǒng)也不能清除該目錄。

      ·         --slave-net-timeout=seconds

      放棄讀之前從主服務(wù)器等候更多數(shù)據(jù)的秒數(shù),考慮到連接中斷和嘗試重新連接。超時后立即開始第1次重試。由--master-connect-retry選項控制重試之間的間隔。

      ·         --slave-skip-errors=[err_code1,err_code2,... | all]

      通常情況,當(dāng)出現(xiàn)錯誤時復(fù)制停止,這樣給你一個機(jī)會手動解決數(shù)據(jù)中的不一致性問題。該選項告訴從服務(wù)器SQL線程當(dāng)語句返回任何選項值中所列的錯誤時繼續(xù)復(fù)制。

      如果你不能完全理解為什么發(fā)生錯誤,則不要使用該選項。如果復(fù)制設(shè)置和客戶程序中沒有bug,并且MySQL自身也沒有bug,應(yīng)不會發(fā)生停止復(fù)制的錯誤。濫用該選項會使從服務(wù)器與主服務(wù)器不能保存同步,并且你找不到原因。

      對于錯誤代碼,你應(yīng)使用從服務(wù)器錯誤日志中錯誤消息提供的編號和SHOW SLAVE STATUS的輸出。服務(wù)器錯誤代碼列于附錄B:錯誤代碼和消息。

      你也可以(但不應(yīng))使用不推薦的all值忽略所有錯誤消息,不考慮所發(fā)生的錯誤。無需而言,如果使用該值,我們不能保證數(shù)據(jù)的完整性。在這種情況下,如果從服務(wù)器的數(shù)據(jù)與主服務(wù)器上的不相近請不要抱怨(或編寫bug報告)。已經(jīng)警告你了。

      例如:

      --slave-skip-errors=1062,1053
      --slave-skip-errors=all
      從服務(wù)器按下面評估--replicate-*規(guī)則,確定是否執(zhí)行或忽視語句:

      1.    是否有--replicate-do-db或--replicate-ignore-db規(guī)則?

      ·         有:測試--binlog-do-db和--binlog-ignore-db(參見5.11.3節(jié),“二進(jìn)制日志”)。測試結(jié)果是什么?

      o        忽視語句:忽視并退出。

      o        許可語句:不立即執(zhí)行語句。推遲決策;繼續(xù)下一步。

      ·         沒有:繼續(xù)下一步。

      2.    我們目前正執(zhí)行保存的程序或函數(shù)嗎?

      ·         是:執(zhí)行查詢并退出。

      ·         否:繼續(xù)下一步。

      3.    是否有--replicate-*-table規(guī)則?

      ·         沒有:執(zhí)行查詢并退出。

      ·         有:繼續(xù)下一步并開始按所示順序評估表規(guī)則(首先是非通配規(guī)則,然后是通配規(guī)則)。只有待更新的表根據(jù)這些規(guī)則進(jìn)行比較(INSERT INTO sales SELECT * FROM prices:只有sales根據(jù)這些規(guī)則進(jìn)行比較)。如果要更新幾個表(多表語句),第1個匹配的表(匹配“do”或“ignore”)獲贏。也就是說,根據(jù)這些規(guī)則比較第1個表。然后,如果不能進(jìn)行決策,根據(jù)這些規(guī)則比較第2個表等等。

      4.    是否有--replicate-do-table規(guī)則?

      ·         有:表匹配嗎?

      o        是:執(zhí)行查詢并退出。

      o        否:繼續(xù)下一步。

      ·         沒有:繼續(xù)下一步。

      5.    是否有--replicate-ignore-table規(guī)則?

      ·         有:表匹配嗎?

      o        是:忽視查詢并退出。

      o        否:繼續(xù)下一步。

      ·         沒有:繼續(xù)下一步。

      6.    是否有--replicate-wild-do-table規(guī)則?

      ·         有:表匹配嗎?

      o        是:執(zhí)行查詢并退出。

      o        否:繼續(xù)下一步。

      ·         沒有:繼續(xù)下一步。

      7.    是否有--replicate-wild-ignore-table規(guī)則?

      ·         有:表匹配嗎?

      o        是:忽視查詢并退出。

      o        否:繼續(xù)下一步。

      ·         沒有:繼續(xù)下一步。

      8.    沒有匹配的--replicate-*-table規(guī)則。要根據(jù)這些規(guī)則測試其它表嗎?

      ·         是:執(zhí)行循環(huán)。

      ·         否:我們現(xiàn)在已經(jīng)測試了所有待更新的表,結(jié)果不能匹配任何規(guī)則。是否有--replicate-do-table或--replicate-wild-do-table規(guī)則?

      o        有:有“do”規(guī)則但不匹配。忽視查詢并退出。

      o        沒有:執(zhí)行查詢并退出

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多