としては、あなたが必要とするコマンドは、ドキュメントがこれが機能するためには、localhost
から別のユーザーアカウントが同じユーザーのために作成しなければならないことを示していることに注意してください、しかし
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
である上記ライアンが指摘しました;それ以外の場合は、より具体的なホスト列があるため、自動的にmysql_install_db
で作成された匿名アカウントが優先されます。
つまり、ユーザーuser
が任意のサーバーから接続できるようにするには
GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password';
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password';
がhere.
そして、ここでは参照に関連する作品だ完全なマニュアルを読む:次のように2つのアカウントを作成する必要があるルートとしてサーバに接続した後
、あなたが追加することができます新しいアカウント。 次の文は、4つの新しいアカウントを設定するためにGRANTを使用します。
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';
これらのステートメントによって作成されたアカウントは、以下の 特性を有する:アカウントの
2つはモンティのユーザー名を持っていますパスワードは some_passです。両方のアカウントは、完全な権限を持つスーパーユーザーアカウントです 何かを行うには。 'monty' @ 'localhost'アカウントは、ローカルホストから に接続している場合にのみ使用できます。 'monty' @ '%'アカウントはホスト部分に '%' ワイルドカードを使用するため、 ホストからの接続に使用できます。
モンティはモンティとしてどこからでも を接続できるようにするために、両方のアカウントを持っていることが必要です。localhostアカウントがない場合、 ローカルホストからmontyを接続すると、 mysql_install_dbによって作成されたlocalhostの匿名ユーザーアカウント が優先されます。その結果、montyは匿名ユーザーとして扱われます。 これは、匿名ユーザーアカウントが 'monty' @ '%'アカウントよりも の特定のホスト列値を持っているため、ユーザーテーブルの並べ替え順に先に となります。 (userテーブルのソートは、6.2.4項で を議論している、「アクセス制御の段階1:接続確認」。)
私はこれを誤解していない限り、私には愚かなようだ
。
こんにちは。私は同じ問題があり、すべてのコマンドを提案したが、私はリモートアクセスにアクセスすることはできません。私を助けてください。 –