Mysqld接受許多命令列選項

Michael_DD發表於2014-12-19
Mysqld接受許多命令列選項


? --help,-?
顯示簡短的幫助訊息並退出。使用--verbose和--help選項來看全部內容。

? --allow-suspicious-udfs
該選項控制是否使用者定義的函式只有一個xxx符,用作可載入的主函式。
預設情況下,該選項被關閉,只有至少有一個附屬符的UDF 可以載入。
這樣可以防止從未包含合法UDF的共享檔案裝載函式。參見27.2.3.6節,“使用者定義函式安全注意事項”。

? --ansi
使用標準(ANSI)SQL語法代替MySQL語法。參見1.8.3節,“在ANSI模式下執行MySQL”。使用--sql-mode選項可以更精確控制伺服器SQL模式。

? --basedir=path, -b path
MySQL安裝目錄的路徑。通常所有路徑根據該路徑來解析。

? --bind-address=IP
待繫結的IP地址。

? --bootstrap
mysql_install_db指令碼使用該選項來建立MySQL授權表,不需要啟動MySQL伺服器。

? --console
將錯誤日誌訊息寫入stderr和stdout,即使指定了--log-error。在Windows中,如果使用該選項,mysqld不關閉控制檯視窗。

? --character-sets-dir=path
字符集安裝的目錄。參見5.10.1節,“資料和排序用字符集”。

? --chroot=path
透過chroot()系統呼叫在啟動過程中將mysqld伺服器放入一個封閉環境中。這是推薦的一個安全措施。
請注意使用該選項可以限制LOAD DATA INFILE和SELECT ... INTO OUTFILE。

? --character-set-server=charset
使用charset作為 預設伺服器字符集。參見5.10.1節,“資料和排序用字符集”。

? --core-file
如果mysqld終止,寫核心檔案。在某些系統中,你還必須為mysqld_safe指定--core-file-size 選項。
參見5.1.3節,“mysqld_safe:MySQL伺服器啟動指令碼”。請注意對於一些系統,例如Solaris,如果你使用--user選項不會獲得核心檔案。

? --collation-server=collation
使用collation作為 預設伺服器校對規則。參見5.10.1節,“資料和排序用字符集”。

? --datadir=path, -h path
資料目錄的路徑。

? --debug[=debug_options], -# [debug_options]
如果MySQL配置了--with-debug,你可以使用該選項來獲得一個跟蹤檔案,跟蹤mysqld正進行的操作。
debug_options字串通常為'd:t:o,file_name'。參見E.1.2節,“建立跟蹤檔案”。

? (DEPRECATED) --default-character-set=charset
使用char設定作為 預設字符集。由於--character-set-server,反對使用該選項。參見5.10.1節,“資料和排序用字符集”。

? --default-collation=collation
使用collation 作為預設校對規則。由於--collation-server,反對使用該選項。參見5.10.1節,“資料和排序用字符集”。

? --default-storage-engine=type
該選項為--default-table-type的同義詞。

? --default-table-type=type
設定表的預設型別。參見第15章:儲存引擎和表型別。

? --default-time-zone=type
設定預設伺服器時區。該選項設定全域性time_zone系統變數。如果未給出該選項,預設時區與系統時區相同(用system_time_zone系統變數值給定)。

? --delay-key-write[= OFF | ON | ALL]
如何使用DELAYED KEYS選項。鍵寫入延遲會造成再次寫MyISAM表時鍵緩衝區不能被清空。OFF禁用延遲的鍵寫入。
ON啟用用DELAYED KEYS選項建立的表的延遲的鍵寫入。ALL延遲所有MyISAM表的鍵寫入。
參見7.5.2節,“調節伺服器引數”。參見15.1.1節,“MyISAM啟動選項”。
註釋:如果你將該變數設定為ALL,你不應從另一個正使用MyISAM表的程式中使用MyISAM表(例如從另一個MySQL伺服器或用myisamchk)。
這樣操作會導致索引破壞。

? --des-key-file=file_name
從該檔案讀DES_ENCRYPT()和DES_DECRYPT()使用的 預設鍵。

? --enable-named-pipe
啟用命名管道支援。該選項只適用Windows NT、2000、XP和2003系統,並且只適用支援命名管道連線的mysqld-nt和mysqld-max-nt伺服器。

? --exit-info[=flags], -T [flags]
這是不同標誌的一個位掩碼,你可以用來除錯mysqld伺服器。不要使用該選項,除非你確切知道它在做什麼!

