最初にハードデータ:
ローカルマシン:Xubuntu 17.10、MySql-Workbench 6.3
リモートマシン:Ubuntu 16.04、MySql-Client 5.7およびMySql-Server 5.7
接続方法は次のとおりです:Standard TCP/IP over SSH
エラー:
127.0.0.1:3306にあるホストからサーバーへのユーザー 'root'の接続試行が失敗しました: '127.0.0.1'のMySQLサーバーに接続できません(111)
次に、確認する項目のリストが表示されます。
1 MySQLがサーバー127.0.0.1で実行されていることを確認します
小切手
2 mysqlがポート3306で実行されていることを確認します
小切手
3ルートが自分のアドレスから127.0.0.1に接続する権限を持っていることを確認します
私はmysql.userテーブルをチェックしましたが、root
にはホスト:localhost
があると表示されています。MySql-Workbenchがリモートマシンにssh接続してから、MySql-Server、localhostに接続します大丈夫です。
それでも、ホストをワイルドカードとして%
に設定しようとしましたが、何も変更されなかったため、デフォルトのlocalhostに戻しました。 my.cnf
も確認しました。それはその内容全体です:
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
bind-address
またはskip-networking
ディレクティブセットはありません。
4必要に応じてパスワードを入力し、接続元のホストアドレスから接続する127.0.0.1の正しいパスワードを使用していることを確認します
パスワードなどはすべて問題ありません。パスワードが設定され、ログイン時に正しく入力されます。
私が行うとき、Workbenchが行うことになっていること
ssh user@remotemachine
)mysql -u root -p
)MySql-Workbenchからは実行できません。
調査できたものはすべて試したことがあるので、助かります。
同じ問題がmysql workbench 6.3.8 build 1228 CE(64-bits)community with kubuntu 18.04 versionで発生しました。
私は接続方法を設定します標準tcp/ip over sshで、リモートサーバーに接続しようとすると、sshパスワードを要求し、sshトンネルが成功した後、リモートmysqlパスワードを要求します(これは私が予期していなかったためです)キーチェーンにパスワードを保存する-接続ウィンドウでオプションを利用できます)、それを入力したときに上記のエラーが発生しました。
チェック後サーバーmysqlログで私はこの行を見つけました:ユーザー 'root' @ 'localhost'のアクセスは拒否されました(パスワード:NOを使用)
しかし、ワークベンチが私に尋ねている間、私はすでにパスワードを入力しました。
最終的に接続を編集してmysqlのパスワードをキーチェーンオプションに保存すると、問題なく動作します。
エラーメッセージは、MySQLサーバーに到達できなかったことを明確に示しています。そのため、MySQLサーバーへのアクセスをブロックする可能性のあるすべてのものを確認してください。これは、ユーザー関連ではありません。
すべてにyesで答えることができれば、MySQL WorkbenchからMySQLサーバーへの接続に問題はないはずです。 MySQLサーバーがSSHエンドポイントと同じマシン上にない場合、またはネットワークが無効になっている場合、または試行したものとは異なるポートを使用している場合、ポイント6は少し複雑になる可能性があります。
しかし、一般的な考えは今や明確になっているはずです。実際の問題を切り分けてみてください(ネットワーク関連か、構成の問題か)。多分このビデオはあなたにも役立つかもしれません: https://www.youtube.com/watch?v=DCgRF4KOYIY&t=76s
/etc/mysql/mysql.conf.d/mysqld.cnf
に移動して、次のように変更します。
bind-address = 127.0.0.1
に:
#bind-address = 127.0.0.1