《Mysql入門mysql安全啟動腳本mysqld_safe詳細介紹》要點:
本文介紹了Mysql入門mysql安全啟動腳本mysqld_safe詳細介紹,希望對您有用。如果有疑問,可以聯系我們。
在Unix和NetWare中推薦使用mysqld_safe來啟動mysqld服務器.mysqld_safe增加了一些安全特性,例如當出現錯誤時重啟服務器并向錯誤日志文件寫入運行時間信息.本節后面列出了NetWare的特定行為.MYSQL必讀
注釋:為了保持同舊版本MySQL的向后兼容性,MySQL二進制分發版仍然包括safe_mysqld作為mysqld_safe的符號鏈接.但是,你不應再依賴它,因為再將來將刪掉它.MYSQL必讀
默認情況下,mysqld_safe嘗試啟動可執行mysqld-max(如果存在),否則啟動mysqld.該行為的含義是:MYSQL必讀
? 在Linux中,MySQL-Max RPM依賴該mysqld_safe的行為.RPM安裝可執行mysqld-max,使mysqld_safe從該點起自動使用可執行命令.MYSQL必讀
? 如果你安裝包括mysqld-max服務器的MySQL-Max分發版,后面升級到非-Max的MySQL版本,mysqld_safe仍然試圖運行舊的 mysqld-max服務器.升級時,你應手動刪除舊的mysqld-max服務器以確保mysqld_safe運行新的mysqld服務器.MYSQL必讀
要想越過默認行為并顯式指定你想要運行哪個服務器,為mysqld_safe指定--mysqld或--mysqld-version選項.MYSQL必讀
mysqld_safe從選項文件的[mysqld]、[server]和 [mysqld_safe]部分讀取所有選項.為了保證向后兼容性,它還讀取 [safe_mysqld]部分,盡管在MySQL 5.1安裝中你應將這部分重新命名為[mysqld_safe].MYSQL必讀
mysqld_safe支持下面的選項:MYSQL必讀
? --help
顯示幫助消息并退出.
? --autoclose
(只在NetWare中)在NetWare中,mysqld_safe可以保持窗口.當你關掉mysqld_safe NLM時,窗口不按默認設置消失.相反,它提示用戶輸入:
*<NLM has terminated; Press any key to close the screen>*如果你想讓NetWare自動關閉窗口,在mysqld_safe中使用--autoclose選項.
? --basedir=path
MySQL安裝目錄的路徑.
? --core-file-size=size
mysqld能夠創建的內核文件的大小.選項值傳遞給ulimit -c.
? --datadir=path
數據目錄的路徑.
? --defaults-extra-file=path
除了通用選項文件所讀取的選項文件名.如果給出,必須首選該選項.
? --defaults-file=path
讀取的代替通用選項文件的選項文件名.如果給出,必須首選該選項.
? --ledir=path
包含mysqld程序的目錄的路徑.使用該選項來顯式表示服務器位置.
? --log-error=path
將錯誤日志寫入給定的文件.參見5.11.1節,“錯誤日志”.
? --mysqld=prog_name
想要啟動的服務器程序名(在ledir目錄).如果你使用MySQL二進制分發版但有二進制分發版之外的數據目錄需要該選項.
? --mysqld-version =suffix
該選項類似--mysqld選項,但你只指定服務器程序名的后綴.基本名假定為mysqld. 例如,如果你使用--mysqld-version =max,mysqld_safe啟動ledir目錄中的mysqld-max程序.如果--mysqld-version的參數為 空,mysqld_safe使用目錄中的mysqld.
? --nice=priority
使用nice程序根據給定值來設置服務器的調度優先級.
? --no-defaults
不要讀任何選項文件.如果給出,必須首選該選項.
? --open-files-limit=count
mysqld能夠打開的文件的數量.選項值傳遞給 ulimit -n.請注意你需要用root啟動mysqld_safe來保證正確工作!
? --pid-file=path
進程ID文件的路徑.
? --port=port_num
用來幀聽TCP/IP連接的端口號.端口號必須為1024或更大值,除非MySQL以root系統用戶運行.
? --skip-character-set-client-handshake
忽略客戶端發送的字符集信息,使用服務器的默認字符集.(選擇該選項,MySQL的動作與MySQL 4.0相同).
? --socket=path
用于本地連接的Unix套接字文件.
? --timezone=zone
為給定的選項值設置TZ時區環境變量.從操作系統文檔查閱合法的時區規定格式.
? --user={user_name | user_id}
以用戶名user_name或數字用戶ID user_id運行mysqld服務器.(本文中的“用戶”指系統登錄賬戶,而不是 授權表中的MySQL用戶).MYSQL必讀
執行mysqld_safe時,必須先給出--defaults-file或--defaults-extra-option,或不使用選項文件.例如,該命令將不使用選項文件:
mysqld_safe --port=port_num --defaults-file=file_name相反,使用下面的命令:
mysqld_safe --defaults-file=file_name --port=port_num一般情況mysqld_safe腳本可以啟動從源碼或二進制MySQL分發版安裝的服務器,即使這些分發版將服務器安裝到 稍微不同的位置.(參見2.1.5節,“安裝布局”). mysqld_safe期望下面的其中一個條件是真的:MYSQL必讀
? 可以根據調用mysqld_safe的目錄找到服務器和數據庫.在二進制分發版中,mysqld_safe看上去在bin和data目錄的工作目錄下.對 于源碼分發版,為libexec和var目錄.如果你從MySQL安裝目錄執行mysqld_safe應滿足該條件(例如,二進制分發版為/usr /local/mysql).MYSQL必讀
? 如果不能根據工作目錄找到服務器和數據庫,mysqld_safe試圖通過絕對路徑對它們定位.典型位置為/usr/local/libexec和 /usr/local/var.實際位置由構建分發版時配置的值確定如果MySQL安裝到配置時指定的位置,它們應該是正確的.MYSQL必讀
因為mysqld_safe試圖通過工作目錄找到服務器和數據庫,只要你從MySQL安裝目錄運行mysqld_safe,可以將MySQL二進制分發版安裝到其它位置:MYSQL必讀
shell> cd mysql_installation_directoryshell> bin/mysqld_safe &如果mysqld_safe失敗,即使從MySQL安裝目錄調用仍然失敗,你可以指定--ledir和--datadir選項來指示服務器和數 據庫在你的系統中的安裝目錄.MYSQL必讀
一般情況,你不應編輯mysqld_safe腳本.相反,應使用命令行選項或my.cnf選項 文件的[mysqld_safe]部分的選項來配置mysqld_safe.一般不需要編輯mysqld_safe來正確啟動服務器.但是,如果你編輯, 將來升級MySQL后會覆蓋你修改的mysqld_safe版本,因此你應對你修改的版本進行備份以便將來重裝.MYSQL必讀
在NetWare中,mysqld_safe是一個NetWare Loadable Module (NLM),從原Unix shell腳本移植.它執行:
1. 檢查系統和選項.
2. 檢查MyISAM表.
3. 保持MySQL服務器窗口.
4. 啟動并監視mysqld,如果因錯誤終止則重啟.
5. 將mysqld的錯誤消息發送到數據目錄中的host_name.err 文件.
6. 將mysqld_safe的屏幕輸出發送到數據目錄中的host_name.safe文件MYSQL必讀