Không được phép kết nối với máy chủ MySQL này Python?

Trong bài viết nhanh này, bạn sẽ học cách giải quyết lỗi “ERROR 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 ứng dụng khách mysql như được hiển thị

# mysql -u database_username -p -h 10.24.96.6
Lỗi kết nối cơ sở dữ liệu từ xa MySQL

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 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 từ

# 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";
Kiểm tra máy chủ người dùng MySQL

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ừ máy chủ cục bộ. 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 lệnh GRANT sau để bật quyền 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ới 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";
Cho phép người dùng truy cập cơ sở dữ liệu MySQL từ xa từ máy chủ từ xa

Để cấp cho người dùng quyền truy cập từ xa từ tất 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ư trong ảnh chụp màn hình sau

# mysql -u database_username -p -h 10.24.96.6
Kết nối với máy chủ cơ sở dữ liệu MySQL từ xa

Chúng tôi hy vọng giải pháp này đã giúp bạn khắc phục lỗi kết nối từ xa Mysql của mình. Nếu có bất kỳ câu hỏi 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

Giải pháp cho Máy chủ không được phép kết nối với máy chủ Mysql này sẽ được trình bày bằng các ví dụ trong bài viết này

Grant All Privileges ON *.* to 'USER_NAME'@'%' Identified By 'YOUR_PASSWORD'; 
FLUSH PRIVILEGES;

Có thể sử dụng một phương pháp khác được mô tả bên dưới cùng với các ví dụ về mã để giải quyết vấn đề tương tự Máy chủ lưu trữ không được phép kết nối với máy chủ Mysql này

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Chúng tôi đã chỉ ra cách sử dụng lập trình để giải quyết vấn đề Máy chủ không được phép kết nối với máy chủ Mysql này với một loạt ví dụ

Làm cách nào để cho phép máy chủ kết nối với máy chủ MySQL?

Cách cho phép kết nối từ xa với MySQL

  • Bước 1. Chỉnh sửa tệp cấu hình MySQL
  • Bước 2. Thiết lập tường lửa để cho phép kết nối MySQL từ xa. lựa chọn 1. UFW [Tường lửa không phức tạp] Tùy chọn 2. Tường lửaD. Tùy chọn 3. Mở Port 3306 bằng iptables
  • Bước 3. Kết nối với máy chủ MySQL từ xa

Không được phép kết nối với máy chủ MySQL này dữ liệu MySQL?

Lỗi này xảy ra do cấu hình mặc định mà cơ sở dữ liệu MySQL của bạn hiện đang sử dụng. Cấu hình này chỉ cho phép kết nối từ người dùng 'root' khi đến từ 'localhost' chứ không phải các dải địa chỉ IP khác. 02-Nov-2018

Tại sao máy chủ MySQL không kết nối?

thông thường có nghĩa là không có máy chủ MySQL nào đang chạy trên hệ thống hoặc bạn đang sử dụng tên tệp ổ cắm Unix hoặc số cổng TCP/IP không chính xác khi cố gắng kết nối với máy chủ. Bạn cũng nên kiểm tra xem cổng TCP/IP bạn đang sử dụng có bị chặn bởi tường lửa hoặc dịch vụ chặn cổng không

Làm cách nào để sửa lỗi MySQL không thể kết nối với localhost?

Ghi chú. Dừng máy chủ XAMPP trước khi làm theo các bước

  • Bước 1. Cấu hình lại máy chủ MySQL thành cổng 3306. Nhấp vào Bắt đầu và mở trình cài đặt MySql – cộng đồng
  • Bước 2. Định cấu hình lại XAMPP để sử dụng một cổng khác ngoài 3306. Mở XAMPP và thay đổi cổng khác với 3306 trong hai tệp

Làm cách nào để mở cổng 3306 cho MySQL trong Windows 10?

Cổng 3306 là bắt buộc đối với MySQL và MariaDB. mysql

  • Mở Bảng điều khiển và nhấp vào Bảo mật
  • Nhấp vào Tường lửa của Windows
  • Nhấp vào Cài đặt nâng cao, Quy tắc gửi đến
  • Nhấp vào Quy tắc mới
  • Nhấp vào Cổng, sau đó nhấp vào Tiếp theo. Chọn TCP
  • Nhấp vào Tiếp theo, sau đó nhấp vào Cho phép kết nối
  • Kiểm tra tên miền và riêng tư
  • Nhập MySQL làm Tên và Mô tả

Làm cách nào để tìm máy chủ MySQL?

Để hiển thị máy chủ MySQL thông qua lệnh SQL, hãy sử dụng biến hệ thống “tên máy chủ”. Hoặc bạn có thể sử dụng lệnh “hiển thị các biến” để hiển thị máy chủ MySQL thông qua lệnh SQL. 30-Jul-2019

Làm cách nào để cấp tất cả các đặc quyền cho cơ sở dữ liệu trong MySQL?

Để CẤP TẤT CẢ các đặc quyền cho một người dùng, cho phép người dùng đó toàn quyền kiểm soát một cơ sở dữ liệu cụ thể, hãy sử dụng cú pháp sau. mysql> CẤP TẤT CẢ CÁC ĐẶC QUYỀN TRÊN database_name. * ĐẾN 'tên người dùng'@'localhost';

Không được phép kết nối với máy chủ cửa sổ máy chủ MySQL này?

Lỗi này xảy ra do cấu hình mặc định mà cơ sở dữ liệu MySQL hiện đang sử dụng. Cấu hình này chỉ cho phép kết nối từ người dùng 'root' khi đến từ 'localhost' chứ không phải các dải địa chỉ IP khác

Làm cách nào để khởi động lại MySQL?

Đầu tiên, mở cửa sổ Run bằng cách sử dụng bàn phím Windows + R. Thứ hai, loại dịch vụ. msc và nhấn Enter. Thứ ba, chọn dịch vụ MySQL và nhấp vào nút khởi động lại

Chủ Đề