文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  如何以一般使用者身份執行 MySQL

8.1.5 如何以一般使用者身份執行 MySQL

在 Windows 上,您可以使用一般使用者帳戶,以 Windows 服務的方式執行伺服器。

在 Linux 上,對於使用 MySQL 儲存庫或 RPM 套件執行的安裝,MySQL 伺服器 mysqld 應由本機 mysql 作業系統使用者啟動。不支援由其他作業系統使用者啟動,這是因為 MySQL 儲存庫中包含的 init 指令碼所致。

在 Unix(或 Linux,對於使用 tar.gz 套件執行的安裝),MySQL 伺服器 mysqld 可以由任何使用者啟動和執行。但是,為了安全性考量,您應避免以 Unix root 使用者身份執行伺服器。若要將 mysqld 變更為以一般非特權 Unix 使用者 使用者名稱 身份執行,您必須執行下列動作:

  1. 如果伺服器正在執行,請停止伺服器(使用 mysqladmin shutdown)。

  2. 變更資料庫目錄和檔案,使 使用者名稱 擁有在其中讀取和寫入檔案的權限(您可能需要以 Unix root 使用者身份執行此動作)。

    $> chown -R user_name /path/to/mysql/datadir

    如果您不這麼做,伺服器在以 使用者名稱 身份執行時,將無法存取資料庫或資料表。

    如果 MySQL 資料目錄內的目錄或檔案是符號連結,chown -R 可能不會追蹤您的符號連結。如果沒有,您也必須追蹤這些連結並變更它們所指向的目錄和檔案。

  3. 以使用者 使用者名稱 身份啟動伺服器。另一種替代方法是以 Unix root 使用者身份啟動 mysqld 並使用 --user=使用者名稱 選項。mysqld 會啟動,然後在接受任何連線之前切換為以 Unix 使用者 使用者名稱 身份執行。

  4. 若要在系統啟動時自動以指定使用者身份啟動伺服器,請將 user 選項新增至 /etc/my.cnf 選項檔案或伺服器資料目錄中的 my.cnf 選項檔案的 [mysqld] 群組。例如:

    [mysqld]
    user=user_name

如果您的 Unix 機器本身沒有安全保護,您應該在授權表中為 MySQL root 帳戶設定密碼。否則,任何在該機器上擁有登入帳戶的使用者都可以使用 mysql 客戶端並加上 --user=root 選項來執行任何操作。(在任何情況下,為 MySQL 帳戶設定密碼都是一個好主意,當伺服器主機上存在其他登入帳戶時更是如此。)請參閱第 2.9.4 節,「保護初始 MySQL 帳戶」