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

Kết nối MySQL không hoạt động

Đây là danh sách kiểm tra nhanh để bật Kết nối Từ xa cho MySQL nhưng hãy đọc (6) trước. Nếu tôi có thiếu sót gì, vui lòng chỉnh sửa.

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 người dùng, máy chủ lưu trữ thích hợp các mục nhập (xem đầu ra từ select user, host từ mysql.user order by 1,2 ). Nếu không, hãy xem TẠO NGƯỜI DÙNG và / hoặc GRANT các lệnh. Kiểm tra kết quả từ HIỂN THỊ LỚP cho người dùng.

2) Bạn đã thực hiện đặc quyền tuôn ra; (Một số nói rằng nó là không cần thiết, những người khác nói rằng nó là).

3a) Tìm tệp cấu hình mysql của bạn được tham chiếu trong 3b) bên dưới bằng cách xem lại thông tin trong Tài liệu này (hoặc đối với Windows, có thể bị hỏng C:\ ProgramData \ MySQL \ MySQL Server 5.NNN đường dẫn). Nó khác nhau tùy theo phiên bản dành cho Linux.

3b) Bạn đã sửa đổi và lưu my.ini (Windows) hoặc my.cnf (Linux) và bind-address đã thay đổi tránh xa 127.0.0.1 hoặc localhost , ủng hộ 0.0.0.0 . Và bạn đã tạo viết lại dòng sau: # ignore-networking . Nó sẽ giống như sau:

[mysqld]
bind-address=0.0.0.0
#skip-networking

4) Khởi động lại trình nền mysql. Điều này thay đổi như thế nào tùy theo phiên bản.

5) Các vấn đề về tường lửa. Đảm bảo rằng cổng, mặc định là 3306 , mở cửa với thế giới bên ngoài (thực tế có thể chỉ là mạng nội bộ của bạn). Điều này bao gồm bất kỳ lớp tường lửa nào khác, chẳng hạn như Nhóm bảo mật AWS EC2 hoặc tương tự, nếu có.

6) Hiểu rằng có một rủi ro bảo mật liên quan đến điều này. Trừ khi bạn có kiến ​​thức về việc để máy chủ mysql của mình tiếp xúc với các kết nối từ xa, đừng thực hiện việc này.

7) Vui lòng chạy đánh giá bảo mật thường xuyên với select tuyên bố được liệt kê trong 1. ở trên bao gồm cả việc xem lại SHOW GRANTS cho những người dùng đó. Không cấp quá nhiều ký tự đại diện cho người dùng một cách không cần thiết. Thay vào đó, hãy cung cấp cho người dùng những đặc quyền tối thiểu để họ hoàn thành công việc của mình.

8) Thường xuyên kiểm tra các lần thử kết nối không thành công qua Nhật ký chung và Nhật ký lỗi như được giới thiệu ngắn gọn bên dưới.

Đối với thư đến, bạn có thể xem nhật ký truy vấn chung.

select @@general_log; -- a 1 indicates it is turned on for capture
select @@general_log_file; -- the file that it logs to

Vì vậy, tất cả các truy vấn có thể được đã đăng nhập vào Nhật ký truy vấn chung nếu cài đặt được bật. Kiểm tra nhật ký để tìm "kết nối", nhưng đặc biệt đối với Quyền truy cập bị từ chối đối với người dùng để xem những lần thử không thành công. Làm điều này thường xuyên (không phải vài năm một lần). Tôi làm điều đó ít nhất hai lần một ngày. Lưu ý, rõ ràng bạn có thể tự động báo cáo thông qua một chương trình bên ngoài. Thế giới bên ngoài sẽ pound máy chủ của bạn để truy cập như hình ảnh bên dưới. Đó là một thực tế; chuẩn bị tinh thần cho nó.

Xem trang thủ công để biết Nhật ký Lỗi cũng như lưu ý các mức cảnh báo và cài đặt chi tiết dựa trên phiên bản của bạn.

Tôi khuyên bạn nên tạo một bản sao lưu theo ngày (được đặt tên như vậy) và xóa các tệp nhật ký sau khi sao lưu để bắt đầu mới sau khi sao lưu. Các tệp nhật ký có thể tăng kích thước khổng lồ một cách nhanh chóng, đặc biệt là Nhật ký chung. Đừng quên bạn đã bật hay tắt cài đặt này để ghi nhật ký hay chưa.

Bạn có thể sử dụng hai nhật ký để xác định xem nỗ lực kết nối của bạn có vượt qua tường lửa trong các bước ở đây hay không.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_PRETTY () - Định dạng tài liệu JSON để dễ đọc hơn trong MySQL

  2. Cách chọn nhiều hàng từ mysql với một truy vấn và sử dụng chúng trong php

  3. Tại sao MYSQL cao hơn LIMIT bù đắp làm chậm truy vấn?

  4. Điều kiện SQL WHERE không bằng?

  5. org.hibernate.HibernateException:Cơ sở dữ liệu trả về không có giá trị nhận dạng tự nhiên nào được tạo