? --external-locking
啟用系統鎖定。請注意如果你在lockd不能完全工作的系統上使用該選項(例如在Linux中),mysqld容易死鎖。該選項以前叫--enable-locking。
註釋:如果你在許多MySQL程式中使用該選項來更新MyISAM表,你必須確保滿足下述條件:①使用正被另一個程式更新的表的查詢的快取不可使用。
②不應在共享表中使用--delay-key-write=ALL或DELAY_KEY_WRITE=1。
最簡單的方法是結合使用--external-locking和--delay-key-write=OFF --query-cache-size=0。
(預設不能實現,因為在許多設定中,結合使用上述選項很有用)。

? --flush
執行SQL語句後向硬碟上清空更改。一般情況執行SQL語句後 MySQL向硬碟寫入所有更改,讓作業系統處理與硬碟的同步。
參見A.4.2節,“如果MySQL依然崩潰,應作些什麼”。

? --init-file=file
啟動時從該檔案讀SQL語句。每個語句必須在同一行中並且不應包括註釋。

? --language=lang_name, -L lang_name
用給定語言給出客戶端錯誤訊息。lang_name可以為語言名或語言檔案安裝目錄的全路徑名。參見5.10.2節,“設定錯誤訊息語言”。

? --large-pages
一些硬體/作業系統架構支援大於 預設值(通常4 KB)的記憶體頁。實際支援取決於使用的硬體和OS。
大量訪問記憶體的應用程式透過使用較大的頁,降低了Translation Lookaside Buffer (TLB)損失,可以改善效能。
目前,MySQL只在Linux中支援大頁面(在Linux中被稱作HugeTLB)。我們已經計劃將該支援擴充套件到FreeBSD、Solaris和其它可能的平臺。
在Linux中可以使用大頁面前,需要配置HugeTLB記憶體池。參考Linux核心原始碼中的hugetlbpage.txt檔案。預設情況下該選項被禁用。

? ---log[=file], -l [file]
日誌連線和對檔案的查詢。參見5.11.2節,“通用查詢日誌”。如果你不指定檔名,MySQL使用host_name.log作為檔名。

? --log-bin=[file]
二進位制日誌檔案。將更改資料的所有查詢記入該檔案。
用於備份和複製。參見5.11.3節,“二進位制日誌”。
建議指定一個檔名(原因參見A.8.1節,“MySQL中的開啟事宜”),否則MySQL使用host_name-bin作為日誌檔案基本名。

? --log-bin-index[=file]
二進位制日誌檔名的索引檔案。參見5.11.3節,“二進位制日誌”。
如果你不指定檔名,並且如果你沒有在--log-bin中指定,MySQL使用host_namebin.index作為檔名。

? --log-bin-trust-routine-creators[={0|1}]
沒有引數或引數為1,該選項將系統變數log_bin_trust_routine_creators設定為1。
為引數 0時,該選項將系統變數設定為0。log_bin_trust_routine_creators影響MySQL如何對儲存的程式的建立強加限制。
參見20.4節,“儲存子程式和觸發程式的二進位制日誌功能”。

? --log-error[=file]
該檔案的日誌錯誤和啟動訊息。參見5.11.1節,“錯誤日誌”。如果你不指定檔名,MySQL使用host_name.err作為檔名。
如果檔名沒有副檔名,則加上.err副檔名。

? --log-isam[=file]
將所有MyISAM更改記入該檔案(只有除錯MyISAM時才使用)。

? (DEPRECATED) --log-long-format
記錄啟用的更新日誌、二進位制更新日誌、和慢查詢日誌的大量資訊。
例如,所有查詢的使用者名稱和時間戳將記錄下來。
不贊成選用該選項,因為它現在代表 預設記錄行為。
(參見--log-short-format描述)。--log-queries-not-using-indexes選項適合將未使用索引的查詢記錄到慢查詢日誌中。

? --log-queries-not-using-indexes
如果你結合--log-slow-queries使用該選項,未使用索引的查詢也被記錄到慢查詢日誌中。參見5.11.4節,“慢速查詢日誌”。

? --log-short-format
記錄啟用的更新日誌、二進位制更新日誌、和慢查詢日誌的少量資訊。例如,使用者名稱和時間戳不記錄下來。

? ---log-slow-admin-statements
將慢管理語句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE記入慢查詢日誌。

? --log-slow-queries[=file]
將所有執行時間超過long_query_time 秒的查詢記入該檔案。參見5.11.4節,“慢速查詢日誌”。
詳細資訊參見--log-long-format和--log-short-format選項描述。

