文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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

在 Windows 上,您可以使用一般使用者帳戶,將伺服器作為 Windows 服務執行。

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

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

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

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

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

    如果您不執行此動作,伺服器將無法在以 user_name 身分執行時存取資料庫或資料表。

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

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

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

    [mysqld]
    user=user_name

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