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

Cách khắc phục LỖI 1130 (HY000):Máy chủ lưu trữ không được phép kết nối với máy chủ MySQL này

Trong bài viết nhanh này, bạn sẽ tìm hiểu cách giải quyết “ LỖI 1130 (HY000):Máy chủ x.x.x.x không được phép kết nối với máy chủ MySQL này ”Lỗi trong triển khai cơ sở dữ liệu MySQL / MariaDB trên hệ thống Linux. Đây là một trong những lỗi kết nối cơ sở dữ liệu từ xa phổ biến mà người dùng gặp phải.

Môi trường thử nghiệm:

  • IP Máy chủ Ứng dụng :10.24.96.5
  • IP Máy chủ Cơ sở dữ liệu :10.24.96.6

Chúng tôi đã gặp lỗi khi kiểm tra kết nối cơ sở dữ liệu từ một trong các máy chủ ứng dụng của chúng tôi đến máy chủ cơ sở dữ liệu, sử dụng mysql khách hàng như được hiển thị.

# mysql -u database_username -p -h 10.24.96.6

Lỗi chỉ ra rằng máy chủ 10.24.96.5 mà người dùng cơ sở dữ liệu đang kết nối từ đó không được phép kết nối với máy chủ MySQL. Trong trường hợp này, chúng tôi phải thực hiện một số thay đổi đối với máy chủ cơ sở dữ liệu để cho phép người dùng kết nối từ xa.

Trên máy chủ cơ sở dữ liệu, chúng tôi phải kiểm tra máy chủ mà người dùng ở trên được phép kết nối.

# mysql -u root -p

Chạy các lệnh SQL sau để kiểm tra máy chủ của người dùng:

MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

Từ đầu ra của lệnh, người dùng chỉ được phép kết nối với máy chủ cơ sở dữ liệu từ localhost . Vì vậy, chúng tôi cần cập nhật máy chủ của người dùng như sau.

Chạy GRANT sau lệnh cho phép truy cập MySQL cho người dùng từ xa từ máy chủ từ xa. Đảm bảo thay thế “ 10.24.96.6 ”Với địa chỉ IP của hệ thống từ xa và“ database_password ”Vào mật khẩu mà bạn muốn“ database_username ”Để sử dụng:

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

Để cấp cho người dùng quyền truy cập từ xa từ tất cả các máy chủ trên mạng, hãy sử dụng cú pháp bên dưới:

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';

Sau khi thực hiện các thay đổi trên, hãy thử kết nối từ xa với máy chủ cơ sở dữ liệu MySQL một lần nữa. Kết nối sẽ thành công như được hiển thị trong ảnh chụp màn hình sau.

# mysql -u database_username -p -h 10.24.96.6

Chúng tôi hy vọng giải pháp này đã giúp bạn giải quyết lỗi kết nối từ xa Mysql của bạn. Nếu có bất kỳ thắc mắc nào, hãy liên hệ với chúng tôi qua biểu mẫu phản hồi bên dưới.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới thiệu đơn giản về cách sử dụng MySQL trên Linux Terminal

  2. Làm cách nào để sử dụng xóa thác trong mysql?

  3. Sử dụng bí danh cột trong mệnh đề WHERE của truy vấn MySQL tạo ra lỗi

  4. DO và DONT cho chỉ mục

  5. Làm cách nào để chuyển đổi từ BLOB sang TEXT trong MySQL?