Назад | Перейти на главную страницу

Подключение MySQL Workbench к серверу MySQL, работающему в экземпляре виртуальной машины Google Cloud

У меня есть экземпляр виртуальной машины Google Cloud под управлением ОС Ubuntu, и я установил там сервер mysql. Сервер запущен, и я могу проверить его статус по sudo service mysql status

Я изменил файл mysql my.cnf как,

[mysql]
bind-address=0.0.0.0

Я настроил брандмауэр своего экземпляра следующим образом:

IP                  Protocol
*******************************************
127.0.0.1/32        all
0.0.0.0/32          all
10.128.0.0/9        tcp, udp, icmp
0.0.0.0/0           tcp:22,3389,443,80 icmp

Нажмите здесь, чтобы увидеть скриншот

Теперь в настройках подключения Mysql я заполнил следующее:

Connection Method: Standard TCP/IP over SSH
Parameter:
SSH Hostname: <vm external ip>:22
SSH Username: <vm username>
SSH Key File: <vm private key file>
MySQL Hostname: 127.0.0.1
MySQL Server Port: 3306
Username: <mysql username>
Password: <mysql password>

Нажмите здесь, чтобы увидеть скриншот

But the test connection is giving the error,
Access denied for 'none'. Authentication that can continue: publickey

Нажмите здесь, чтобы увидеть скриншот

Теперь я создал пару открытый ключ-закрытый ключ с помощью puttygen и успешно установил соединение Winscp.

Вам необходимо включить переадресацию портов sshd на вашем ssh-сервере. Убедитесь, что у вас есть AllowTcpForwarding yes в /etc/ssh/sshd_config файл, и эта служба ssh была перезапущена. Вы можете проверить это с помощью:

  • OpenSSH: ssh -v -L 3306:localhost:3306 user@VM

  • PuTTY: plink -v -L 3306:localhost:3306 user@VM

И bind-address должно быть localhost если у вас есть веб-приложение на той же виртуальной машине.

Одна из проблем заключается в том, что вы настроили открытый ключ в настройках MySQL Workbench.

Вам необходимо использовать свой закрытый ключ в настройках MySQL Workbench, а затем установить соответствующий открытый ключ для удаленного пользователя хоста. .ssh/authorized_keys файл.