3

Я установил сервер MySQL на свою машину и смог подключиться, используя MySqlWorkbench в качестве локального хоста (порт:3306). Но когда я меняю localhost на имя моей машины, оно не работает. Мне нужно получить доступ к базе данных с другого компьютера, на котором находится мой веб-сервер, поэтому доступ с использованием localhost не поможет. Что может быть не так?

PS. Я мог получить доступ к локальному apache как localhost:8080, а также machinename:8080. Я ожидал, что подобное поведение с MySql

1 ответ1

2

Компьютеры, которым разрешено подключаться к серверу mysql, определены в /etc/my.cnf.

Вам нужно будет отредактировать файл, чтобы разрешить подключение со всех компьютеров

[mysqld]
bind-address = localhost #Change from localhost to '0.0.0.0' (all zeros) 
skip-networking   #Comment out this line if it exits
enable-named-pipe #Comment out this line if it exists

Будьте осторожны, после того, как вы изменили адрес привязки с localhost на 0.0.0.0, mysql разрешит соединения из любого места. Вы должны заблокировать брандмауэр, чтобы в него могли входить только определенные машины.

Вам также может понадобиться изменить базу данных, чтобы разрешить удаленные подключения. Если ваш ip удаленного компьютера 192.168.1.100

 GRANT ALL PRIVILEGES ON *.* TO db_user @'192.168.1.100' IDENTIFIED BY 'db_passwd';

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .