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