Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể kết nối từ xa với cài đặt MySQL EC2

công cụ tốt nhất mà tôi tìm thấy là sqlyog, (có lẽ cả bàn làm việc mysql), công cụ này thực sự sẽ cho biết tên máy chủ mà bạn đang truy cập khi kết nối không thành công.

Lý do tôi thích nó là nó giữ an ninh chặt chẽ, hiển thị một cái gì đó nhưAccess bị từ chối đối với người dùng "

điều đó quan trọng vì tên máy chủ đó ( hdm38.newyork.comcastbusiness.net ) là cái tôi sử dụng trong quá trình tạo người dùng mysql create user trái ngược với việc sử dụng các ký tự đại diện như%

Tôi đã để kết nối đó không thành công, nhưng tôi lưu ý tên máy chủ ở trên. Bạn sẽ thấy nó bên dưới.

Danh sách kiểm tra nhanh

1) người dùng từ xa của bạn đang kết nối thông qua tài khoản được tạo bằng user,host thích hợp các mục nhập (xem đầu ra từ select user,host from mysql.user order by 1,2 )

CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';

Với lệnh trên, bây giờ chúng ta có một người dùng mới có cơ hội tham gia. Không thể làm gì cả. Không thể thay đổi thành db. Về cơ bản, họ chỉ có thể làm những việc như select now();

2) bạn đã thực hiện grants với flush privileges (ít nhất là trước đây)

GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';

Người dùng của chúng tôi với lệnh trên bây giờ có thể làm bất cứ điều gì trong cơ sở dữ liệu / lược đồ mydb123. Khám phá lệnh Grant ở trên trong sổ tay hướng dẫn để tinh chỉnh quyền truy cập đến mức tối thiểu cho những người dùng bạn tạo.

Nếu bạn chưa quen với bảo mật mysql, không bao gồm WITH GRANT OPTION cho đến khi bạn nghiên cứu nó.

Có những người nói rằng có tên máy chủ ở trên là '%' cho bước 1 và 2. Điều đó có nghĩa là santa có thể kết nối từ bất kỳ máy chủ nào. Sự lựa chọn là của bạn. Bắt đầu chặt chẽ, thả lỏng khi bạn đang đến một nơi nào đó và đã thực hiện nghiên cứu về nó.

3) bạn đã sửa đổi my.cnf và thay đổi bind-address tránh xa 127.0.0.1 hoặc localhost , ủng hộ 0.0.0.0

Nếu địa chỉ ràng buộc không phải là 0.0.0.0 , bạn chỉ đang kết nối với ssh

4) bạn đã sửa đổi my.cnf và có dòng rem'd out #skip-networking . Ngay cả khi bạn phải tạo dòng chỉ để sửa lại, hãy làm điều đó.

3/4 thay đổi yêu cầu khởi động lại daemon mysql

5) các vấn đề về tường lửa. Vì vậy, đối với EC2, bạn cần AWS Security Group của mình đang hoạt động cho ví dụ để bao gồm việc mở cổng 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. nhận giá trị thập phân thô từ truy vấn mysqldb

  2. Gặp sự cố khi thực thi mysqli_query

  3. Ghi nhật ký tất cả các truy vấn trong mysql

  4. Làm cách nào để đếm giá trị NULL trong MySQL?

  5. Php mysql để thực hiện tác vụ sau 30 giây