navicat がデータベースに接続するときに、接続に失敗することがあります。 Xi Mian がその理由と解決策を皆さんのためにまとめます。
ご存知のとおり、Navicat を使用してデータベースに接続する場合、通常は次のようになります:
問題の整理と解決策
##エラー 1:
エラーの理由:
ローカルIP (xxx.xxx.xxx.xxx) には、リモート データベースにアクセスする権限がありません。したがって、次のようにすると、リモート mysql データベースへのローカル IP (xxx.xxx.xxx.xxx) のアクセス権が有効になります。解決策:
1. まずサーバーにリモート接続し、cmd に mysql -u root -p と入力して Enter キーを押し、パスワードを入力して Enter キーを押します。 mysqlコマンドラインを入力します。 2. use mysql; と入力します。 3. select user、password、host from user を入力します。ホストには localhost ホストのみが存在するを参照してください。ここにも xxx.xxx.xxx.xxx を追加する必要があります。 4. 次のように追加します。 を入力します。*.* に対するすべての権限を root@”xxx に付与します。 xxx.xxx.xxx" は "パスワード" によって識別されます; (xxx.xxx.xxx.xxx は、% を使用してすべての IP を表すこともできます)
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'xxx.xxx.xxx.xxx' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;と入力します。これは、mysql 権限を再ロードするのと同じであり、この手順は必須です。 5. select user、password、host from user を再度入力します; ホストに新しく追加された IP があることがわかります。 6. 次に、Navicat for MySQl を使用してリモート mysql データベースに再度アクセスすると、正常に開くことができます。 #########問題が解決しました。
7. それでも接続できない場合は、MySQL Server はローカル アドレスにバインドされていますか? /etc/mysql/my.cnf を開き、 検索:bind-address = 127.0.0.1
IP アドレスのバインドを削除して、次のように変更します。bind-address = 0.0.0.0
次に、MySQL Server を再起動します。/etc/init.d/mysql restart
エラー 2:エラー 2003 (HY000): 'hostxxxxx' の MySQL サーバーに接続できません (10061)
エラーの理由:
mysqld データベース サービスが開始されていません。
解決策:確認: Windows タスク マネージャーまたは unix/linux で ps -aux | grep mysql を使用します。サービスが開始されていることを確認します。 処理: mysqld サービスを開始します
エラー 3:ファイアウォールが有効になっています
解決策:
ファイアウォールはポート 3306 の接続を許可する必要があります。 【
注: 上記の手順は仮想マシン (LINUX) で実行されます。IP アドレス xxx.xxx.xxx.xxx は Windows の IP アドレスまたは %.]
以上がNavicat がデータベースに接続できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。