Нет отклика от MySQL на Ubuntu Server (виртуальная машина)
Раздал инет с телефона. Подключил домашний ноут к этой раздаче.
Установил Ubuntu Server 16 x32 на ноут (Win8) в виде виртуальной машины в Oracle VM VirtualBox.
Настройки сети этой виртуальной машины:
Запускаю виртуальную машину с установленным Ubuntu Server и смотрю с помощью команды
ip a
ip данного сервера. Допустим он указан как 123.456.7.89
Установил на сервер MySQL Server
sudo apt-get install mysql-server
Разрешил удаленный доступ в MySQL
sudo mysql_secure_installation utility
Запустил firewall и добавил разрешение для MySQL
sudo ufw enable
sudo ufw allow mysql
В файле /etc/mysql/mysql.conf.d/mysqld.cnf поменял bind-address
bind-address = 0.0.0.0
Зашел в MySQL, создал БД и указал на нее разрешение доступа
mysql -u root -p
CREATE DATABASE test
GRANT ALL ON test.* TO someuser@'PUBLIC IPV4 ADDRESS' IDENTIFIED BY 'some_password';
соответственно 'PUBLIC IPV4 ADDRESS' это публичный IP второго компа (Win10) с которого хочу подключаться к БД test. Этот комп подключен к домашней WiFi сети.
На втором компе запускаю Py код
import mysql.connector
db = mysql.connector.connect(
host='123.456.7.89',
user='someuser',
passwd='some_password'
)
mycursor = db.cursor()
mycursor.execute('SHOW DATABASE')
и получаю ошибку
Traceback (most recent call last):
File "C:\Users\pese\PycharmProjects\MySQL_twt\venv\lib\site-packages\mysql\connector\network.py", line 574, in open_connection
self.sock.connect(sockaddr)
TimeoutError: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\pese\PycharmProjects\MySQL_twt\test_1.py", line 3, in <module>
db = mysql.connector.connect(
File "C:\Users\pese\PycharmProjects\MySQL_twt\venv\lib\site-packages\mysql\connector\__init__.py", line 273, in connect
return MySQLConnection(*args, **kwargs)
File "C:\Users\pese\PycharmProjects\MySQL_twt\venv\lib\site-packages\mysql\connector\connection.py", line 107, in __init__
self.connect(**kwargs)
File "C:\Users\pese\PycharmProjects\MySQL_twt\venv\lib\site-packages\mysql\connector\abstracts.py", line 1003, in connect
self._open_connection()
File "C:\Users\pese\PycharmProjects\MySQL_twt\venv\lib\site-packages\mysql\connector\connection.py", line 350, in _open_connection
self._socket.open_connection()
File "C:\Users\pese\PycharmProjects\MySQL_twt\venv\lib\site-packages\mysql\connector\network.py", line 576, in open_connection
raise errors.InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '123.456.7.89:3306' (10060 Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера)
Пробую со второго компа через консоль пингануть мой сервер:
ping 123.456.7.89
ответ со 100% потерь:
Обмен пакетами с 123.456.7.89 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для 123.456.7.89:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)
