sql >> データベース >  >> RDS >> Mysql

すべてのリモート接続を許可する、MySQL

    上記のライアンが指摘したように、必要なコマンドは

    GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password'; 
    

    ただし、ドキュメントには、これが機能するために、localhostの別のユーザーアカウントが示されていることに注意してください。 同じユーザー用に作成する必要があります。それ以外の場合は、mysql_install_dbによって自動的に作成された匿名アカウント より具体的なホスト列があるため、優先されます。

    言い換えると;ユーザーuserの場合 任意のサーバーから接続できるようにする。次のように2つのアカウントを作成する必要があります。

    GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password'; 
    GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password'; 
    

    こちら の完全なドキュメントをお読みください。

    そして、参考のために関連する部分があります:

    rootとしてサーバーに接続した後、新しいアカウントを追加できます。次のステートメントでは、GRANTを使用して4つの新しいアカウントを設定します。

    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つのアカウントのユーザー名はmontyで、パスワードはsome_passです。どちらのアカウントも、何でもできる完全な権限を持つスーパーユーザーアカウントです。 'monty' @'localhost'アカウントは、ローカルホストから接続する場合にのみ使用できます。 'monty' @'%'アカウントは、ホスト部分に'%'ワイルドカードを使用するため、任意のホストから接続するために使用できます。

    モンティとしてどこからでも接続できるようにするには、モンティの両方のアカウントが必要です 。 localhostアカウントがないと、montyがローカルホストから接続するときに、mysql_install_dbによって作成されたlocalhostの匿名ユーザーアカウントが優先されます。その結果、montyは匿名ユーザーとして扱われます。これは、anonymous-userアカウントのHost列の値が'monty' @'%'アカウントよりも具体的であるため、ユーザーテーブルの並べ替え順序が早いためです。 (ユーザーテーブルの並べ替えについては、6.2.4項「アクセス制御、ステージ1:接続の検証」で説明しています。)



    1. 垂直出力を使用してSQLiteクエリ結果を表示する

    2. 私の11gオプティマイザー統計ジョブが終了しました–修正済み

    3. すべてのパッケージでテーブルや列を検索するためのクエリ

    4. Windows7でのMySQL5のインストールと操作