mysql設置裝備擺設模板(my-*.cnf)參數具體解釋。本站提示廣大學習愛好者:(mysql設置裝備擺設模板(my-*.cnf)參數具體解釋)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql設置裝備擺設模板(my-*.cnf)參數具體解釋正文
mysql裝置勝利後有幾個默許的設置裝備擺設模板,列表以下:
my-huge.cnf : 用於高端產物辦事器,包含1到2GB RAM,重要運轉mysql
my-innodb-heavy-4G.ini : 用於只要innodb的裝置,最多有4GB RAM,支撐年夜的查詢和低流量
my-large.cnf : 用於中等范圍的產物辦事器,包含年夜約512M RAM
my-medium.cnf : 用於低端產物辦事器,包含很少內存(少於128M)
my-small.cnf : 用於最低裝備的辦事器,只要一點內存(少於512M)
my.cnf詳細的設置裝備擺設解釋以下:
basedir = path 應用給定目次作為根目次(裝置目次)。 character-sets-dir = path 給出寄存著字符集的目次。 datadir = path 從給定目次讀取數據庫文件。 pid-file = filename 為mysqld法式指定一個寄存過程ID的文件(僅實用於UNIX/Linux體系); Init-V劇本須要應用這個文件裡的過程ID停止mysqld過程。 socket = filename 為MySQL客戶法式與辦事器之間的當地通訊指定一個套接字文件(僅實用於UNIX/Linux體系; 默許設置普通是/var/lib/mysql/mysql.sock文件)。在Windows情況下,假如MySQL客戶與辦事器是經由過程定名管道停止通訊 的,–sock選項給出的將是該定名管道的名字(默許設置是MySQL)。 lower_case_table_name = 1/0 新目次和數據表的名字能否只許可應用小寫字母; 這個選項在Windows情況下的默許設置是1(只許可應用小寫字母)。
mysqld法式:說話設置
character-sets-server = name 新數據庫或數據表的默許字符集。為了與MySQL的晚期版本堅持兼容,這個字符集也能夠用–default-character-set選項給出; 但這個選項曾經顯得有點過時了。 collation-server = name 新數據庫或數據表的默許排序方法。 lanuage = name 用指定的說話顯示失足信息。
mysqld法式:通訊、收集、信息平安
enable-named-pipes 許可Windows 2000/XP情況下的客戶和辦事器應用定名管道(named pipe)停止通訊。這個定名管道的默許名字是MySQL,但可以用–socket選項來轉變。 local-infile [=0] 許可/制止應用LOAD DATA LOCAL語句來處置當地文件。 myisam-recover [=opt1, opt2, ...] 在啟動時主動修復一切受損的MyISAM數據表。這個選項的可取值有4種:DEFAULT、BACKUP、QUICK和FORCE; 它們與myisamchk法式的同名選項感化雷同。 old-passwords 應用MySQL 3.23和4.0版本中的老算法來加密mysql數據庫裡的暗碼(默許應用MySQL 4.1版本開端引入的新加密算法)。 port = n 為MySQL法式指定一個TCP/IP通訊端口(平日是3306端口)。 safe-user-create 只要在mysql.user數據庫表上具有INSERT權限的用戶能力應用GRANT敕令; 這是一種雙保險機制(此用戶還必需具有GRANT權限能力履行GRANT敕令)。 shared-memory 許可應用內存(shared memory)停止通訊(僅實用於Windows)。 shared-memory-base-name = name 給同享內存塊起一個名字(默許的名字是MySQL)。 skip-grant-tables 不應用mysql數據庫裡的信息來停止拜訪掌握(正告:這將許可用戶任何用戶去修正任何數據庫)。 skip-host-cache 不應用高速緩存區來寄存主機名和IP地址的對應關系。 skip-name-resovle 不把IP地址解析為主機名; 與拜訪掌握(mysql.user數據表)有關的檢討全體經由過程IP地址行進。 skip-networking 只許可經由過程一個套接字文件(Unix/Linux體系)或經由過程定名管道(Windows體系)停止當地銜接,不許可ICP/IP銜接; 這進步了平安性,但阻斷了來自收集的內部銜接和一切的Java客戶法式(Java客戶即便在當地銜接裡也應用TCP/IP)。 user = name mysqld法式在啟動後將在給定UNIX/Linux賬戶下履行; mysqld必需從root賬戶啟動能力在啟動後切換到另外一個賬戶下履行; mysqld_safe劇本將默許應用–user=mysql選項來啟動mysqld法式。
mysqld法式:內存治理、優化、查詢緩存區
bulk_insert_buffer_size = n 為一次拔出多條新記載的INSERT敕令分派的緩存區長度(默許設置是8M)。 key_buffer_size = n 用來寄存索引區塊的RMA值(默許設置是8M)。 join_buffer_size = n 在加入JOIN操作的數據列沒有索引時為JOIN操作分派的緩存區長度(默許設置是128K)。 max_heap_table_size = n HEAP數據表的最年夜長度(默許設置是16M); 跨越這個長度的HEAP數據表將被存入一個暫時文件而不是駐留在內存裡。 max_connections = n MySQL辦事器同時處置的數據庫銜接的最年夜數目(默許設置是100)。 query_cache_limit = n 許可暫時寄存在查詢緩存區裡的查詢成果的最年夜長度(默許設置是1M)。 query_cache_size = n 查詢緩存區的最年夜長度(默許設置是0,不開拓查詢緩存區)。 query_cache_type = 0/1/2 查詢緩存區的任務形式:0, 禁用查詢緩存區; 1,啟用查詢緩存區(默許設置); 2,”按需分派”形式,只呼應SELECT SQL_CACHE敕令。 read_buffer_size = n 為從數據表次序讀取數據的讀操作保存的緩存區的長度(默許設置是128KB); 這個選項的設置值在需要時可以用SQL敕令SET SESSION read_buffer_size = n敕令加以轉變。 read_rnd_buffer_size = n 相似於read_buffer_size選項,但針對的是按某種特定次序(好比應用了ORDER BY子句的查詢)輸入的查詢成果(默許設置是256K)。 sore_buffer = n 為排序操作分派的緩存區的長度(默許設置是2M); 假如這個緩存區太小,則必需創立一個暫時文件來停止排序。 table_cache = n 同時翻開的數據表的數目(默許設置是64)。 tmp_table_size = n 暫時HEAP數據表的最年夜長度(默許設置是32M); 跨越這個長度的暫時數據表將被轉換為MyISAM數據表並存入一個暫時文件。
mysqld法式:日記
log [= file] 把一切的銜接和一切的SQL敕令記入日記(通用查詢日記); 假如沒有給出file參數,MySQL將在數據庫目次裡創立一個hostname.log文件作為這類日記文件(hostname是辦事器的主機名)。 log-slow-queries [= file] 把履行用時跨越long_query_time變量值的查詢敕令記入日記(慢查詢日記); 假如沒有給出file參數,MySQL將在數據庫目次裡創立一個hostname-slow.log文件作為這類日記文件(hostname是辦事器主機 名)。 long_query_time = n 慢查詢的履行用時下限(默許設置是10s)。 long_queries_not_using_indexs 把慢查詢和履行時沒有應用索引的查詢敕令全都記入日記(其他同–log-slow-queries選項)。 log-bin [= filename] 把對數據停止修正的一切SQL敕令(也就是INSERT、UPDATE和DELETE敕令)以二進制格局記入日記(二進制變革日記,binary update log)。這類日記的文件名是filename.n或默許的hostname.n,個中n是一個6位數字的整數(日記文件按次序編號)。 log-bin-index = filename 二進制日記功效的索引文件名。在默許情形下,這個索引文件與二進制日記文件的名字雷同,但後綴名是.index而不是.nnnnnn。 max_binlog_size = n 二進制日記文件的最年夜長度(默許設置是1GB)。在前一個二進制日記文件裡的信息量跨越這個最年夜長度之前,MySQL辦事器會主動供給一個新的二進制日記文件接續上。 binlog-do-db = dbname 只把給定命 據庫裡的變更情形記入二進制日記文件,其他數據庫裡的變更情形不記錄。假如須要記錄多個數據庫裡的變更情形,就必需在設置裝備擺設文件應用多個本選項來設置,每一個數據庫一行。 binlog-ignore-db = dbname 不把給定命據庫裡的變更情形記入二進制日記文件。 sync_binlog = n 每經由n第二天志寫操作就把日記文件寫入硬盤一次(對日記信息停止一次同步)。n=1是最平安的做法,但效力最低。默許設置是n=0,意思是由操作體系來擔任二進制日記文件的同步任務。 log-update [= file] 記錄失足情形的日記文件名(失足日記)。這類日記功效沒法禁用。假如沒有給出file參數,MySQL會應用hostname.err作為種日記文件的名字。
mysqld法式:鏡像(主控鏡像辦事器)
server-id = n 給辦事器分派一個舉世無雙的ID編號; n的取值規模是1~2的32次方啟用二進制日記功效。 log-bin = name 啟用二進制日記功效。這類日記的文件名是filename.n或默許的hostname.n,個中的n是一個6位數字的整數(日記文件次序編號)。 binlog-do/ignore-db = dbname 只把給定命據庫裡的變更情形記入二進制日記文件/不把給定的數據庫裡的變更記入二進制日記文件。
mysqld法式:鏡像(附屬鏡像辦事器)
server-id = n 給辦事器分派一個獨一的ID編號 log-slave-updates 啟用附屬辦事器上的日記功效,使這台盤算機可以用來組成一個鏡像鏈(A->B->C)。 master-host = hostname 主控辦事器的主機名或IP地址。假如附屬辦事器上存在mater.info文件(鏡像關系界說文件),它將疏忽此選項。 master-user = replicusername 附屬辦事器用來銜接主控辦事器的用戶名。假如附屬辦事器上存在mater.info文件,它將疏忽此選項。 master-password = passwd 附屬辦事器用來銜接主控辦事器的暗碼。假如附屬辦事器上存在mater.info文件,它將疏忽此選項。 master-port = n 附屬辦事器用來銜接主控辦事器的TCP/IP端口(默許設置是3306端口)。 master-connect-retry = n 假如與主控辦事器的銜接沒有勝利,則期待n秒(s)後再停止治理方法(默許設置是60s)。假如附屬辦事器存在mater.info文件,它將疏忽此選項。 master-ssl-xxx = xxx 對主、從辦事器之間的SSL通訊停止設置裝備擺設。 read-only = 0/1 0: 許可附屬辦事器自力地履行SQL敕令(默許設置); 1: 附屬辦事器只能履行來自立控辦事器的SQL敕令。 read-log-purge = 0/1 1: 把處置完的SQL敕令連忙從中繼日記文件裡刪除(默許設置); 0: 不把處置完的SQL敕令連忙從中繼日記文件裡刪除。 replicate-do-table = dbname.tablename 與–replicate-do-table選項的寄義和用法雷同,但數據庫和數據庫表名字裡許可湧現通配符”%” (例如: test%.%–對名字以”test”開首的一切數據庫裡的所以數據庫表停止鏡像處置)。
replicate-do-db = name 只對這個數據庫停止鏡像處置。 replicate-ignore-table = dbname.tablename 纰謬這個數據表停止鏡像處置。 replicate-wild-ignore-table = dbn.tablen 纰謬這些數據表停止鏡像處置。 replicate-ignore-db = dbname 纰謬這個數據庫停止鏡像處置。 replicate-rewrite-db = db1name > db2name 把主控數據庫上的db1name數據庫鏡像處置為附屬辦事器上的db2name數據庫。 report-host = hostname 附屬辦事器的主機名; 這項信息只與SHOW SLAVE HOSTS敕令有關–主控辦事器可以用這條敕令生成一份附屬辦事器的名單。 slave-compressed-protocol = 1 主、從辦事器應用緊縮格局停止通訊–假如它們都支撐這麼做的話。 slave-skip-errors = n1, n2, …或all 即便產生失足代碼為n1、n2等的毛病,鏡像處置任務也持續停止(即不論產生甚麼毛病,鏡像處置任務也持續停止)。假如設置裝備擺設適合,附屬辦事器不該 該在履行 SQL敕令時產生毛病(在主控辦事器上履行失足的SQL敕令不會被發送到附屬辦事器上做鏡像處置); 假如不應用slave-skip-errors選項,附屬辦事器上的鏡像任務便可能由於產生毛病而中止,中止後須要有人工介入能力持續停止。mysqld–InnoDB:根本設置、表空間文件
skip-innodb 不加載InnoDB數據表驅動法式–假如用不著InnoDB數據表,可以用這個選項節儉一些內存。 innodb-file-per-table 為每個新數據表創立一個表空間文件而不是把數據表都集中保留在中心表空間裡(後者是默許設置)。該選項始見於MySQL 4.1。 innodb-open-file = n InnoDB數據表驅動法式最多可以同時翻開的文件數(默許設置是300)。假如應用了innodb-file-per-table選項而且須要同時翻開許多數據表的話,這個數字極可能須要加年夜。 innodb_data_home_dir = p InnoDB主目次,一切與InnoDB數據表有關的目次或文件途徑都絕對於這個途徑。在默許的情形下,這個主目次就是MySQL的數據目次。 innodb_data_file_path = ts 用來包容InnoDB為數據表的表空間: 能夠觸及一個以上的文件; 每個表空間文件的最年夜長度都必需以字節(B)、兆字節(MB)或千兆字節(GB)為單元給出; 表空間文件的名字必需以分號離隔; 最初一個表空間文件還可以帶一個autoextend屬性和一個最年夜長度(max:n)。例如,ibdata1:1G; ibdata2:1G:autoextend:max:2G的意思是: 表空間文件ibdata1的最年夜長度是1GB,ibdata2的最年夜長度也是1G,但許可它擴大到2GB。除文件名外,還可以用硬盤分區的設置名來界說表 空間,此時必需給表空間的最年夜初始長度值加上newraw症結字做後綴,給表空間的最年夜擴大長度值加上raw症結字做後綴(例如/dev/hdb1: 20Gnewraw或/dev/hdb1:20Graw); MySQL 4.0及更高版本的默許設置是ibdata1:10M:autoextend。 innodb_autoextend_increment = n 帶有autoextend屬性的表空間文件每次加年夜若干兆字節(默許設置是8MB)。這個屬性不觸及詳細的數據表文件,那些文件的增年夜速度絕對是比擬小的。 innodb_lock_wait_timeout = n 假如某個事務在期待n秒(s)後還沒有取得所須要的資本,就應用ROLLBACK敕令廢棄這個事務。這項設置關於發明和處置未能被InnoDB數據表驅動 法式辨認出來的逝世鎖前提有側重要的意義。這個選項的默許設置是50s。 innodb_fast_shutdown 0/1 能否以最快的速度封閉InnoDB,默許設置是1,意思是不把緩存在INSERT緩存區的數據寫入數據表,那些數據將在MySQL辦事器下次啟動 時再寫入 (這麼做沒有甚麼風險,由於INSERT緩存區是表空間的一個構成部門,數據不會喪失)。把這個選項設置為0不和風險,由於在盤算機封閉時,InnoDB 驅動法式極可能沒有足夠的時光完成它的數據同步任務,操作體系或許會在它完成數據同步任務之前強行停止InnoDB,而這會招致數據不完全。
mysqld法式:InnoDB–日記
innodb_log_group_home_dir = p 用來寄存InnoDB日記文件的目次途徑(如ib_logfile0、ib_logfile1等)。在默許的情形下,InnoDB驅動法式將應用 MySQL數據目次作為本身保留日記文件的地位。 innodb_log_files_in_group = n 應用若干個日記文件(默許設置是2)。InnoDB數據表驅動法式將以輪轉方法順次填寫這些文件; 當一切的日記文件都寫滿今後,以後的日記信息將寫入第一個日記文件的最年夜長度(默許設置是5MB)。這個長度必需以MB(兆字節)或GB(千兆字節)為單 位停止設置。 innodb_flush_log_at_trx_commit = 0/1/2 這個選項決議著甚麼時刻把日記信息寫入日記文件和甚麼時刻把這些文件物理地寫(術語稱為”同步”)到硬盤上。設置值0的意思是每隔一秒寫一第二天 志並停止 同步,這可以削減硬盤寫操作次數,但能夠形成數據喪失; 設置值1(設置設置)的意思是在每履行完一條COMMIT敕令就寫一第二天志並停止同步,這可以避免數據喪失,但硬盤寫操作能夠會很頻仍; 設置值2是普通調和的方法,即每履行完一條COMMIT敕令寫一第二天志,每隔一秒停止一次同步。 innodb_flush_method = x InnoDB日記文件的同步方法(僅實用於UNIX/Linux體系)。這個選項的可取值有兩種: fdatasync,用fsync()函數停止同步; O_DSYNC,用O_SYNC()函數停止同步。 innodb_log_archive = 1 啟用InnoDB驅動法式的archive(檔案)日記功效,把日記信息寫入ib_arch_log_n文件。啟用這類日記功效在InnoDB與 MySQL一路應用時沒有多年夜意義(啟用MySQL辦事器的二進制日記功效就足夠用了)。
mysqld法式–InnoDB:緩存區的設置和優化
innodb_log_buffer_pool_size = n 為InnoDB數據表及其索引而保存的RAM內存量(默許設置是8MB)。這個參數對速度有著相當年夜的影響,假如盤算機上只運轉有 MySQL/InnoDB數據庫辦事器,就應當把全體內存的80%用於這個用處。
innodb_log_buffer_size = n 事務日記文件寫操作緩存區的最年夜長度(默許設置是1MB)。 innodb_additional_men_pool_size = n 為用於外部治理的各類數據構造分派的緩存區最年夜長度(默許設置是1MB)。 innodb_file_io_threads = n I/O操作(硬盤寫操作)的最年夜線程個數(默許設置是4)。 innodb_thread_concurrency = n InnoDB驅動法式可以或許同時應用的最年夜線程個數(默許設置是8)。mysqld法式:其它選項
bind-address = ipaddr MySQL辦事器的IP地址。假如MySQL辦事器地點的盤算機有多個IP地址,這個選項將異常主要。 default-storage-engine = type 新數據表的默許數據表類型(默許設置是MyISAM)。這項設置還可以經由過程–default-table-type選項來設置。 default-timezone = name 為MySQL辦事器設置一個地輿時區(假如它與當地盤算機的地輿時區紛歧樣)。 ft_min_word_len = n 全文索引的最小單詞長度工。這個選項的默許設置是4,意思是在創立全文索引時不斟酌那些由3個或更少的字符構建單詞。 Max-allowed-packet = n 客戶與辦事器之間交流的數據包的最年夜長度,這個數字至多應當年夜於客戶法式將要處置的最年夜BLOB塊的長度。這個選項的默許設置是1MB。 Sql-mode = model1, mode2, … MySQL將運轉在哪種SQL形式下。這個選項的感化是讓MySQL與其他的數據庫體系堅持最年夜水平的兼容。這個選項的可取值包含ansi、db2、 oracle、no_zero_date、pipes_as_concat。
留意:假如在設置裝備擺設文件裡給出的某個選項是mysqld沒法辨認的,MySQL辦事器將不啟動。