国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫配置詳解

2024-07-24 12:35:51
字體:
來源:轉載
供稿:網友
  下面是我生產環境中MySQL的配置詳解:
 
  [mysqld]
 
  mysql服務端配置
 
  server-id=1
 
  服務ID,每個服務的服務ID不同即可
 
  log-bin=mysql-bin
 
  定義bin_log的位置和名稱,mysql操作記錄二進制日志
 
  relay_log=mysql-realy-bin
 
  定義relay_log的位置和名稱,從服務器解析主服務器二進制文件后記錄的文件
 
  relay_log_index=slave-mysql-realy-bin.index
 
  定義relay_log_index的位置和名稱
 
  expire_logs_days=15
 
  超過15天的binlog刪除
 
  binlog_format=mixed
 
  mysql復制方式為混合模式
 
  說明:mysql復制主要有三種方式:基于SQL語句的復制(statement-based replication, SBR),基于行的復制(row-based replication, RBR),混合模式復制(mixed-based replication, MBR)。對應的,binlog的格式也有三種:STATEMENT,ROW,MIXED。
 
  ① STATEMENT模式(SBR)
 
  每一條會修改數據的sql語句會記錄到binlog中。優點是并不需要記錄每一條sql語句和每一行的數據變化,減少了binlog日志量,節約IO,提高性能。缺點是在某些情況下會導致master-slave中的數據不一致(如sleep()函數, last_insert_id(),以及user-defined functions(udf)等會出現問題)
 
  ② ROW模式(RBR)
 
  不記錄每條sql語句的上下文信息,僅需記錄哪條數據被修改了,修改成什么樣了。而且不會出現某些特定情況下的存儲過程、或function、或trigger的調用和觸發無法被正確復制的問題。缺點是會產生大量的日志,尤其是alter table的時候會讓日志暴漲。
 
 ?、?MIXED模式(MBR)
 
  以上兩種模式的混合使用,一般的復制使用STATEMENT模式保存binlog,對于STATEMENT模式無法復制的操作使用ROW模式保存binlog,MySQL會根據執行的SQL語句選擇日志保存方式。
 
  auto-increment-increment=2
 
  自增量每次增加的值改為2
 
  auto-increment-offset= 1
 
  第一次加載數值時的偏移值的個位值是1
 
  innodb_flush_log_at_trx_commit=1
 
  # 0:如果innodb_flush_log_at_trx_commit的值為0,log buffer每秒就會被刷寫日志文件到磁盤,提交事務的時候不做任何操作(執行是由mysql的master thread線程來執行的。
 
  # 主線程中每秒會將重做日志緩沖寫入磁盤的重做日志文件(REDO LOG)中。不論事務是否已經提交)默認的日志文件是ib_logfile0,ib_logfile1
 
  # 1:當設為默認值1的時候,每次提交事務的時候,都會將log buffer刷寫到日志。
 
  # 2:如果設為2,每次提交事務都會寫日志,但并不會執行刷的操作。每秒定時會刷到日志文件。要注意的是,并不能保證100%每秒一定都會刷到磁盤,這要取決于進程的調度。
 
  # 每次事務提交的時候將數據寫入事務日志,而這里的寫入僅是調用了文件系統的寫入操作,而文件系統是有 緩存的,所以這個寫入并不能保證數據已經寫入到物理磁盤
 
  # 默認值1是為了保證完整的ACID。當然,你可以將這個配置項設為1以外的值來換取更高的性能,但是在系統崩潰的時候,你將會丟失1秒的數據。
 
  # 設為0的話,mysqld進程崩潰的時候,就會丟失最后1秒的事務。設為2,只有在操作系統崩潰或者斷電的時候才會丟失最后1秒的數據。InnoDB在做恢復的時候會忽略這個值。
 
  # 總結
 
  # 設為1當然是最安全的,但性能頁是最差的(相對其他兩個參數而言,但不是不能接受)。如果對數據一致性和完整性要求不高,完全可以設為2,如果只最求性能,例如高并發寫的日志服務器,設為0來獲得更高性能
 
  replicate-ignore-db=sys
 
  復制時忽略的數據庫
 
  datadir=/data/mysql_data
 
  數據存儲目錄
 
  socket=/var/lib/mysql/mysql.sock
 
  對服務器端指定套接字文件路徑
 
  對mysql.sock來說,其作用是程序與mysqlserver處于同一臺機器,發起本地連接時可用。
 
  character_set_server=utf8
 
  設置字符集
 
  sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
 
  # mysql數據庫的中有一個環境變量sql_mode,定義了mysql應該支持的sql語法,數據校驗等
 
  # STRICT_TRANS_TABLES:在該模式下,如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做限制
 
  # NO_ZERO_IN_DATE:這個模式影響了是否允許日期中的月份和日包含0。如果開啟此模式,2016-01-00是不允許的,但是0000-02-01是允許的。它實際的行為受到 strict mode是否開啟的影響1。
 
  # NO_ZERO_DATE:設置該值,mysql數據庫不允許插入零日期。它實際的行為受到 strictmode是否開啟的影響2。
 
  # ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE過程中,如果數據被零除,則產生錯誤而非警告。如果未給出該模式,那么數據被零除時MySQL返回NULL
 
  # NO_AUTO_CREATE_USER:禁止GRANT創建密碼為空的用戶
 
  # NO_ENGINE_SUBSTITUTION:如果需要的存儲引擎被禁用或未編譯,那么拋出錯誤。不設置此值時,用默認的存儲引擎替代,并拋出一個異常
 
  symbolic-links=0
 
  不支持符號鏈接
 
  log-error=/var/log/mysqld.log
 
  錯誤日志文件目錄
 
  pid-file=/var/run/mysqld/mysqld.pid
 
  進程文件目錄
 
  innodb_buffer_pool_size=8G
 
  InnoDB緩沖池大?。ㄟ@里設置為內存大小的一半)
 
  # InnoDB使用一個緩沖池來保存索引和原始數據, 不像MyISAM
 
  # 這里你設置越大,你在存取表里面數據時所需要的磁盤I/O越少.
 
  # 在一個獨立使用的數據庫服務器上,你可以設置這個變量到服務器物理內存大小的80%
 
  # 不要設置過大,否則,由于物理內存的競爭可能導致操作系統的換頁顛簸.
 
  # 注意在32位系統上你每個進程可能被限制在 2-3.5G 用戶層面內存限制,
 
  # 所以不要設置的太高.
 
  innodb_log_file_size=256M
 
  確定數據日志文件的大小,更大的設置可以提高性能,但也會增加恢復故障數據庫所需的時間
 
  innodb_flush_method=O_DIRECT
 
  InnoDB 用來刷新日志的方法為O_DSYNC
 
  # 表空間總是使用雙重寫入刷新方法
 
  #  默認值是 “fdatasync”, 另一個是 “O_DSYNC”.
 
  # 一般來說,如果你有硬件 RAID 控制器,并且其獨立緩存采用 write-back 機制,并有著電池斷電保護,那么應該設置配置為 O_DIRECT
 
  # 否則,大多數情況下應將其設為 fdatasync
 
  max_connections=500
 
  MySQL的最大連接數
 
  # 如果服務器的并發連接請求量比較大,建議提高此值,以增加并行連接數量,當然這建立在機器能支撐的情況下,因為如果連接數越多,介于MySQL會為每個連接提供連接緩沖區,就會開銷越多的內存,所以要適當調整該值,不能盲目提高設值??梢赃^'conn%'通配符查看當前狀態的連接數量,以定奪該值的大小。
 
  innodb_autoextend_increment=128
 
  每次自動擴展的增量大小
 
  # 增加InnoDB系統空間最簡單的方法就是,在配置文件中配置autoextend.
 
  # #該innodb_autoextend_increment設置不會影響每個表的單獨表空間文件或常規表空間文件。無論innodb_autoextend_increment設置如何,這些文件都是自動擴展的 。初始擴展是少量的,之后以4MB的增量擴展。
 
  # 默認是8M, 如果一次insert數據量比較多的話, 可以適當增加.

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 政和县| 惠水县| 饶河县| 泌阳县| 赤水市| 报价| 南通市| 高平市| 安塞县| 元氏县| 五莲县| 鹿泉市| 长汀县| 秭归县| 余庆县| 阜南县| 怀化市| 白河县| 泰来县| 崇仁县| 禹州市| 磴口县| 娱乐| 衡水市| 滦平县| 南木林县| 两当县| 鲁甸县| 淄博市| 韩城市| 凤阳县| 小金县| 阳城县| 龙南县| 曲阳县| 蛟河市| 石台县| 铁力市| 晋城| 永福县| 淮阳县|