Невозможно подключиться к Workbench на недавно установленных Linux и MySQL в Azure

Невозможно подключиться к Workbench на недавно установленных Linux и MySQL в Azure

Я создал новый Ubuntuсервер v18 на Microsoft Azure. Я создал входящее правило, разрешающееport 3306

Я побежалupdates and upgrades

Я сделалsudo apt install mysql-server

Я проверил, работает ли он, с помощью:

sudo service mysql status

И теперь я пытаюсь подключиться к нему через MySQL Workbench и не могу подключиться к нему, когда нажимаю test connectionкнопку

Что еще я упускаю?

решение1

Чтобы предоставить MySQL доступ к чему-либо, кроме localhost, вам понадобится следующая строка

Для mysql версии 5.6 и ниже

раскомментирован в /etc/mysql/my.cnf и назначен IP-адресу вашего компьютера, а не loopback

Для mysql версии 5.7 и выше

раскомментировать в /etc/mysql/mysql.conf.d/mysqld.cnf и назначить IP-адресу вашего компьютера, а не loopback

Замените xxx на ваш IP-адрес.

bind-address        = xxx.xxx.xxx.xxx

Или добавьте, bind-address = 0.0.0.0если вы не хотите указывать IP.

Затем остановите и перезапустите MySQL с новой записью my.cnf. После запуска перейдите в терминал и введите следующую команду.

lsof -i -P | grep :3306

Это должно вернуть что-то вроде этого с вашим реальным IP в xxx

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

Если приведенное выше утверждение вернет правильно, вы сможете принимать удаленных пользователей. Однако для того, чтобы удаленный пользователь мог подключиться с правильными привилегиями, вам необходимо создать этого пользователя как на локальном хосте, так и в '%', как в.

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
then,

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

и наконец,

FLUSH PRIVILEGES; 
EXIT;

Затем вы можете подключиться к своему MySQL.

Надеюсь, что это поможет вам.

Связанный контент