他のPCからxamppをインストールしたPCのmysqlに接続する

他のPCからODBC接続でxamppをインストールしたPCのmysqlに接続を試みた際、Mysql Connecterのテスト接続でエラーが発生した。

エラー内容
----------------------------------------------------------------
Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
----------------------------------------------------------------

xamppの初期設定では、localhostからの接続だけが許可されているのでエラーになる。
他のPCから接続するには、接続の権限を持ったユーザー作る必要がある。

「mysql」という名前のデータベースに「user」という名前のテーブルがあるので、そこに新しいユーザーを加える。

書式
----------------------------------------------------------------
GRANT ALL PRIVILEGES ON 有効範囲(データベース名.テーブル名) TO ユーザー名@ホスト名 IDENTIFIED BY 'パスワード'
----------------------------------------------------------------
PRIVILEGES は、省略可。

実際のコマンド
----------------------------------------------------------------
GRANT ALL PRIVILEGES ON *.* TO testuser@'%' IDENTIFIED BY 'test'
----------------------------------------------------------------

GRANT構文については、こちら1こちら2

上のコマンドだと、以下の設定をしたことになる。
----------------------------
・ユーザー名:testuser
・パスワード:test
・ホスト名(@以降):ワイルドカード(%)← これでlocalhost以外からもアクセス可能になる。もし「localhost」と記述すれば、他のPCからはアクセスできない。
・all privileges は、「(GRANT権限以外の)すべての権限を与える」
・*.* は、「すべてのデータベースのすべてのテーブルに有効」という意味。
----------------------------

これでうまくいった。

他のPCからページが見れない場合は、こちら

参考ページ:こちら1こちら2