Kết nối bị từ chối MySQL

Tôi vừa cài đặt một máy chủ Ubuntu mới với mysql (percona 5. 5), nhưng nó từ chối chấp nhận kết nối từ máy chủ từ xa

Đây là những gì xảy ra nếu tôi cố gắng kết nối với máy chủ này từ xa

mysql -h10.0.0.2 -uroot -pmypassowrd
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111)

telnet 10.0.0.2 3306
Trying 10.0.0.2...
telnet: Unable to connect to remote host: Connection refused

Khi tôi kiểm tra xem mysql có nghe kết nối từ xa không, tôi thấy điều này

sudo netstat -ntlup | grep mysql
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      127018/mysqld 

Như bạn có thể thấy nó nói 127.0.0.1:3306 có nghĩa là "Tôi chỉ chấp nhận các kết nối cục bộ"

Tôi đã kiểm tra các biến skip_networkingbind-address của mình - mọi thứ đều bị tắt

mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | OFF   |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show variables like '%bind%';
Empty set (0.00 sec)

Tôi có một máy chủ khác có cùng cấu hình và nó hoạt động rất tốt

sudo netstat -ntlup | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2431/mysqld 

Điều gì có thể là lý do cho điều này?

Chúng ta hãy xem xét kỹ hơn về lỗi từ chối kết nối CPanel MySQL và các biện pháp khắc phục với sự hỗ trợ của các dịch vụ hỗ trợ MySQL của chúng tôi tại Bobcares

Kích hoạt MySQL từ xa từ WHM

Các kết nối MySQL từ xa bị tắt theo mặc định trong các máy chủ cPanel để tránh các rủi ro bảo mật tiềm ẩn đối với máy chủ MySQL

cpanel mysql connection refused

Chúng tôi có thể kích hoạt chúng thông qua Trình quản lý máy chủ web (WHM) hoặc cPanel (đối với cơ sở dữ liệu cụ thể được tạo trong tài khoản cPanel đó). Đảm bảo rằng cổng 3306 được mở trong tường lửa của máy chủ trước khi tiếp tục các phương pháp tiếp theo

  1. Đăng nhập vào WHM, điều hướng đến bảng điều khiển Dịch vụ SQL, sau đó nhấp vào tùy chọn Máy chủ truy cập MySQL bổ sung
  2. Ở màn hình tiếp theo, nhập địa chỉ IP hoặc (các) máy chủ mà chúng tôi muốn cấp quyền truy cập MySQL từ xa và nhấp vào nút Lưu. Nếu chúng tôi muốn kích hoạt các cài đặt này cho tất cả các tài khoản cPanel, hãy nhấp vào liên kết Nhấp vào đây ở dưới cùng

    Bây giờ, kết nối từ xa sẽ ở giai đoạn hoạt động trong WHM. Mỗi tài khoản cPanel muốn sử dụng kết nối từ xa cần kích hoạt như sau

Kích hoạt MySQL từ xa từ cPanel cho lỗi từ chối kết nối

  1. Điều hướng đến khu vực Cơ sở dữ liệu của cPanel. Định vị và chọn tùy chọn Remote MySQL trong phần Cơ sở dữ liệu
  2. Trên màn hình tiếp theo, nhập tên máy chủ hoặc địa chỉ IP mà chúng tôi muốn cấp quyền truy cập MySQL từ xa và nhấp vào nút Lưu

    Nếu địa chỉ IP thay đổi thường xuyên, hãy sử dụng dấu % làm ký tự đại diện. Điều này bao gồm tất cả các địa chỉ IP trong phạm vi đó. Ví dụ: 192. 168. 3. % có thể liệt kê các địa chỉ IP kéo dài từ 192. 168. 3. 1 đến 192. 168. 3. 255

Đôi khi nó không khả dụng từ xa sau khi cho phép các kết nối từ xa của MySQL vì nó bị ràng buộc với máy chủ cục bộ (127. 0. 0. 1)

Thực hiện các sửa đổi sau đối với tệp cấu hình MySQL để giải quyết vấn đề này (my. conf)

  1. Đầu tiên, đăng nhập vào máy chủ MySQL và sử dụng trình soạn thảo văn bản để định cấu hình. tệp cnf chẳng hạn như vi. cái, của tôi. tệp cnf sẽ có mặt tại

    /etc/mysql/my.cnf or at /etc/my.cnf.
    # vi /etc/my.cnf

  2. Sau khi mở tệp, hãy tìm dòng có chứa bỏ qua mạng và đảm bảo nhận xét như sau

    ________số 8

  3. Sau đó tìm dòng chứa bind-address và comment nó ra như sau

    # bind-address = 127.0.0.1

  4. Cuối cùng, Lưu tệp, sau đó đóng tệp và khởi động lại máy chủ MySQL

    sudo netstat -ntlup | grep mysql
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      127018/mysqld 
    
    0

Sửa lỗi cPanel Mysql Kết nối bị từ chối

