Ето бърз списък за проверка за активиране на отдалечени връзки за MySQL, но първо прочетете (6). Ако съм пропуснал нещо, не се колебайте да редактирате.
1) Вашият отдалечен потребител се свързва чрез акаунт, който е създаден с подходящ user,host
записи (вижте изхода от изберете потребител, хост от mysql.user подредете по 1,2
). Ако не, вижте СЪЗДАВАНЕ НА ПОТРЕБИТЕЛкод>
и/или GRANT
команди. Разгледайте изхода от ПОКАЖЕТЕ ГРАНТОВЕ
за потребителя.
2) Направихте привилегии за flush;
(Някои казват, че е ненужно, други казват, че е).
3a) Намерете вашия конфигурационен файл на mysql, посочен в 3b) по-долу, като прегледате информацията в Този документ
(или за Windows, вероятно надолу в C:\ProgramData\MySQL\MySQL Server 5.NNN
път). Тя варира според дистрибуцията за Linux.
3b) Вие променихте и запазихте my.ini
(Windows) или my.cnf
(Linux) и промени bind-address
далеч от 127.0.0.1
или localhost
, в полза на 0.0.0.0
. И сте създали извадих следния ред:#skip-networking
. Ще изглежда подобно на това:
[mysqld]
bind-address=0.0.0.0
#skip-networking
4) Рестартирайте демона mysql. Как се прави това варира в зависимост от дистрибуцията.
5) Проблеми със защитната стена. Уверете се, че портът, като по подразбиране е 3306
, е отворен за външния свят (който всъщност може да е просто вашия интранет). Това включва всякакви други слоеве защитни стени, като AWS EC2 Security Groups или подобни, ако има такива.
6) Разберете, че има риск за сигурността, свързан с това. Освен ако не знаете как да излагате вашия mysql сървър на отдалечени връзки, не правете това.
7) Моля, правете чести оценки на сигурността с select
изявление, изброено в 1. по-горе, включително преглед на ПОКАЖЕТЕ ГРАНТОВЕ
за тези потребители. Не предоставяйте излишно на потребителите със заместващи символи. По-скоро дайте на потребителите минималните привилегии, за да свършат работата си.
8) Често проверявайте неуспешните опити за свързване чрез Общия регистър и Регистратора на грешките, както е представено накратко по-долу.
За входящи можете да разгледате общия регистър на заявките.
select @@general_log; -- a 1 indicates it is turned on for capture
select @@general_log_file; -- the file that it logs to
Така че всички заявки могат да бъдат влезли в Общ журнал на заявки
ако настройката е включена. Проверете регистрационния файл за "свързване", но особено за Достъпът е отказан за потребител
да видите неуспешни опити. Правете това редовно (не на всеки няколко години). Правя го поне два пъти на ден. Имайте предвид, че очевидно можете да автоматизирате отчитането чрез външна програма. Външният свят ще визва вашият сървър да влезе, както е на изображението по-долу. Това е реалност; подгответе се за това.
Вижте страницата с ръководството за Регистъра на грешките също, отбелязвайки нивата на предупреждение и настройките за многословност въз основа на вашата версия.
Бих препоръчал човек да създаде резервно копие по дата (наречено като такова) и да изтрие регистрационните файлове след архивиране, за да започне наново след архивирането. Регистрационните файлове могат да нараснат бързо по размер, особено Общият дневник. Не забравяйте дали имате включена или изключена настройка за регистриране.
Можете да използвате двата регистъра, за да определите дали опитът ви за свързване е минал през защитната стена по време на стъпките тук.