私はユーザ[email protected]'%'
をpassword 'password
で作成しました。私は、ユーザー[email protected]'localhost'
を作成したとき、私は接続することができましたリモートアクセスのユーザを追加するMysql
mysql_connect('localhost:3306', 'user', 'password');
:しかし、私はと接続することはできません。どうして?どのホストからも「%」は意味しませんか?
私はユーザ[email protected]'%'
をpassword 'password
で作成しました。私は、ユーザー[email protected]'localhost'
を作成したとき、私は接続することができましたリモートアクセスのユーザを追加するMysql
mysql_connect('localhost:3306', 'user', 'password');
:しかし、私はと接続することはできません。どうして?どのホストからも「%」は意味しませんか?
を役に立てば幸いリモートからmy.cnfのマシンのIPアドレスにポート3306をバインドする必要があります。次に、ローカルホストと '%'ワイルドカードの両方でユーザーを作成し、すべてのDBのアクセス許可をに付与する必要があります。以下を参照してください:(Windows上のmy.ini)
のmy.cnfを、その後
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
その後
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
をお使いのOSに応じて、あなたが開くことがありリモート接続を可能にするポート3306。
どのDBがユーザーですか?この例を見てください。
mysql> create database databasename;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on databasename.* to [email protected] identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
"%"演算子はネットワーク内のすべてのコンピュータを意味します。
aspesaが示すように、私はあなたがユーザーを作成または更新する必要があることも確信しています。すべてのMySQLユーザーを探す:
SELECT user,password,host FROM user;
とすぐに、ユーザーが設定してしまったとしてあなたは、このように接続することができます:
mysql -h localhost -u gmeier -p
は、接続するために、それは
一般的に、すべてのdb。私は接続するだけで、DBを選択するのではありません。'code'mysql_connect( 'localhost:3306'、 'user'、 'password'); 'code' – user2333586
あなたはどのOSですか、Windows、Linux ?? – apesa
ウィンドウ。 wampサーバー。 – user2333586
の指示に従って(ウィンドウでは必要ありません1〜3ステップ):MySQLの設定を編集する
を検索:
/etc/mysql/my.cnf(Mysqlの5.5)
/etc/mysql/conf.d/mysql.cnf(Mysqlの5.6+)
検索設定ファイルの変更でbind-address=127.0.0.1
bind-address=0.0.0.0
(あなたのインターフェイスIPSのいずれかにバインドアドレスを設定するか、または私のよう0.0.0.0使用することができます)コンソール上
再起動MySQLサービスの実行を: service restart mysql
を持つユーザーを作成します。リモート接続用の安全なパスワード。(あなたはmysqlのコンソールの実行mysql
に到達するためのLinuxユーザであれば、あなたは、ルート実行mysql -p
用のパスワードを設定している場合)のmysqlにこの実行は、次のコマンドを実行するには:
GRANT ALL PRIVILEGES
ON *.* TO 'remote'@'%'
IDENTIFIED BY 'safe_password'
WITH GRANT OPTION;`
を今、あなたはの名前のユーザーを持つ必要がありますリモート接続が可能なsafe_password
のuser
とパスワード。
変更バインドアドレス= 0.0.0.0 ...それは私のために働いた。権限を付与する – zwitterion
以外のものから接続することはできません。これは、WebFactionプライベートMySQLインスタンスの使用に役立ちました。私はあなたのCREATE USERとGRANT ALLの手順に従い、php.iniで 'mysql.default_port ='を設定し、dbホスト名に '127.0.0.1'を使用しました –
spex
非常に便利です。ちょうどコメント。 my.cnfには別の設定ファイルが含まれていて、関連する行が別の場所にある可能性があります。 my.cnfでは、!includeで始まる行を探します。もしbind-addressがmy.cnfになければ、それはインクルードされたファイルに置かれます。 – Joan
my.cnfファイルはどこですか? –