MySQL配置文件详解
生活随笔
收集整理的這篇文章主要介紹了
MySQL配置文件详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
# 客戶端設(shè)置,即客戶端默認的連接參數(shù)
[client]# 默認連接端口
port = 3306# 用于本地連接的socket套接字
socket = /usr/local/mysql/data/mysql.sock# 字符集編碼
default-character-set = utf8mb4# 服務(wù)端基本設(shè)置
[mysqld] # MySQL監(jiān)聽端口
port = 3306# 為MySQL客戶端程序和服務(wù)器之間的本地通訊指定一個套接字文件
socket = /usr/local/mysql/data/mysql.sock# pid文件所在目錄
pid-file = /usr/local/mysql/data/mysql.pid# 使用該目錄作為根目錄(安裝目錄)
basedir = /usr/local/mysql# 數(shù)據(jù)文件存放的目錄
datadir = /usr/local/mysql/database# MySQL存放臨時文件的目錄
tmpdir = /usr/local/mysql/data/tmp# 服務(wù)端默認編碼(數(shù)據(jù)庫級別)
character_set_server = utf8mb4# 服務(wù)端默認的比對規(guī)則,排序規(guī)則
collation_server = utf8mb4_bin# MySQL啟動用戶。如果是root用戶就配置root,mysql用戶就配置mysql
user = root# 錯誤日志配置文件(configure file)
log-error=/usr/local/mysql/data/error.logsecure-file-priv = null# 開啟了binlog后,必須設(shè)置這個值為1.主要是考慮binlog安全
# 此變量適用于啟用二進制日志記錄的情況。它控制是否可以信任存儲函數(shù)創(chuàng)建者,而不是創(chuàng)建將導(dǎo)致
# 要寫入二進制日志的不安全事件。如果設(shè)置為0(默認值),則不允許用戶創(chuàng)建或更改存儲函數(shù),除非用戶具有
# 除創(chuàng)建例程或更改例程特權(quán)之外的特權(quán)
log_bin_trust_function_creators = 1# 性能優(yōu)化的引擎,默認關(guān)閉
performance_schema = 0# 開啟全文索引
# ft_min_word_len = 1# 自動修復(fù)MySQL的myisam引擎類型的表
#myisam_recover# 明確時間戳默認null方式
explicit_defaults_for_timestamp# 計劃任務(wù)(事件調(diào)度器)
event_scheduler
# 跳過外部鎖定;External-locking用于多進程條件下為MyISAM數(shù)據(jù)表進行鎖定
skip-external-locking# 跳過客戶端域名解析;當(dāng)新的客戶連接mysqld時,mysqld創(chuàng)建一個新的線程來處理請求。該線程先檢查是否主機名在主機名緩存中。如果不在,線程試圖解析主機名。
# 使用這一選項以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項,則所有遠程主機連接授權(quán)都要使用IP地址方式,否則MySQL將無法正常處理連接請求!
skip-name-resolve# 1.強烈建議不配置bind-address
# 2.如果要配置bind-address的話,這個localhost不能修改,否則在初始化數(shù)據(jù)庫(執(zhí)行/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm password)時便會報錯,如果/etc/my.cnf中配置了bind-address=localhost 的話,那么在CDH的安裝頁面中,配置連接數(shù)據(jù)庫的主機名稱必須為localhost。
# (原因)缺點:但是在安裝hue時,“數(shù)據(jù)庫主機名稱”并無法使用localhost或任何主機名,所以造成無法安裝hue
# 3.不配置 bind-address=localhost 的話,則使用主機名(NDOE1)作為此處的數(shù)據(jù)庫主機名稱
# MySQL綁定IP
#bind-address=localhost # 為了安全起見,復(fù)制環(huán)境的數(shù)據(jù)庫還是設(shè)置--skip-slave-start參數(shù),防止復(fù)制隨著mysql啟動而自動啟動
skip-slave-start# MySQL主從復(fù)制的時候,在中止讀取之前等待來自主/從連接的更多數(shù)據(jù)的秒數(shù)。
# 當(dāng)Master和Slave之間的網(wǎng)絡(luò)中斷,但是Master和Slave無法察覺的情況下(比如防火墻或者路由問題)。Slave會等待slave_net_timeout設(shè)置的秒數(shù)后,才能認為網(wǎng)絡(luò)出現(xiàn)故障,然后才會重連并且追趕這段時間主庫的數(shù)據(jù)。
# 1.用這三個參數(shù)來判斷主從是否延遲是不準確的Slave_IO_Running,Slave_SQL_Running,Seconds_Behind_Master.優(yōu)先使用用pt-heartbeat參數(shù)進行判斷。
# 2.slave_net_timeout不要用默認值,設(shè)置一個你能接受的延時時間。
slave_net_timeout = 30# 設(shè)定是否支持命令load data local infile。如果指定local關(guān)鍵詞,則表明支持從客戶主機讀文件
local-infile = 0# 指定MySQL可能的連接數(shù)量。當(dāng)MySQL主線程在很短的時間內(nèi)得到非常多的連接請求,該參數(shù)就起作用,之后主線程花些時間(盡管很短)檢查連接并且啟動一個新線程。
# back_log參數(shù)的值指出在MySQL暫時停止響應(yīng)新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。
back_log = 1024#sql_mode,定義了mysql應(yīng)該支持的sql語法,數(shù)據(jù)校驗等! NO_AUTO_CREATE_USER:禁止GRANT創(chuàng)建密碼為空的用戶。
#NO_ENGINE_SUBSTITUTION 如果需要的存儲引擎被禁用或未編譯,可以防止自動替換存儲引擎
#sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER#索引塊的緩沖區(qū)大小,對【MyISAM表性能影響最大的一個參數(shù)】.決定索引處理的速度,尤其是索引讀的速度。默認值是16M,通過檢查狀態(tài)值Key_read_requests和Key_reads,可以知道key_buffer_size設(shè)置是否合理
key_buffer_size = 32M#一個查詢語句包的最大尺寸。消息緩沖區(qū)被初始化為net_buffer_length字節(jié),但是可在需要時增加到max_allowed_packet個字節(jié)。
#該值太小則會在處理大包時產(chǎn)生錯誤。如果使用大的BLOB列,必須增加該值。
#這個值來限制server接受的數(shù)據(jù)包大小。有時候大的插入和更新會受max_allowed_packet 參數(shù)限制,導(dǎo)致寫入或者更新失敗。
max_allowed_packet = 512M#線程盞;主要用來存放每一個線程自身的標(biāo)識信息,如線程id,線程運行時基本信息等等,我們可以通過 thread_stack 參數(shù)來設(shè)置為每一個線程棧分配多大的內(nèi)存。
thread_stack = 256K#是MySQL執(zhí)行排序使用的緩沖大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。
#如果不能,可以嘗試增加sort_buffer_size變量的大小。
sort_buffer_size = 16M#是MySQL讀入緩沖區(qū)大小。對表進行順序掃描的請求將分配一個讀入緩沖區(qū),MySQL會為它分配一段內(nèi)存緩沖區(qū)。read_buffer_size變量控制這一緩沖區(qū)的大小。
#如果對表的順序掃描請求非常頻繁,并且你認為頻繁掃描進行得太慢,可以通過增加該變量值以及內(nèi)存緩沖區(qū)大小提高其性能。
read_buffer_size = 16M#應(yīng)用程序經(jīng)常會出現(xiàn)一些兩表(或多表)Join【例如聯(lián)表查詢】的操作需求,MySQL在完成某些 Join 需求的時候(all/index join)
#為了減少參與Join的“被驅(qū)動表”的讀取次數(shù)以提高性能,需要使用到 Join Buffer 來協(xié)助完成 Join操作。
# 當(dāng) Join Buffer 太小,MySQL 不會將該 Buffer 存入磁盤文件,
# 而是先將Join Buffer中的結(jié)果集與需要 Join 的表進行 Join 操作,
# 然后清空 Join Buffer 中的數(shù)據(jù),繼續(xù)將剩余的結(jié)果集寫入此 Buffer 中,如此往復(fù)。
# 這勢必會造成被驅(qū)動表需要被多次讀取,成倍增加 IO 訪問,降低效率。
join_buffer_size = 16M#是MySQL的隨機讀緩沖區(qū)大小。當(dāng)按任意順序讀取行時(例如,按照排序順序),將分配一個隨機讀緩存區(qū)。進行排序查詢時,MySQL會首先掃描一遍該緩沖,以避免磁盤搜索,
#提高查詢速度,如果需要排序大量數(shù)據(jù),可適當(dāng)調(diào)高該值。但MySQL會為每個客戶連接發(fā)放該緩沖空間,所以應(yīng)盡量適當(dāng)設(shè)置該值,以避免內(nèi)存開銷過大。
read_rnd_buffer_size = 32M#通信緩沖區(qū)在查詢期間被重置到該大小。通常不要改變該參數(shù)值,但是如果內(nèi)存不足,可以將它設(shè)置為查詢期望的大小。
#(即,客戶發(fā)出的SQL語句期望的長度。如果語句超過這個長度,緩沖區(qū)自動地被擴大,直到max_allowed_packet個字節(jié)。)
net_buffer_length = 16K#當(dāng)對MyISAM表執(zhí)行repair table或創(chuàng)建索引時,用以緩存排序索引;設(shè)置太小時可能會遇到” myisam_sort_buffer_size is too small”
myisam_sort_buffer_size = 128M#默認8M,當(dāng)對MyISAM非空表執(zhí)行insert … select/ insert … values(…),(…)或者load data infile時,使用樹狀cache緩存數(shù)據(jù),每個thread分配一個;
#注:當(dāng)對MyISAM表load 大文件時,調(diào)大bulk_insert_buffer_size/myisam_sort_buffer_size/key_buffer_size會極大提升速度
bulk_insert_buffer_size = 32M#thread_cahe_size線程池,線程緩存。用來緩存空閑的線程,以至于不被銷毀,如果線程緩存在的空閑線程,需要重新建立新連接,
#則會優(yōu)先調(diào)用線程池中的緩存,很快就能響應(yīng)連接請求。每建立一個連接,都需要一個線程與之匹配。
thread_cache_size = 384#工作原理: 一個SELECT查詢在DB中工作后,DB會把該語句緩存下來,當(dāng)同樣的一個SQL再次來到DB里調(diào)用時,DB在該表沒發(fā)生變化的情況下把結(jié)果從緩存中返回給Client。
#在數(shù)據(jù)庫寫入量或是更新量也比較大的系統(tǒng),該參數(shù)不適合分配過大。而且在高并發(fā),寫入量大的系統(tǒng),建系把該功能禁掉。
query_cache_size = 0#決定是否緩存查詢結(jié)果。這個變量有三個取值:0,1,2,分別代表了off、on、demand。
query_cache_type = 0#它規(guī)定了內(nèi)部內(nèi)存臨時表的最大值,每個線程都要分配。(實際起限制作用的是tmp_table_size和max_heap_table_size的最小值。)
#如果內(nèi)存臨時表超出了限制,MySQL就會自動地把它轉(zhuǎn)化為基于磁盤的MyISAM表,存儲在指定的tmpdir目錄下
tmp_table_size = 1024M#獨立的內(nèi)存表所允許的最大容量.# 此選項為了防止意外創(chuàng)建一個超大的內(nèi)存表導(dǎo)致用盡所有的內(nèi)存資源.
max_heap_table_size = 512M#mysql打開最大文件數(shù)
open_files_limit = 10240#MySQL無論如何都會保留一個用于管理員(SUPER)登陸的連接,用于管理員連接數(shù)據(jù)庫進行維護操作,即使當(dāng)前連接數(shù)已經(jīng)達到了max_connections。
#因此MySQL的實際最大可連接數(shù)為max_connections+1;
#這個參數(shù)實際起作用的最大值(實際最大可連接數(shù))為16384,即該參數(shù)最大值不能超過16384,即使超過也以16384為準;
#增加max_connections參數(shù)的值,不會占用太多系統(tǒng)資源。系統(tǒng)資源(CPU、內(nèi)存)的占用主要取決于查詢的密度、效率等;
#該參數(shù)設(shè)置過小的最明顯特征是出現(xiàn)”Too many connections”錯誤;
max_connections = 2000#用來限制用戶資源的,0不限制;對整個服務(wù)器的用戶限制
max-user-connections = 0#max_connect_errors是一個MySQL中與安全有關(guān)的計數(shù)器值,它負責(zé)阻止過多嘗試失敗的客戶端以防止暴力破解密碼的情況。max_connect_errors的值與性能并無太大關(guān)系。
#當(dāng)此值設(shè)置為10時,意味著如果某一客戶端嘗試連接此MySQL服務(wù)器,但是失敗(如密碼錯誤等等)10次,則MySQL會無條件強制阻止此客戶端連接。
max_connect_errors = 100000#表描述符緩存大小,可減少文件打開/關(guān)閉次數(shù);
table_open_cache = 5120#interactive_time -- 指的是mysql在關(guān)閉一個交互的連接之前所要等待的秒數(shù)(交互連接如mysql gui tool中的連接
interactive_timeout = 86400#wait_timeout -- 指的是MySQL在關(guān)閉一個非交互的連接之前所要等待的秒數(shù)
wait_timeout = 86400#二進制日志緩沖大小
#InnoDB存儲引擎是支持事務(wù)的,實現(xiàn)事務(wù)需要依賴于日志技術(shù),為了性能,日志編碼采用二進制格式。
# 那如何記日志呢?有日志的時候,就直接寫磁盤?
#磁盤的效率是很低的,如果你用過Nginx,一般Nginx輸出access log都是要緩沖輸出的。因此,記錄二進制日志的時候,我們也需要考慮Cache
#但是Cache不是直接持久化,面臨安全性的問題——因為系統(tǒng)宕機時,Cache中可能有殘余的數(shù)據(jù)沒來得及寫入磁盤。因此,Cache要權(quán)衡,要恰到好處:
#既減少磁盤I/O,滿足性能要求;又保證Cache無殘留,及時持久化,滿足安全要求。
binlog_cache_size = 16M#開啟慢查詢
slow_query_log = true#慢查詢地址
slow_query_log_file = /usr/local/mysql/data/slow_query_log.log#MySQL能夠記錄執(zhí)行時間超過參數(shù)long_query_time 設(shè)置值的SQL語句,默認不記錄。
long_query_time = 1#記錄管理語句和沒有使用index的查詢記錄
log-slow-admin-statements
log-queries-not-using-indexes# 主從復(fù)制配置 *****************************************************
# *** Replication related settings ***#在復(fù)制方面的改進就是引進了新的復(fù)制技術(shù):基于行的復(fù)制。簡言之,這種新技術(shù)就是關(guān)注表中發(fā)生變化的記錄,而非以前的照抄 binlog 模式。
#從 MySQL 5.1.12 開始,可以用以下三種模式來實現(xiàn):
#基于SQL語句的復(fù)制(statement-based replication, SBR)
#基于行的復(fù)制(row-based replication, RBR)
#混合模式復(fù)制(mixed-based replication, MBR)。
#相應(yīng)地,binlog的格式也有三種:STATEMENT,ROW,MIXED。
#注意 MBR模式中,SBR模式是默認的。
binlog_format = ROW# 為每個session 最大可分配的內(nèi)存,在事務(wù)過程中用來存儲二進制日志的緩存。
#max_binlog_cache_size = 102400#開啟二進制日志功能,binlog數(shù)據(jù)位置
log-bin = /usr/local/mysql/data/binlog/mysql-binlog-bin-index = /usr/local/mysql/data/binlog/mysql-bin.index#relay-log日志記錄的是從服務(wù)器I/O線程將主服務(wù)器的二進制日志讀取過來記錄到從服務(wù)器本地文件,
#然后SQL線程會讀取relay-log日志的內(nèi)容并應(yīng)用到從服務(wù)器
relay-log = /usr/local/mysql/data/relay/mysql-relay-bin#binlog傳到備機被寫到relaylog里,備機的slave sql線程從relaylog里讀取然后應(yīng)用到本地。
relay-log-index = /usr/local/mysql/data/relay/mysql-relay-bin.index# *******************主要配置*********************
# 【主服務(wù)器配置】#服務(wù)端ID,用來高可用時做區(qū)分
server-id = 1# 不同步哪些數(shù)據(jù)庫
#binlog-ignore-db = mysql
#binlog-ignore-db = sys
#binlog-ignore-db = binlog
#binlog-ignore-db = relay
#binlog-ignore-db = tmp
#binlog-ignore-db = test
#binlog-ignore-db = information_schema
#binlog-ignore-db = performance_schema# 只同步哪些數(shù)據(jù)庫,除此之外,其他不同步
#binlog-do-db = game# 【從服務(wù)器配置】#服務(wù)端ID,用來高可用時做區(qū)分
#server-id = 2# 不同步哪些數(shù)據(jù)庫
#replicate-ignore-db = mysql
#replicate-ignore-db = sys
#replicate-ignore-db = relay
#replicate-ignore-db = tmp
#replicate-ignore-db = test
#replicate-ignore-db = information_schema
#replicate-ignore-db = performance_schema# 只同步哪些數(shù)據(jù)庫,除此之外,其他不同步
#replicate-do-db = game# *******************主要配置*********************#log_slave_updates是從服務(wù)器將從主服務(wù)器收到的更新記入到從服務(wù)器自己的二進制日志文件中。
log_slave_updates = 1#二進制日志自動刪除的天數(shù)。默認值為0,表示“沒有自動刪除”。啟動時和二進制日志循環(huán)時可能刪除。
expire-logs-days = 15#如果二進制日志寫入的內(nèi)容超出給定值,日志就會發(fā)生滾動。你不能將該變量設(shè)置為大于1GB或小于4096字節(jié)。 默認值是1GB。
max_binlog_size = 128M#replicate-wild-ignore-table參數(shù)能同步所有跨數(shù)據(jù)庫的更新,比如replicate-do-db或者replicate-ignore-db不會同步類似
#replicate-wild-ignore-table = mysql.%#設(shè)定需要復(fù)制的Table
#replicate-wild-do-table = db_name.%#復(fù)制時跳過一些錯誤;不要胡亂使用這些跳過錯誤的參數(shù),除非你非常確定你在做什么。當(dāng)你使用這些參數(shù)時候,MYSQL會忽略那些錯誤,
#這樣會導(dǎo)致你的主從服務(wù)器數(shù)據(jù)不一致。
#slave-skip-errors = 1062,1053,1146#這兩個參數(shù)一般用在主主同步中,用來錯開自增值, 防止鍵值沖突
auto_increment_offset = 1
auto_increment_increment = 2#將中繼日志的信息寫入表:mysql.slave_realy_log_info
relay_log_info_repository = TABLE#將master的連接信息寫入表:mysql.salve_master_info
master_info_repository = TABLE#中繼日志自我修復(fù);當(dāng)slave從庫宕機后,假如relay-log損壞了,導(dǎo)致一部分中繼日志沒有處理,則自動放棄所有未執(zhí)行的relay-log,
#并且重新從master上獲取日志,這樣就保證了relay-log的完整性
relay_log_recovery = on
# 主從復(fù)制配置結(jié)束 *****************************************************# *** innodb setting ***
#InnoDB 用來高速緩沖數(shù)據(jù)和索引內(nèi)存緩沖大小。 更大的設(shè)置可以使訪問數(shù)據(jù)時減少磁盤 I/O。
innodb_buffer_pool_size = 128M#單獨指定數(shù)據(jù)文件的路徑與大小
innodb_data_file_path = ibdata1:10M:autoextend#每次commit 日志緩存中的數(shù)據(jù)刷到磁盤中。通常設(shè)置為 1,意味著在事務(wù)提交前日志已被寫入磁盤, 事務(wù)可以運行更長以及服務(wù)崩潰后的修復(fù)能力。
#如果你愿意減弱這個安全,或你運行的是比較小的事務(wù)處理,可以將它設(shè)置為 0 ,以減少寫日志文件的磁盤 I/O。這個選項默認設(shè)置為 0。
innodb_flush_log_at_trx_commit = 2#sync_binlog=n,當(dāng)每進行n次事務(wù)提交之后,MySQL將進行一次fsync之類的磁盤同步指令來將binlog_cache中的數(shù)據(jù)強制寫入磁盤。
#sync_binlog = 1000#對于多核的CPU機器,可以修改innodb_read_io_threads和innodb_write_io_threads來增加IO線程,來充分利用多核的性能
innodb_read_io_threads = 8
innodb_write_io_threads = 8#限制Innodb能打開的表的數(shù)量
innodb_open_files = 1000#開始碎片回收線程。這個應(yīng)該能讓碎片回收得更及時而且不影響其他線程的操作
innodb_purge_threads = 1#InnoDB 將日志寫入日志磁盤文件前的緩沖大小。理想值為 1M 至 8M。大的日志緩沖允許事務(wù)運行時不需要將日志保存入磁盤而只到事務(wù)被提交(commit)。
#因此,如果有大的事務(wù)處理,設(shè)置大的日志緩沖可以減少磁盤I/O。
innodb_log_buffer_size = 8M#日志組中的每個日志文件的大小(單位 MB)。如果 n 是日志組中日志文件的數(shù)目,那么理想的數(shù)值為 1M 至下面設(shè)置的緩沖池(buffer pool)大小的 1/n。較大的值,
#可以減少刷新緩沖池的次數(shù),從而減少磁盤 I/O。但是大的日志文件意味著在崩潰時需要更長的時間來恢復(fù)數(shù)據(jù)。
innodb_log_file_size = 128M#指定有三個日志組
innodb_log_files_in_group = 3#在回滾(rooled back)之前,InnoDB 事務(wù)將等待超時的時間(單位 秒)
#innodb_lock_wait_timeout = 120#innodb_max_dirty_pages_pct作用:控制Innodb的臟頁在緩沖中在那個百分比之下,值在范圍1-100,默認為90.這個參數(shù)的另一個用處:
#當(dāng)Innodb的內(nèi)存分配過大,致使swap占用嚴重時,可以適當(dāng)?shù)臏p小調(diào)整這個值,使達到swap空間釋放出來。建義:這個值最大在90%,最小在15%。
#太大,緩存中每次更新需要致?lián)Q數(shù)據(jù)頁太多,太小,放的數(shù)據(jù)頁太小,更新操作太慢。
innodb_max_dirty_pages_pct = 75#innodb_buffer_pool_size 一致 可以開啟多個內(nèi)存緩沖池,把需要緩沖的數(shù)據(jù)hash到不同的緩沖池中,這樣可以并行的內(nèi)存讀寫。
innodb_buffer_pool_instances = 4#這個參數(shù)據(jù)控制Innodb checkpoint時的IO能力
innodb_io_capacity = 500#作用:使每個Innodb的表,有自已獨立的表空間。如刪除文件后可以回收那部分空間。
#分配原則:只有使用不使用。但DB還需要有一個公共的表空間。
innodb_file_per_table = 1#當(dāng)更新/插入的非聚集索引的數(shù)據(jù)所對應(yīng)的頁不在內(nèi)存中時(對非聚集索引的更新操作通常會帶來隨機IO),會將其放到一個insert buffer中, #當(dāng)隨后頁面被讀到內(nèi)存中時,會將這些變化的記錄merge到頁中。當(dāng)服務(wù)器比較空閑時,后臺線程也會做merge操作
innodb_change_buffering = inserts#該值影響每秒刷新臟頁的操作,開啟此配置后,刷新臟頁會通過判斷產(chǎn)生重做日志的速度來判斷最合適的刷新臟頁的數(shù)量;
innodb_adaptive_flushing = 1#數(shù)據(jù)庫事務(wù)隔離級別 ,讀取提交內(nèi)容
transaction-isolation = READ-COMMITTED#innodb_flush_method這個參數(shù)控制著innodb數(shù)據(jù)文件及redo log的打開、刷寫模式
#InnoDB使用O_DIRECT模式打開數(shù)據(jù)文件,用fsync()函數(shù)去更新日志和數(shù)據(jù)文件。
innodb_flush_method = fsync#默認設(shè)置值為1.設(shè)置為0:表示Innodb使用自帶的內(nèi)存分配程序;設(shè)置為1:表示InnoDB使用操作系統(tǒng)的內(nèi)存分配程序。
#innodb_use_sys_malloc = 1[mysqldump]
#它強制 mysqldump 從服務(wù)器查詢?nèi)〉糜涗浿苯虞敵龆皇侨〉盟杏涗浐髮⑺鼈兙彺娴絻?nèi)存中
quick#限制server接受的數(shù)據(jù)包大小;指代mysql服務(wù)器端和客戶端在一次傳送數(shù)據(jù)包的過程當(dāng)中數(shù)據(jù)包的大小
max_allowed_packet = 512M#TCP/IP和套接字通信緩沖區(qū)大小,創(chuàng)建長度達net_buffer_length的行
net_buffer_length = 16384[mysql]
#auto-rehash是自動補全的意思
auto-rehash[isamchk]
#isamchk數(shù)據(jù)檢測恢復(fù)工具
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M[myisamchk]
#使用myisamchk實用程序來獲得有關(guān)你的數(shù)據(jù)庫桌表的信息、檢查和修復(fù)他們或優(yōu)化他們
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M[mysqlhotcopy]
#mysqlhotcopy使用lock tables、flush tables和cp或scp來快速備份數(shù)據(jù)庫.它是備份數(shù)據(jù)庫或單個表最快的途徑,完全屬于物理備份,但只能用于備份MyISAM存儲引擎和運行在數(shù)據(jù)庫目錄所在的機器上.
#與mysqldump備份不同,mysqldump屬于邏輯備份,備份時是執(zhí)行的sql語句.使用mysqlhotcopy命令前需要要安裝相應(yīng)的軟件依賴包.
interactive-timeout
總結(jié)
以上是生活随笔為你收集整理的MySQL配置文件详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 建立ssh隧道_SSH基础
- 下一篇: 计算机硬件基础大纲,计算机硬件基础教学大