Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се свърже отдалечено с инсталацията на EC2 MySQL

най-добрият инструмент, който открих, беше 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ГРЕШКА 2003 (HY000):Не мога да се свържа с MySQL сървър на локален хост (10061)

  2. Каква е целта на character_set_connection?

  3. mysql се пресичат

  4. върнете една стойност от базата данни с mysql php pdo

  5. как да запитам много към много?