най-добрият инструмент, който открих, беше sqlyog (може би и mysql workbench), който всъщност щеше да каже името на хоста, от който идвате при неуспешното свързване.
The reason I like it is that it keeps security tight, showing something likeAccess denied for user "example@ sqldat.com ". Имайте предвид, че името на хоста току-що измислих, но е важно каквото и да влиза вашето. В противен случай е време за заместващи знаци, нещо, което няма да направя. Може да изберете.
това е важно, защото името на хоста (hdm38.newyork.comcastbusiness.net ) е този, който използвам по време на mysql create user
за разлика от използването на заместващи знаци като %
Оставих това свързване по-горе да се провали, но отбелязвам какво е името на хоста по-горе. Ще го видите по-долу.
Бърз контролен списък
1) вашият отдалечен потребител се свързва чрез акаунт, който е създаден с подходящ user,host
записи (вижте изхода от select user,host from mysql.user order by 1,2
)
CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';
С тази по-горе команда вече имаме нов потребител, който има шанс да влезе. Не можем да направим нищо. Не може да се промени в db. По принцип те могат просто да правят неща като select now();
2) изпълнили сте grants
с flush privileges
(поне първото)
GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';
Нашият потребител с горната команда вече може да прави всичко в базата данни/схемата на mydb123. Разгледайте тази по-горе команда Grant в ръководството за фина настройка на достъпа до минимума за потребителите, които създавате.
Ако сте нов в сигурността на mysql, не включвайте WITH GRANT OPTION
докато не го проучите.
Има такива, които биха казали, че името на хоста по-горе е „%“ за стъпки 1 и 2. Това означава, че Дядо Коледа може да се свърже от всеки хост. Изборът е твой. Започнете стегнато, разхлабете се, след като стигнете някъде и сте направили проучване за това.
3) променихте my.cnf и промени bind-address
далеч от 127.0.0.1
или localhost
, в полза на 0.0.0.0
Ако адресът на свързване не е 0.0.0.0
, свързвате се само с ssh
4) променихте my.cnf и има изключен ред #skip-networking
. Дори ако трябва да създадете линията само за да я премахнете, направете го.
3/4 промени изискват рестартиране на демона на mysql
5) проблеми със защитната стена. Така че за EC2 се нуждаете от вашата AWS Security Group
който е активен, за да включва отварянето на порт 3306