Если вы не хотите использовать ssh tunnel, в my.cnf или mysqld.cnf вы должны изменить 127.0.0.1 с вашим локальным IP-адресом ( 192.168.1.100 ), чтобы иметь доступ через Lan. Пример ниже:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ищите bind-адрес в my.cnf или mysqld.cnf
bind-address = 127.0.0.1
и измените 127.0.0.1 на 192.168.1.100 (локальный IP-адрес)
bind-address = 192.168.1.100
Чтобы применить внесенные изменения, необходимо перезапустить сервер MySQL, используя следующую команду.
sudo /etc/init.d/mysql restart
Измените пользовательский корень для локальных сетей (выполните запрос ниже на удаленном сервере, к которому вы хотите иметь доступ)
root@192.168.1.100:~$ mysql -u root -p
..
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Если вы хотите иметь доступ только с определенного IP-адреса, замените 'root' @ '%' на 'root' @ '(ip address или hostname)'
CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Затем вы можете подключиться:
nobus@xray:~$ mysql -h 192.168.1.100 -u root -p
протестировано на сервере Ubuntu 18.04
10061
= Соединение отказано