MySQL は、すべての Windows プラットフォームで
TCP/IP をサポートします。mysqld-nt
サーバと mysql-max-nt
サーバは、NT、2000、および XP
で名前付きパイプをサポートします。
ただし、デフォルトでは、プラットフォームに関係なく
TCP/IP が使用されます。
多くの Windows 設定では、名前付きパイプは、事実上 TCP/IP より低速である。
名前付きパイプを使用した場合、MySQL サーバをシャットダウンする際に問題が発生することがある。
3.23.50 以降のバージョンの
mysqld-nt
および
mysql-max-nt
の場合、--enable-named-pipe
オプションを使用してこれらのサーバを起動したときにのみ名前付きパイプが有効になります。
--pipe
オプションを指定するか、ホスト名として
.
(ピリオド)を指定して、MySQL
クライアントに強制的に名前付きパイプを使用させることができます。パイプの名前は、--socket
オプションを使用して指定します。MySQL 4.1
では、--protocol=PIPE
オプションを使用してください。
以下のいずれかのコマンドを実行して、MySQL サーバが動作しているかどうかをテストすることができます。
C:\>C:\mysql\bin\mysqlshow
C:\>C:\mysql\bin\mysqlshow -u root mysql
C:\>C:\mysql\bin\mysqladmin version status proc
C:\>C:\mysql\bin\mysql test
Windows 9x/Me 上で、接続に対する
mysqld
の応答が遅い場合は、使用している DNS
に問題がある可能性があります。その場合は、--skip-name-resolve
オプションを使用して mysqld
を起動し、MySQL 権限テーブルの
Host
カラムの
localhost
と IP
番号だけを使用します。
MySQL コマンドラインツールには以下の 2 つのバージョンがあります。
バイナリ | 説明 |
mysql |
ネイティブ Windows 上にコンパイルされ、限られたテキスト編集機能を提供する。 |
mysqlc |
Cygnus GNU
コンパイラとライブラリを組み込んでコンパイルされ、readline
の編集機能を提供する。 |
mysqlc
を使用する場合は、mysqlc
が検出できる場所に cygwinb19.dll
ライブラリのコピーをインストールする必要があります。MySQL
の最新のディストリビューションでは、mysqlc
と同じディレクトリにこのライブラリが含まれています(ご使用の
MySQL インストールの基本ディレクトリの下の
bin
ディレクトリ)。ご使用のディストリビューションの
bin
ディレクトリに
cygwinb19.dll
ライブラリがない場合は、lib
ディレクトリ内でこのライブラリを探し、Windows
システムディレクトリ(\Windows\system
か、これに類似した場所)にコピーします。
Windows
のデフォルトの権限の設定では、ローカルユーザーは、パスワードなしで全データベースに対して全ての操作が行えるようになっています。MySQL
をより安全にするために、すべてのユーザにパスワードを設定し、Host='localhost'
と User=''
が記述された
mysql.user
テーブルのレコードを削除してください。
また、root
ユーザのパスワードも追加してください。以下の例では、まず全権限を持つ匿名ユーザを削除し、次に
root
ユーザパスワードを設定します。
C:\>C:\mysql\bin\mysql mysql
mysql>DELETE FROM user WHERE Host='localhost' AND User='';
mysql>FLUSH PRIVILEGES;
mysql>QUIT
C:\>C:\mysql\bin\mysqladmin -u root password your_password
パスワードを設定した後で mysqld
サーバをシャットダウンする場合は、このコマンドを使用してシャットダウンすることができます。
C:\> mysqladmin --user=root --password=your_password shutdown
MySQL バージョン 3.21 の古い Windows
シェアウェアディストリビューションのサーバを使用している場合、パスワードを設定するための
mysqladmin
コマンドはparse
error near 'SET password'
というエラーによって失敗します。この問題は、このバージョンより新しい
MySQL
にアップグレードすることで解決されます。
最新バージョンの MySQL
では、GRANT
コマンドと
REVOKE
コマンドを使用して、新しいユーザの追加と特権の変更を簡単に行うことができます。
See 項4.4.1. 「GRANT
および REVOKE
の構文」。
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.