SQLSTATE[HY000] [2002] Kết nối MySQL cPanel bị từ chối trên máy chủ MySQL. có thể được gây ra bởi một số yếu tố;

  • Kiểm tra xem phần [cơ sở dữ liệu] của tệp cấu hình config/config. ban đầu. php (trong thư mục Matomo) chứa thông tin đăng nhập Cơ sở dữ liệu phù hợp và cập nhật

    Xác minh rằng tên người dùng cơ sở dữ liệu, mật khẩu, máy chủ cơ sở dữ liệu và cổng cơ sở dữ liệu đều hợp lệ

  • Nếu tệp cấu hình đề cập đến host = “localhost”, chúng tôi có thể thử thay đổi nó thành 127. 0. 0. 1, ví dụ, trong cấu hình. ban đầu. php bên dưới [cơ sở dữ liệu] đặt máy chủ = “127. 0. 0. 1. ”
  • Nếu các sửa đổi nói trên không khắc phục được sự cố, hãy thử kết nối với MySQL từ dòng lệnh để xem thông tin đăng nhập có đúng không và máy chủ có hoạt động không

    Kết nối với máy chủ Matomo và chạy lệnh sau. -h [hostname] -u [username] -p[password] -D [dbname] mysql (Thay thế các giá trị trong [] bằng các giá trị từ cấu hình. ban đầu. tập tin php. )

  • Nếu câu lệnh trên chạy nhưng chúng ta vẫn gặp lỗi “Kết nối bị từ chối” trong trình duyệt, có thể có vấn đề về PHP. Vui lòng liên hệ với nhà cung cấp dịch vụ lưu trữ web hoặc quản trị viên hệ thống
  • Đảm bảo rằng Máy chủ MySQL đang hoạt động. Kết nối với máy chủ cơ sở dữ liệu MySQL và thực hiện lệnh
    sudo netstat -ntlup | grep mysql
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      127018/mysqld 
    
    1 để xem máy chủ MySQL có hoạt động không

    Kết quả sẽ giống như thế này. 172505 giờ hoạt động Câu hỏi. 90 chủ đề. 2 0 truy vấn chậm 157 bảng mở 3 bảng tuôn ra Có 76 bảng mở

  • Nếu máy chủ cơ sở dữ liệu không chạy, hãy khởi động lại Mysql (hoặc khởi động lại toàn bộ máy chủ)
  • Ngoài ra, nếu máy chủ cơ sở dữ liệu đã hết dung lượng đĩa và không còn dung lượng trống trên máy chủ, nó có thể bắt đầu từ chối kết nối
  • Đôi khi máy chủ MySQL có thể từ chối một số kết nối theo cấu hình (ví dụ: kết nối từ bên ngoài mạng)

[Cần hỗ trợ với các truy vấn tương tự?

Phần kết luận

Để kết thúc, giờ đây chúng ta đã tìm hiểu thêm về lỗi từ chối kết nối cPanel MySQL và cách quản lý cũng như tránh nó bằng một tập hợp các bước đơn giản từ việc kiểm tra thông tin đăng nhập Cơ sở dữ liệu và nhiều bước khác với sự hỗ trợ của các dịch vụ hỗ trợ MySQL của chúng tôi.  

NGĂN CHẶN MÁY CHỦ CỦA BẠN KHỎI SỰ CỐ

Không bao giờ mất khách hàng vì tốc độ máy chủ kém. Hãy để chúng tôi giúp bạn

Các chuyên gia máy chủ của chúng tôi sẽ giám sát và bảo trì máy chủ của bạn 24/7 để nó luôn hoạt động nhanh và an toàn

Tại sao cơ sở dữ liệu MySQL của tôi không kết nối?

Dưới đây là một số lý do có thể xảy ra lỗi Không thể kết nối với máy chủ MySQL cục bộ. mysqld không chạy trên máy chủ cục bộ . Kiểm tra danh sách quy trình của hệ điều hành của bạn để đảm bảo có quy trình mysqld. Bạn đang chạy một máy chủ MySQL trên Windows với nhiều kết nối TCP/IP tới nó.

Tại sao kết nối của tôi bị từ chối?

ERR_CONNECTION_REFUSED là một trong những lỗi kết nối có thể xuất hiện trong Chrome. Đây thường là sự cố phía máy khách với một số nguyên nhân có thể xảy ra, bao gồm kết nối internet không đáng tin cậy, sự cố tiện ích mở rộng của Chrome, sự can thiệp của phần mềm chống vi-rút và tường lửa cũng như cài đặt internet không chính xác.

Làm cách nào để kiểm tra xem MySQL có đang nghe trên 3306 không?

Cách đúng là sử dụng. sudo lsof -i. 3306 .

Tại sao lại là 127. 0 0. 1 từ chối kết nối?

0. 1 (địa chỉ lặp lại). Vì vậy, máy khách của bạn đang cố gắng kết nối với bất kỳ địa chỉ không lặp lại nào trên máy của bạn, trong khi máy chủ của bạn chỉ nghe trên địa chỉ lặp lại. Vì vậy, không thể thiết lập kết nối. Giải pháp cho vấn đề này là kết nối với cùng một điểm cuối mà máy chủ của bạn đang lắng nghe .