mysql中my.cnf文件_MySQL中my.cnf文件选项
MySQL中my.cnf文件選項
mysqld服務器維護兩種變量。全局變量影響服務器的全局操作。會話變量影響具體客戶端連接相關操作。
可以在選項文件或命令行中設置全局變量。
用Set命令設置會話變量,當然它也可以設置全局變量。
就像oracle里面的初始化參數文件一樣。下面是一些常用的選項說明,MySQL的管方文檔上也有。
如
mysql> SET GLOBAL sort_buffer_size = 10 1024 1024;
mysql> SET SESSION sort_buffer_size = 10 1024 1024;
如果你想用SET語句限制系統變量可設的最大值,可以在服務器啟動時通過–maximum-var_name形式的選項來指定。
例如,要想防止query_cache_size的值運行時超過32MB,使用選項–maximum-query_cache_size=32M。
mysqld_safe選項
–basedir=path
MySQL安裝目錄的路徑。
–core-file-size
mysqld能夠創建的內核文件的大小。選項值傳遞給ulimit -c。
–datadir=path
數據目錄的路徑。
–defaults-file=path
讀取的代替通用選項文件的選項文件名。如果給出,必須首選該選項。
–log-error=path
將錯誤日志寫入給定的文件。
-nice=priority
使用nice程序根據給定值來設置服務器的調度優先級。
–open-files-limit=count
mysqld能夠打開的文件的數量。選項值傳遞給 ulimit -n。請注意你需要用root啟動mysqld_safe來保證正確工作!
–pid-file=path
進程ID文件的路徑。
–port=port_num
用來幀聽TCP/IP連接的端口號。端口號必須為1024或更大值,除非MySQL以root系統用戶運行。
每個mysqld的Unix套接字文件和TCP/IP端口號必須不同。
–ledir=path
包含mysqld程序的目錄的路徑。使用該選項來顯式表示服務器位置。
–no-defaults
不要讀任何選項文件。如果給出,必須首選該選項。
–skip-character-set-client-handshake
忽略客戶端發送的字符集信息,使用服務器的默認字符集。
–socket=path
用于本地連接的Unix套接字文件。
每個mysqld的Unix套接字文件和TCP/IP端口號必須不同。
–timezone=zone
為給定的選項值設置TZ時區環境變量。
–user={user_name | user_id}
以用戶名user_name或數字用戶ID user_id運行mysqld服務器。
該”用戶”指系統登錄賬戶,而不是 授權表中的MySQL用戶。
mysqld命令行選項
mysqld從[mysqld]和[server]組讀取選項
–ansi
使用標準(ANSI)SQL語法代替MySQL語法。
–basedir=path, -b path
MySQL安裝目錄的路徑。通常所有路徑根據該路徑來解析。
–bootstrap
mysql_install_db腳本使用該選項來創建MySQL授權表,不需要啟動MySQL服務器
–console
將錯誤日志消息寫入stderr和stdout,即使指定了–log-error。
–character_sets_dir=path
字符集安裝的目錄。
–chroot=path
通過chroot()系統調用在啟動過程中將mysqld服務器放入一個封閉環境中。這是推薦的一個安全措施。請注意使用該選項可以 限制LOAD DATA INFILE和SELECT … INTO OUTFILE。
–character_set_server=charset
使用charset作為 默認服務器字符集。
–core_file
如果mysqld終止,寫內核文件。
–datadir=path, -h path
數據目錄的路徑。
–default_table_type=type
設置表的默認類型。
–debug[=debug_options], -# [debug_options]
如果MySQL配置了–with-debug,你可以使用該選項來獲得一個跟蹤文件,跟蹤mysqld正進行的操作。debug_options字符串通常為’d:t:o,file_name’。
–default_time_zone=type
設置默認服務器時區。該選項設置全局time_zone系統變量。默認時區與系統時區相同(用system_time_zone系統變量值給定)
–delay_key_write[= OFF | ON | ALL]
如何使用DELAYED KEYS選項。鍵寫入延遲會造成再次寫MyISAM表時鍵緩沖區不能被清空。該選項只適用MyISAM表。
OFF DELAY_KEY_WRITE被忽略。
ON MySQL在CREATE TABLE中用DELAY_KEY_WRITE選項。這是 默認值。
ALL 用啟用DELAY_KEY_WRITE選項創建表的相同方法對所有新打開表的進行處理。
如果啟用了DELAY_KEY_WRITE,說明使用該項的表的鍵緩沖區在每次更新索引時不被清空,只有關閉表時才清空。
但如果你使用該特性,你應用–myisam_recover選項啟動服務器,為所有MyISAM表添加自動檢查。
–external_locking
用系統鎖定。請注意如果你在lockd不能完全工作的系統上使用該選項(例如在Linux中),mysqld容易死鎖。
如果你在許多MySQL進程中使用該選項來更新MyISAM表,你必須確保滿足下述條件:
使用正被另一個進程更新的表的查詢的緩存不可使用。
不應在共享表中使用–delay-key-write=ALL或DELAY_KEY_WRITE=1。
最簡單的方法是結合使用–external-locking和–delay-key-write=OFF –query-cache-size=0。
(默認不能實現,因為在許多設置中,結合使用上述選項很有用)。
–flush
執行SQL語句后向硬盤上清空更改。一般情況執行SQL語句后 MySQL向硬盤寫入所有更改,讓操作系統處理與硬盤的同步。
–init_file=file
啟動時從該文件讀SQL語句。每個語句必須在同一行中并且不應包括注釋。
–language=lang_name, -L lang_name
用給定語言給出客戶端錯誤消息。默認情況下,mysqld用英語給出錯誤消息。
–large_pages
一些硬件/操作系統架構支持大于 默認值(通常4 KB)的內存頁。實際支持取決于使用的硬件和OS。
大量訪問內存的應用程序通過 使用較大的頁,降低了Translation Lookaside Buffer (TLB)損失,可以改善性能。
默認情況下該選項被禁用。
—log[=file], -l [file]
如果你想要知道mysqld內部發生了什么,你應該用–log[=file_name]或-l [file_name]選項啟動它。如果沒有給定file_name的值, 默認名是host_name.log。所有連接和語句被記錄到日志文件。當你懷疑在客戶端發生了錯誤并想確切地知道該客戶端發送給mysqld的語句時,該日志可能非常有用。
mysqld按照它接收的順序記錄語句到查詢日志。這可能與執行的順序不同。
–log_bin=[file]
二進制日志文件。將更改數據的所有查詢記入該文件。用于備份和復制。
建議指定一個文件名,否則MySQL使用host_name-bin作為日志文件基本名。
運行服務器時若啟用二進制日志則性能大約慢1%。
–binlog_do_db=db_name
告訴主服務器,如果當前的數據庫(即USE選定的數據庫)是db_name,應將更新記錄到二進制日志中。
–binlog_ignore_db=db_name
告訴主服務器,如果當前的數據庫(即USE選定的數據庫)是db_name,不應將更新保存到二進制日志中。
–log_error[=file]
該文件的日志錯誤和啟動消息.
如果你不指定文件名,MySQL使用host_name.err作為文件名。如果文件名沒有擴展名,則加上.err擴展名。
–log_isam[=file]
將所有MyISAM更改記入該文件
–log_slow_queries[=file]
將所有執行時間超過long_query_time 秒的查詢記入該文件。
–log_warnings, -W
將警告例如Aborted connection…打印到錯誤日志。建議啟用該選項,默認也是啟用的。
–memlock
將mysqld 進程鎖定在內存中。請注意使用該選項時需要以root運行服務器,但從安全考慮并不是一個好注意。
–myisam_recover [=option[,option…]]]
存儲引擎MyISAM設置為恢復模式。該選項值是DEFAULT、BACKUP、FORCE或QUICK值的任何組合。
如果你指定多個值,用逗號
總結
以上是生活随笔為你收集整理的mysql中my.cnf文件_MySQL中my.cnf文件选项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交易所摘牌是什么意思
- 下一篇: 教你如何给心爱的坦克选择配件坦克世界