Mysql伺服器的啟動與停止(二)

2021-04-17 06:45:20 字數 2689 閱讀 3377

三、停止

伺服器要手工啟動

伺服器,使用mysqladmin:

%mysqladmin shutdown

要自動停止

伺服器,你不需做特別的事情。bsd系統一般通過向程序發乙個term訊號停止服務,它們或者正確應答它或被粗魯地殺死。mysqld在它收到這個訊號時以終止作為應答。對於用mysql.server啟動

伺服器的system v風格的系統,停止程序將用乙個stop引數呼叫該指令碼,告訴伺服器終止,當然假定你已安裝了mysql.server。

四、如果你不能連線伺服器,如何重新獲得對伺服器的控制

在某些情況下,你可能由於不能連線它而手工重啟伺服器。當然,這有點矛盾。因為一般你通過連線伺服器而手工關掉它,那麼這種情況如何會出現。

首先,mysql root口令可以已經設定為你不知道的值,這可能發生在你修改口令時,例如,如果你在輸入新口令時偶然鍵入乙個不可見的控制字元。你也可能忘記口令。

其次,連線localhost通常通過乙個unix域套接字檔案進行,一般是/tmp/mysql.sock。如果套接字檔案被刪除了,本地客戶就不能連線。這可能發生在你的系統執行乙個cron任務刪除了/tmp下的臨時檔案。

如果你因為丟失套接字檔案而不能連線,你可以簡單地通過重啟伺服器重新建立得到它。因為伺服器在啟動時重新建立它。這裡的**是你不能用套接字建立連線因為它不見了,你必須建立乙個tcp/ip連線,例如,如果伺服器主機是pit.snake.net,你可以這樣連線:

%mysqladmin -p -u root -h pit.snake.net shutdown

如果套接字檔案被乙個cron任務刪除,問題將重複出現,除非你修改cron任務或使用乙個或使用乙個不同的套接字檔案,你可以使用全域性選項檔案指定乙個不同的套接字,例如,如果資料目錄是/usr/local/var,你可以通過將下列行加入/etc/my.cnf中,將套接字檔案移到那裡:

[mysqld]

socket=/usr/local/var/mysql.sock

[client]

socket=/usr/local/var/mysql.sock

對伺服器和客戶均指定路徑名,使得它們都使用同乙個套接字檔案。如果你只為伺服器設定路徑,客戶程式將仍然期望在原位置執行套接字,在修改後重啟伺服器,使它在新位置建立套接字。

如果你由於忘記root口令或已經將它設定為不同於認為的值而不能連線,你需要重新獲得對伺服器的控制,是你能再次設定口令:

中斷伺服器

如果你以root登入伺服器主機,你可以用kill命令終止伺服器。你可以使用ps命令或通過尋找伺服器的pid檔案(通常在資料目錄中)找出伺服器程序的id。

最好是首先嘗試用乙個向伺服器發出乙個term訊號的正常kill看它是否將以正常終止應答。這種方式下,表和日誌將正確地被清空。如果伺服器阻塞並且不應答乙個正常終止訊號,你可以用kill -9強制終止它。這是最後的手段了,因為這可能有未清空的修改,而且你冒著讓表處於乙個不一致狀態的風險。

如果你用kill -9終止伺服器,要確保在啟動

伺服器前用myisamchk和isamchk檢查你的表。 

用--skip-grant-table選項重啟伺服器。

這告訴伺服器不使用授權表驗證連線,這允許你以root連線而無須口令。在你已經連線後,改變root口令。 

用mysqladmin flush-privileges告訴伺服器再次使用授權表啟動

如果你的mysqladmin版本不認識flash-privileges,試一試reload。

五、執行多個伺服器

大多數再一台給定的機器上執行單個mysql

伺服器,但在很多情況下,執行多個伺服器是很有用的:

你可能想測試乙個伺服器的新版本,而保留你正在執行的生產伺服器。在這種情況下,你會執行不同的伺服器**。 

作業系統一般限制每個程序的開啟檔案控制代碼數量。如果你的系統很難提高這個限制,執行多個伺服器是解決限制的一種方法。在這種情況下,你可能執行統一伺服器的多個例項。 

isp經常為其客戶提供自己的mysql安裝,有必要涉及單獨的伺服器。在這種情況下,你可能執行同一版本的多個例項或不同版本,如果不同的客戶想要不同版本的mysql。 

很自然地,執行多個伺服器比只執行乙個伺服器要複雜得多。如果你安裝多個版本,你不能在同乙個地方安裝所有東西。當伺服器執行時,某些引數必須或很可能對每個伺服器是唯一的,它們包括伺服器在哪安裝、其資料目錄的路徑名、tcp/ip埠和unix域套接字路徑名以及用於執行伺服器的unix賬號(如果你不再同一賬號下執行所有伺服器)。如果你決定執行多個伺服器,一定要注意你使用的引數,是你不至於。

Mysql伺服器的啟動與停止(二)

三 停止伺服器 要手工啟動伺服器,使用mysqladmin mysqladmin shutdown 要自動停止伺服器,你不需做特別的事情。bsd系統一般通過向程序發乙個term訊號停止服務,它們或者正確應答它或被粗魯地殺死。mysqld在它收到這個訊號時以終止作為應答。對於用mysql.server...

伺服器的啟動與停止

mysql 伺服器的 啟動與停止 晏子 一 以非特權使用者執行mysql 伺服器在討論如何 啟動mysql 伺服器之前,讓我們考慮一下應該以什麼使用者身份執行mysql 伺服器。伺服器可以手動或自動 啟動。如果你手動 啟動它,伺服器以你登入unix 的使用者身份 啟動,即如果你用paul登入unix...

如何 啟動 停止 mysql伺服器

有時候我們在開啟乙個工程執行後,發現報關於mysql資料庫的錯誤,此時一般是直接開啟的工程就執行而沒有先把mysql開啟。那麼怎樣快速開啟mysql服務呢?方案一 命令列 1,win r 2,輸入 cmd 進入console介面 3,在控制台輸入 net start mysql 開啟mysql服務 ...