質問: '10000'; ``` これはただ、mysqlサーバの3306デフォルトポートに接続しにいってしまっているということでしょうか。 どこを見直せばいいかご教授よろしくお願いいたします。
回答: > > $cfg['Servers'][$i]['host'] = '192.168.2.42'; > > $cfg['Server'][$i]['port'] = '10000'; > > > phpMyAdminの設定は良くわからないのですが、後者が`Servers`ではなく`Server`になっているためにデフォルトポートの3306が使用されていて、SSHとは無関係に192.168.2.42:3306に接続されているのではないでしょうか。 それ以前の部分からいろいろおかしいので、一から設計を見直すことをお勧めします。 > > データベースmysqlサーバ(192.168.2.42)に対して別マシン(192.168.2.44)から接続をおこなおうとしております。 > > そこでポートフォワードの設定をおこないました。 > > > > ``` > ssh -f -N -C -L 10000:127.0.0.1:3306 root@192.168.2.44 -p 22 > > ``` > > このsshの接続では、MySQLサーバ側の127.0.0.1:10000がphpMyAdminマシン側の127.0.0.1:3306に転送されています。(-gが指定されていないので、192.168.2.42:10000は開いていません) 一方、phpMyAdminの設定では、192.168.2.42:10000に接続しようという意図だと見受けられます。この場合、192.168.2.44→192.168.2.42:10000はSSHトンネルを通りません。 ``` 192.168.2.42(MySQL) 192.168.2.44(phpMyAdmin) --------------------- (SSH) -------------------- | |----------->| | 127.0.0.1:10000-+============+-->127.0.0.1:3306 | |----------->| | | | |(192.168.2.42:10000)|<- ---------|(phpMyAdmin) ※今の設定では開いてない ``` そもそもMySQL over SSHが本当にやりたいことでしょうか。ネットワークが信頼できない場合であればMySQLはネイティブでSSL接続をサポートしていますのでこちらを検討すべきです。