Как я могу это исправить: удаленный доступ Mysql не работает - PullRequest
0 голосов
/ 03 марта 2019

Я сделал это в mysql

USE mysql;

CREATE user 'test'@'%' IDENTIFIED BY 'test';

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

и в терминале

sudo apt-get install ufw

sudo ufw allow mysql

sudo ufw allow 3306

service mysql restart

и отредактировал mysqld.cnf в /etc/mysql/mysql.conf.d

#bind-address       = 127.0.0.1

но когда я пытаюсь получить доступ к серверу mysql в терминале с этим кодом

mysql -utest -ptest --port 3306 --host [myip]

enter image description here

И это 3306 статус порта

enter image description here

Ответы [ 4 ]

0 голосов
/ 10 марта 2019

вы пытались пропинговать сервер MySQL и telnet порт?

::: 3306 означает, что ваш сервер MySQL прослушивает ipv4 и ipv6, если вы хотите получить к нему доступ через ipv6, вам нужнодобавьте

bind-address = ::

для поддержки вашего доступа к ipv6

0 голосов
/ 07 марта 2019

дать apache удаленный доступ

Проверить этот ответ https://stackoverflow.com/a/55037055/7510232

0 голосов
/ 08 марта 2019

Вид этой строки означает, что MySQL прослушивает ipv6:

:::3306

Я думаю, что MySQL в настоящее время только прослушивает адрес ipv6 (и localhost), поэтому попробуйте установить привязку-адрес к адресу ipv4, который вы используете.

0 голосов
/ 07 марта 2019

У вас есть как минимум локальный доступ к MySQL, так как вы можете выполнить оператор CREATE USER.

Используя этот доступ, проверьте таблицу performance_schema.host_cache: в ней перечислены все возможные первопричины для запрещенных соединений.

https://dev.mysql.com/doc/mysql-perfschema-excerpt/5.7/en/host-cache-table.html

При этом, с переменными состояния и т. Д., Вы сможете выяснить:

  • заблокировано ли соединение в сети, а недаже при достижении сервера
  • соединение блокируется самим сервером из-за различных сбоев, влияющих на аутентификацию.

Попробуйте также использовать простой telnet для порта 3306, и посмотрите, если соединениеи некоторые ответные данные возвращаются, указывая на то, что сервер может быть достигнут, по крайней мере, в сети.

РЕДАКТИРОВАТЬ:

Комментировать bind-адрес в файле cnf - это одно, но лучшечтобы проверить, какой адрес привязки фактически используется сервером:

mysql> show variables like "%bind%";
+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| bind_address        | *     |
| mysqlx_bind_address | *     |
+---------------------+-------+
2 rows in set (0.02 sec)

Это может повлиять на соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...