在 Windows 上,您可以使用一般使用者帳戶,以 Windows 服務的方式執行伺服器。
在 Linux 上,對於使用 MySQL 儲存庫或 RPM 套件執行的安裝,MySQL 伺服器 mysqld 應由本機 mysql
作業系統使用者啟動。不支援由其他作業系統使用者啟動,這是因為 MySQL 儲存庫中包含的 init 指令碼所致。
在 Unix(或 Linux,對於使用 tar.gz
套件執行的安裝),MySQL 伺服器 mysqld 可以由任何使用者啟動和執行。但是,為了安全性考量,您應避免以 Unix root
使用者身份執行伺服器。若要將 mysqld 變更為以一般非特權 Unix 使用者 使用者名稱
身份執行,您必須執行下列動作:
如果伺服器正在執行,請停止伺服器(使用 mysqladmin shutdown)。
變更資料庫目錄和檔案,使
使用者名稱
擁有在其中讀取和寫入檔案的權限(您可能需要以 Unixroot
使用者身份執行此動作)。$> chown -R user_name /path/to/mysql/datadir
如果您不這麼做,伺服器在以
使用者名稱
身份執行時,將無法存取資料庫或資料表。如果 MySQL 資料目錄內的目錄或檔案是符號連結,
chown -R
可能不會追蹤您的符號連結。如果沒有,您也必須追蹤這些連結並變更它們所指向的目錄和檔案。以使用者
使用者名稱
身份啟動伺服器。另一種替代方法是以 Unixroot
使用者身份啟動 mysqld 並使用--user=
選項。mysqld 會啟動,然後在接受任何連線之前切換為以 Unix 使用者使用者名稱
使用者名稱
身份執行。若要在系統啟動時自動以指定使用者身份啟動伺服器,請將
user
選項新增至/etc/my.cnf
選項檔案或伺服器資料目錄中的my.cnf
選項檔案的[mysqld]
群組。例如:[mysqld] user=user_name
如果您的 Unix 機器本身沒有安全保護,您應該在授權表中為 MySQL root
帳戶設定密碼。否則,任何在該機器上擁有登入帳戶的使用者都可以使用 mysql 客戶端並加上 --user=root
選項來執行任何操作。(在任何情況下,為 MySQL 帳戶設定密碼都是一個好主意,當伺服器主機上存在其他登入帳戶時更是如此。)請參閱第 2.9.4 節,「保護初始 MySQL 帳戶」。