セキュリティに影響する mysqld
オプションは以下のとおりです。
--local-infile[=(0|1)]
--local-infile=0
を使用すると、LOAD DATA LOCAL
INFILE
を使用できなくなる。
--safe-show-database
このオプションを使用すると、SHOW
DATABASES
コマンドで、そのユーザが何らかの権限を持っているデータベースのみが返される。
現在は、SHOW DATABASES
権限が存在するため、バージョン 4.0.2
以降、このオプションは廃止されており、何もしない(デフォルトで有効になっている)。
See 項4.4.1. 「GRANT
および REVOKE
の構文」。
--safe-user-create
このオプションが有効になっている場合、ユーザに
mysql.user
テーブルへの
INSERT
権限がなければ、そのユーザは
GRANT
コマンドを使用して新規ユーザを作成できない。ユーザが事前設定された権限で新規ユーザを作成できるようにするには、そのユーザに以下の権限を設定することが必要である。
mysql> GRANT INSERT(user) ON mysql.user TO 'user'@'hostname';
これで、ユーザは権限カラムを直接変更できないが、GRANT
コマンドを使用して他のユーザに権限を与えることができるようになる。
--skip-grant-tables
サーバが権限システムをまったく使用しないようにする。これによりすべての人が、すべてのデータベースにフルアクセスできるようになる。実行中のサーバに権限テーブルを再び使用させるためには、mysqladmin
flush-privileges
、 mysqladmin
reload
または FLUSH
PRIVILEGES;
を実行すればよい。
--skip-name-resolve
ホスト名を解決しない。権限テーブルの
Host
カラム値はすべて IP
アドレスか localhost
でなければならない。
--skip-networking
TCP/IP
経由の接続を認めない。mysqld
への接続をすべて Unix ソケットで行う。
このオプションは、3.23.27 より前の MySQL
バージョンで MIT-pthreads
パッケージを利用しているものには適さない。その当時、Unix
ソケットは MIT-pthreads
によってサポートされていなかったからである。
--skip-show-database
SHOW DATABASES
権限のないユーザに SHOW
DATABASES
コマンドの使用を認めない。バージョン 4.0.2
から、このオプションは必要なくなった。現在では、SHOW
DATABASES
権限が割り当てられることでコマンドを使用できるようになっている。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.