? --log-warnings, -W
將警告例如Aborted connection...列印到錯誤日誌。
建議啟用該選項,例如,如果你使用複製 (你可以得到關於所發生事情的詳細資訊,例如關於網路故障和重新連線的訊息)。
預設情況下啟用該選項;要想禁用它,使用--skip-log-warnings。中斷的連線不會記入錯誤日誌,除非值大於1。
參見A.2.10節,“通訊錯誤和失效連線”。

? --low-priority-updates
表修改(INSERT, REPLACE, DELETE, UPDATE)比選擇的優先順序要低。
也可以透過{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ... 來降低某個查詢的優先順序來實現,
或透過SET LOW_PRIORITY_UPDATES=1來更改一個執行緒的優先順序。
參見7.3.2節,“表鎖定事宜”。

? --memlock
將mysqld 程式鎖定在記憶體中。在支援mlockall()系統呼叫的系統上有效,例如Solaris。
如果作業系統使mysqld在硬碟上交換時出現問題,可以為你提供幫助。
請注意使用該選項時需要以root執行伺服器,但從安全考慮並不是一個好注意。

? --old-passwords
強制伺服器為新密碼生成短(4.1前)密碼雜湊。如果伺服器必須支援舊客戶端程式,為保證相容性這很有用。
參見5.7.9節,“MySQL 4.1中的密碼雜湊處理”。

? --one-thread
只使用一個執行緒(用於在Linux中除錯)。只有伺服器啟用了除錯,該選項才可用。參見E.1節,“除錯MySQL伺服器”。

? --open-files-limit=count
用來更改mysqld檔案描述符的數量。如果沒有設定或設定為0,則mysqld透過setrlimit()使用該值來儲存檔案描述符。
如果該值為0,則mysqld 儲存max_connections*5或max_connections + table_cache*2(取較大者)個檔案。
如果mysqld給出你錯誤"開啟的檔案太多。",你應試試增加該值。

? --pid-file=path
mysqld_safe使用的程式ID檔案的路徑。

? --port=port_num, -P port_num
幀聽TCP/IP連線時使用的埠號。

? --safe-mode
跳過一些最佳化階段。

? (DEPRECATED) --safe-show-database
參見5.7.3節,“MySQL提供的許可權”。

? --safe-user-create
啟用後如果使用者沒有mysql.user表或表中列的INSERT許可權,則使用者不能用GRANT語句建立新使用者。

? --secure-auth
不允許使用舊(4.1之前)密碼的賬戶進行鑑定。

? --shared-memory
啟用本地客戶端的共享記憶體連線。該選項只用於Windows。

? --shared-memory-base-name=name
共享記憶體連線名。該選項只用於Windows。

? --skip-bdb
禁用BDB儲存引擎。這樣可以節省記憶體,並可能加速某些操作。如果你需要BDB表則不要使用該選項。

? --skip-concurrent-insert
關閉在同一時間在MyISAM表中選擇和插入的能力。(只有你發現缺陷時才使用該選項)。

? --skip-external-locking
不要使用系統鎖定。要想使用myisamchk,你必須關閉伺服器。(參見1.4.3節,“MySQL穩定性”)。
要避免該需求,使用MySQL Monitor中的CHECK TABLE和REPAIR TABLE來檢查並維護MyISAM表。

? --skip-grant-tables
該選項使伺服器不使用許可權系統。該許可權允許訪問伺服器的使用者不受限制地訪問所有資料庫。
你可以從系統外殼命令列執行mysqladmin flushprivileges或mysqladmin reload命令,
或執行MySQL FLUSH PRIVILEGES語句讓執行的伺服器重新開始使用 授權表。

? --skip-host-cache
為了更快地在名稱-IP之間進行解析,不要使用內部主機名快取。相反,每次客戶端連線時查詢DNS伺服器。
參見7.5.6節,“MySQL如何使用DNS”。

? --skip-innodb
禁用InnoDB儲存引擎。這樣可以節省記憶體,並可能加速某些操作。如果你需要BDB表則不要使用該選項。

? --skip-name-resolve
不要解析正檢查客戶端連線的主機名。只使用IP號。如果你使用該項,授權表中的所有Host列值必須為IP號或localhost。
參見7.5.6節,“MySQL如何使用DNS”。

? --skip-ndbcluster
禁用NDB CLUSTER儲存引擎。
這是支援NDB CLUSTER儲存引擎的二進位制的預設設定,說明只有用--ndbcluster選項顯式覆蓋--skip-ndbcluster選項時,
系統才為該儲存引擎分配記憶體和其它資源。
使用示例參見17.4.3節,“MySQL簇的快速測試設定”。

? --skip-networking
不幀聽TCP/IP連線。必須透過命名管道或共享記憶體(在Windows中)或Unix套接字檔案(在Unix中)完成mysqld的相互操作。
對於只允許本地客戶端的系統,大力推薦該選項。參見7.5.6節,“MySQL如何使用DNS”。

? --standalone
只適合基於Windows-NT的系統;指導MySQL伺服器不做為服務來執行。

? --symbolic-links, --skip-symbolic-links
啟用或禁用符號連結支援。在Windows和Unix中,該選項的作用是不同的:
o 在Windows中,啟用符號連結,你可以透過建立包含實際目錄路徑的directory.sym檔案來建立資料庫目錄的符號連結。
參見7.6.1.3節,“在Windows平臺上使用關於資料庫的符號連結”。
在Unix中,啟用符號連結表示你可以用CREATE TABLE語句的INDEX DIRECTORY或DATA DIRECTORY選項將MyISAM索引檔案或資料檔案連結到另一個目錄。
如果你刪除或重新命名錶,符號連結所指的檔案也被刪除或重新命名。參見13.1.5節,“CREATE TABLE語法”。

? --skip-safemalloc
如果MySQL配置了--with-debug=full,所有MySQL程式在記憶體分配和釋放時檢查記憶體是否溢位。
檢查很慢,因此如果你不需要你可以用--skipsafemalloc選項來避免。

? --skip-show-database
使用該選項,只允許具有SHOW DATABASES許可權的使用者執行SHOW DATABASES語句,該語句顯示所有資料庫名。
不使用該選項,允許所有使用者執行SHOW DATABASES,但只向具有SHOW DATABASES許可權或部分資料庫許可權的使用者顯示每個資料庫名。
請注意全域性許可權為資料庫的一種許可權。

? --skip-stack-trace
不跟蹤寫堆疊。當除錯執行mysqld時該選項有用。在一些系統中,你還必須使用該選項來獲得核心檔案。
參見E.1節,“除錯MySQL伺服器”。

? --skip-thread-priority
在快速響應中禁用執行緒優先順序。

? --socket=path
在Unix中,該選項指定用於本地連線的Unix套接字檔案。
預設值是/tmp/mysql.sock。在Windows中,該選項指定本地連線所使用的管道名。 預設值是MySQL。

? --sql-mode=value[,value[,value...]]
將MySQL設定為SQL模式。參見5.3.2節,“SQL伺服器模式”。

? --temp-pool
該選項使伺服器建立的大多數臨時檔案使用一系列檔名,而不是每個新檔案使用唯一的檔名。
這樣解決了在Linux核心中用 不同的名建立許多新檔案的問題。在以前,Linux似乎“洩漏”記憶體,
因為它被直接分配到directory entry快取而不是硬碟快取。

? --transaction-isolation=level
設定預設事務隔離級別,可以READ-UNCOMMITTED、READ-COMMITTEE、REPEATABLE-READ或SERIALIZABLE。參見13.4.6節,“SET TRANSACTION語法”。

? --tmpdir=path, -t path
建立臨時檔案的目錄路徑。預設/tmp目錄在太小不能容納臨時表的分割槽時該選項很有用。該選項接受round-robin模式的幾個路徑。
在Unix中路徑應用冒號(‘:’) 間隔開,在Windows、NetWare和OS/2中用分號(‘;’) 間隔開。
如果MySQL伺服器為複製從機,你不應讓--tmpdir指向基於記憶體的檔案系統中的目錄或伺服器主機重啟時會清除的目錄。
複製從機需要臨時檔案,機器重啟時可以複製臨時表或執行LOAD DATA INFILE操作。
如果伺服器重啟時臨時檔案目錄中的檔案丟失,複製失敗。

? --user={user_name | user_id}, -u {user_name | user_id}
用user_name或數字使用者ID user_id執行mysqld伺服器。
(“使用者”指系統登入賬戶,而不是 授權表中所列的MySQL使用者)。
用root啟動mysqld時強制使用該選項。伺服器在啟動序列中更改使用者ID,讓它做為具體使用者而不是root執行。
參見5.6.1節,“通用安全指南”。
要避免使用者在my.cnf檔案中新增
--user=root選項(使伺服器用root執行)時可能出現的安全漏洞,mysqld只使用指定的第1個--user選項,如果有多個--user選項則會出現警告。
在命令列選項前處理/etc/my.cnf和$MYSQL_HOME/my.cnf中的選項,因此建議你在/etc/my.cnf中放一個--user選項,並指定root之外的其它值。
在其它--user選項前先找到/etc/my.cnf中的選項,確保伺服器用其它使用者執行,如果找到其它--user選項則會出現警告。

? --version, -V
顯示版本資訊並退出。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1373451/,如需轉載,請註明出處,否則將追究法律責任。

相關文章