Windows 環境では、通常のユーザ アカウントで、Windows サービスとしてサーバを実行できます。
Unix 環境では、MySQL サーバの mysqld
をどのユーザでも起動できます。しかし、セキュリティ面への配慮から、Unix
root
ユーザでサーバを実行することは推奨していません。mysqld
を変更し、普通の権限なし Unix
ユーザ、user_name
で実行するには、次のことを行ないます。
サーバ実行中であれば、終了する。(mysqladmin shutdown コマンドを使用)
user_name
でファイルへの読み書き込み権限がを与えるために、データベース
ディレクトリとファイルを変更する。場合によっては、この作業を、Unix
root
ユーザで行なう必要がある。
shell> chown -R user_name
/path/to/mysql/datadir
この作業を行なわない場合、user_name
.
で実行するときに、サーバからデータベースまたはテーブルへのアクセスができない。
MySQL データ
ディレクトリ内のディレクトリまたはファイルがシンボリック
リンクである場合は、そのリンクに従い、ディレクトリとファイルを指しているところを変更する。場合によって、chown
-R
では、シンボリック
リンクできないことがある。
user_name
というユーザでサーバを起動する。MySQL 3.22
以降を使用している場合は、別の方法として、Unix
root
で mysqld
を起動し、--user=
オプションを使用する。mysqld
が起動したら、接続を開始する前に、Unix
ユーザの user_name
user_name
に切り替えて、実行する。
システムの起動時に自動的に任意のユーザでサーバを起動するには、user
オプションを /etc/my.cnf
オプション ファイルの [mysqld]
グループに追加するか、サーバのデータ
ディレクトリの my.cnf
オプション
ファイルを使用して、ユーザ名を指定する。
[mysqld]
user=user_name
Unix
マシン自体が安全ではない場合、権限テーブルの
MySQL root
アカウントにパスワードを割り当てる。これをしないと、そのマシンのログイン
アカウントを持つユーザであれば誰でも、
--user=root
で mysql
を実行でき、どのような操作をも行なうことができる。つまり、常に
MySQL
アカウントにパスワードを割り当てることが賢明である。そのサーバ
ホストで別のログイン
アカウントが存在する場合は特にそうである。項2.10. 「インストール後の設定とテスト」
を参照のこと。