14

Web サーバー (Debian 7) を構成しようとしています。私はこのチュートリアルに従いました。gandi.net サービスのおかげでサーバーをレンタルしています。そして、私は今、apache2、mysql、php5 を稼働させています。ターミナルで次のコマンドを使用して接続します。ssh username@domainname.com

次のステップは、sequel pro を使用してデータベースを作成することですが、その方法がわかりません。ドキュメントもあまり明確ではありません。 ここに画像の説明を入力

私は接続しようとしました:

  • Nom : いくつかの名前、私は明確に見つけました。(ここには何でも入れられると思いますよね?)
  • ホスト : IP またはドメイン名
  • User : ssh 接続で使用しているユーザー名 (上記参照)
  • パスワード : ssh 接続 (上記参照) と mysql 接続の両方に使用するパスワード

残りはそのままにして、次のエラー メッセージを受け取りました。

ホスト domainname.com に接続できないか、要求がタイムアウトしました。

アドレスが正しく、必要な権限があることを確認するか、接続タイムアウト (現在は 10 秒) を増やしてみてください。

MySQL は次のように述べています:「domainename.com」(61) の MySQL サーバーに接続できません (2)

どうすればそれができるのでしょうか?

4

6 に答える 6

23

Debian に MySQL を通常インストールすると、データベースへの外部接続をブロックするように構成されます。

これは、外部アクセスに問題がないことを MySQL に伝える必要があることを意味します。これを行うには、MySQL のバインド アドレスを更新する必要があります。これはmy.cnf、Debian ベースのシステムでは にある で設定され/etc/mysql/my.cnfます。

そこに、言うセクションを見つけます

[mysqld]

そこでは、次のことを確認する必要があります

  • skip-networkingがコメント化されている (コメントは「#」で始まる) か、または存在しない。
  • Bind-address は、0.0.0.0(bind-address の行がない場合) またはサーバーの IP アドレスに設定されます。

これを行った後、MySQL サービスを再起動する必要があります。次に、リモート アクセスを許可するユーザーを作成する必要があります。これは、SQL クエリで実行できます。

GRANT ALL ON yourdatabase.* TO youruser@'*' IDENTIFIED BY 'yourpassword';

毎回同じである場合は、接続元の IP アドレスのアスタリスクを切り替えることができます。

最後に、ファイアウォールでポート 3306 (MySQL が使用するポート) を開く必要があります。これは、ほとんどのシステムで既に開いているため、通常は必要ありませんが、次の iptables コマンドを使用して実行できます。

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save

ソース: 1

于 2014-01-19T19:25:58.023 に答える
0

端末でこの行を実行するだけで問題を解決します

ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

your_user = root私のために
your_password = somethingあなたが望むものを選んでください

于 2018-09-05T00:31:32.897 に答える