Stivinov

MySql настройка удаленного доступа (Ubuntu Linux)

4 сообщения в этой теме

Пару дней назад я столкнулся с проблемой, которую решал сутки! (по причине того, что я ещё зелёный  - это моё оправдание ахах)
Я пытался подключить сайт с одного хостинга к базе данных другого!   Но это не работало!

Вот решение этой проблемы:
p/s Я не знаю, с точки зрения безопасности, верное ли это) 
Возможно,кому то будет полезным 
 

По умолчанию MySql настроен таким образом, что к нему разрешены подключения только с локальной машины, следовательно, подключиться из-вне (по интернет или локальной сети) не получится.

Чтобы настроить удаленный доступ к MySql (настройка производится на операционной системе Ubuntu Linux и может отличаться для других ОС) необходимо отредактировать файл с настройками (конфигурационный файл).
   Обычно он располагается по пути /etc/mysql и называется my.cnf, хотя бывают и другие настройки.


 

Чтобы отредактировать файл с настройками MySql необходимо выполнить следующую команду:

sudo nano /etc/mysql/my.cnf

Если файл с настройками находится по пути /etc/mysql/mysql.conf.d/ и называется mysqld.cnf, тогда так:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Далее необходимо найти такую строку в открытом файле:

bind-address	= 127.0.0.1

В данной строке указывается, с каких адресов разрешено подключение к MySql, в данном случае только с адреса 127.0.0.1, то есть с локальной машины (127.0.0.1 = localhost). Для того, чтобы открыть доступ к нужному IP, его нужно прописать вместо 127.0.0.1. Если необходим доступ с любого адреса, то написать как показано ниже.

bind-address	=  0.0.0.0

После замены настроет bind-address MySql, его необходимо перезапустить:

sudo service mysql restart

Или так:

/etc/init.d/mysql restart

Теперь нужной подключиться к MySql с паролем суперпользователя:

sudo mysql -p

После подключения к MySql нужно создать пользователя и дать привилегию, например:

mysql> GRANT ALL PRIVILEGES ON userdatabase.* TO 'user'@'192.168.0.10' IDENTIFIED BY 'password'; 

В данном случае дается полный доступ к базе данных userdatabase пользователю с логином user и паролем password, подключающемуся с IP 192.168.0.10.

Если необходимо разрешить доступ ко всем базам, то вместо имени базы данных пишется знак *, если необходимо разрешить доступ с любого IP, то вместо IP адреса пишется знак %. Ниже представлен пример, разрешающий пользователю user полный доступ ко всем базам данных с любого IP.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password'; 

Данная инсрукция справедлива и для других linux дистрибутивах, основанных на debian.

 
 
 
Изменено пользователем Stivinov
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А мог просто закомментить bind-address.

Цитата

Вот решение этой проблемы:
p/s Я не знаю, с точки зрения безопасности, верное ли это) 
Возможно,кому то будет полезным 

Если на твою впску могут подключиться удаленно, то это уже не особо безопасно ))

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Stivinov сказал:

Если необходим доступ с любого адреса, то написать как показано ниже.

bind-address    =  0.0.0.0

 

 

Можно было просто закомментить.
С версии 5.5 можно добавить вторую строчку bind-address со вторым IP, с которого ты подключаешься, если верить докам.

Я бы воспользовался именно вторым способом. =)

Изменено пользователем Bahamut
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

воабще соединения между сайтами так себе темка

 

Конструкции типа 

GRANT ALL PRIVILEGES

удаленному пользователю, не советую давать.

Воабще, все привелегии кроме как админу базы данных лучше не давать.

 

Хабиля как-то писал про сообщение между сайтами

когда хотел захостить сайт с регистрацией на Фри хостинге а база с сервером на ВПС

Работает так что СКЛ  пользователь  который прописан в конфиге сайта,

имеет права ТОЛЬКО на чтение в  СКЛ представление 

vw_players (nickname, level, zenny,) - отоьбражет данные в рейтинге на сайте 

 

и на воспроизведение отложеных процедур

sp_register

sp_passrestore

 

Как уже описывалось, если фри хостинг будет взломан Какеры не смогут делать то что-бы делал Хабиля .... рисовать МВП карты и барыжить ими и затирать логи.

или, сделать выборку:

 логин, пассворд ГДЕ админлевел=100 

и потом брутить (или не брутить ЛЕЛ) пароли админов, не получиться.

 

Все что какеры смогут, это Сделать выборку по информации и так доступной на сайте.

и зарегистрировать нового игрока

или сбросить пароль зная логин и проверочный токен высылаемый на Е-мейл ....

 

Делайте правильно, и не позволяйте ШколоКакерам вроде Хабили барыжить рисоваными МВП картами у вас на сервере...

 

Изменено пользователем Habilis
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас