Sqlstate HY000 là gì?

Cơ sở dữ liệu đóng một vai trò quan trọng trong hoạt động bình thường của bất kỳ ứng dụng web nào. Họ lưu trữ, sắp xếp và quản lý một lượng lớn dữ liệu người dùng

Bất kỳ vấn đề nào với kết nối cơ sở dữ liệu đều có thể gây ra lỗi trang web. Và lỗi hiển thị là “sqlstate hy000 error 2002. ”

Tại Bobcares, chúng tôi chuyên sửa lỗi cơ sở dữ liệu cho khách hàng như một phần của Dịch vụ quản lý máy chủ của chúng tôi

Hôm nay, chúng ta sẽ xem nhiều lý do khác nhau dẫn đến lỗi sqlstate hy000 2002 và cách các Kỹ sư cơ sở dữ liệu của chúng ta khắc phục lỗi đó

Kiểm tra lỗi sqlstate 2002

Trước khi đi sâu vào giải pháp, trước tiên hãy kiểm tra chi tiết lỗi sqlstate 2002

Nói chung, khi chúng tôi định cấu hình bất kỳ ứng dụng PHP nào, chúng tôi chỉ định chi tiết cơ sở dữ liệu trong tệp cấu hình. Điều tương tự cũng được áp dụng trong trường hợp các hệ thống quản lý nội dung phổ biến như WordPress, Joomla, Magento, v.v. Và, khi chúng tôi cập nhật hoặc thay đổi bất kỳ cài đặt nào trong trang web, nó sẽ được lưu vào cơ sở dữ liệu. Để điều này hoạt động, sẽ không có bất kỳ sự cố nào với kết nối cơ sở dữ liệu với máy chủ lưu trữ MySQL

Kết nối cơ sở dữ liệu có thể không thành công do các lý do như sai chi tiết cơ sở dữ liệu trong tệp cấu hình, hạn chế cổng trên máy chủ, thiếu tệp, thiếu tài nguyên trên máy chủ, v.v.

Nói một cách đơn giản, lỗi MySQL 2002 biểu thị sự cố kết nối giữa mã trang web và cơ sở dữ liệu

Có nhiều biến thể của lỗi sqlstate hy000 2002. Các chi tiết có sẵn trong phần thứ hai của thông báo lỗi

Từ kinh nghiệm quản lý máy chủ của chúng tôi, các Kỹ sư chuyên dụng của chúng tôi thấy các biến thể của lỗi sqlstate hy000 2002 là

Connection failed: SQLSTATE[HY000] [2002] Connection refused
Connection failed: SQLSTATE[HY000] [2002] No such file or directory
SQLSTATE[HY000] [2002] Resource temporarily unavailable
exit status 3

Một lần nữa, một lỗi tương tự trên trang web Magento xuất hiện dưới dạng

Điều gì gây ra lỗi sqlstate hy000 2002?

Bây giờ, chúng ta hãy xem các nguyên nhân có thể gây ra lỗi sqlstate hy000 2002

1. Máy chủ MySQL không chạy

Trong nhiều trường hợp website báo lỗi sqlstate 2002, nguyên nhân cơ bản là do máy chủ MySQL bị dừng. Và, điều này có thể xảy ra do thư viện MySQL bị hỏng, khủng hoảng tài nguyên trên máy chủ, v.v. Khi MySQL không chạy trên server, website sẽ không kết nối được với cơ sở dữ liệu và báo lỗi “Connection refused

2. Cài đặt cơ sở dữ liệu không chính xác

Tương tự, một lý do chính gây ra lỗi sqlstate hy000 2002 là cài đặt cơ sở dữ liệu không chính xác trong tệp cấu hình. Để chương trình hoạt động bình thường, tệp phải chứa tên máy chủ cơ sở dữ liệu chính xác, chi tiết người dùng cơ sở dữ liệu và mật khẩu

Nếu dịch vụ MySQL đang lắng nghe trên 127. 0. 0. 1, các cài đặt tương tự sẽ được cung cấp trong chuỗi kết nối cơ sở dữ liệu. Hơn nữa, máy chủ MySQL cũng sẽ chấp nhận các kết nối trên địa chỉ IP này

3. Không đủ tài nguyên máy chủ

Cuối cùng và không kém phần quan trọng, tài nguyên máy chủ không đủ cũng có thể là nguyên nhân gây ra lỗi MySQL. Khi máy chủ có quá nhiều truy vấn MySQL, nó yêu cầu quá nhiều bộ nhớ máy chủ. Ngoài ra, khi các trang web sử dụng các truy vấn sử dụng nhiều tài nguyên, nó sẽ làm tăng tải máy chủ và thiếu bộ nhớ trên máy chủ. Nó kết thúc bằng các lỗi như “SQLSTATE[HY000] [2002] Tài nguyên tạm thời không khả dụng. ”

Cách chúng tôi sửa lỗi sqlstate hy000 2002

Hãy cùng xem các Kỹ sư chuyên dụng của chúng tôi đã giúp một trong những khách hàng của chúng tôi khắc phục lỗi sqlstate hy000 2002 như thế nào

Khách hàng đang sử dụng tập lệnh theo dõi PHP trên trang web của mình. Có một khối lượng lớn hoạt động MySQL [khoảng 4 lần chèn một giây], từ tập lệnh theo dõi này và điều này đã gây ra lỗi Hết thời gian kết nối MySQL. Và, trên trang web, nó dẫn đến lỗi

Exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Connection timed out

Đó là dấu hiệu của việc hết thời gian tập lệnh PHP trong khi kết nối với máy chủ MySQL

1. Đảm bảo trạng thái chạy MySQL

Ở đây, lần đầu tiên chúng tôi kiểm tra trạng thái của máy chủ MySQL. Nó chạy tốt trên máy chủ theo đoạn trích bên dưới

● mysql.service - MySQL Community Server
   Loaded: loaded [/lib/systemd/system/mysql.service; enabled; vendor preset: enabled]
   Active: active [running] since Thu 2019-03-09 15:25:43 xx; 2 weeks 5 days ago

Do đó, chúng tôi đã cô lập vấn đề với trạng thái máy chủ MySQL

2. Sửa tệp cấu hình

Ở bước thứ hai, chúng tôi đã kiểm tra và xác nhận rằng tập lệnh đang sử dụng đúng các chi tiết Cơ sở dữ liệu bao gồm Tên máy chủ, Người dùng và Mật khẩu. Hơn nữa, trang web cũng hiển thị dữ liệu từ cơ sở dữ liệu. Vì vậy, kết nối đã xảy ra. Lỗi chỉ xảy ra ở những khoảng thời gian nhất định

Ngoài ra, chúng tôi đã kiểm tra xem người dùng cơ sở dữ liệu MySQL có thể kết nối từ dòng lệnh không

3. Sửa tài nguyên máy chủ

Vì chúng tôi đã loại trừ lỗi cấu hình, điều tiếp theo cần kiểm tra là tài nguyên máy chủ. Tại đây, các Kỹ sư chuyên dụng của chúng tôi đã kiểm tra mức sử dụng bộ nhớ trên máy chủ. Chúng tôi thấy rằng mức sử dụng bộ nhớ MySQL trong máy chủ cao [khoảng 89% bộ nhớ khả dụng]

PID  USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                             
30571 mysql     20   0 58.947g 0.055t   9832 S 135.1 89.2  16872:22 /usr/sbin/mysqld  

Số liệu thống kê sử dụng bộ nhớ trên máy chủ trông như bên dưới

Chúng ta có thể thấy rằng có một phạm vi cho các chỉnh sửa MySQL trong máy chủ. Do đó, chúng tôi đã phân tích hiệu suất của máy chủ MySQL bằng cách xem các truy vấn MySQL và tác động của nó đối với máy chủ. Sau đó, các Kỹ sư cơ sở dữ liệu chuyên nghiệp của chúng tôi đã điều chỉnh một số tham số MySQL nhất định, chẳng hạn như join_buffer_size, table_open_cache và innodb_buffer_pool_instances

Sau khi điều chỉnh, chúng tôi đã khởi động lại các dịch vụ MySQL vào giờ thấp điểm để giảm thiểu tác động đến các trang web đang hoạt động. Hiệu suất trên máy chủ MySQL được cải thiện đáng kể và nó cũng đã sửa lỗi sqlstate hy000 2002

[Bạn đang tìm cách điều chỉnh máy chủ MySQL để cải thiện hiệu suất? . ]

Phần kết luận

Nói tóm lại, lỗi sqlstate hy000 2002 có thể xảy ra do máy chủ MySQL bị dừng, không đủ tài nguyên máy chủ, v.v. Hôm nay, chúng tôi đã xem cách các Kỹ sư chuyên dụng của chúng tôi khắc phục sự cố và sửa lỗi MySQL cho một trong những khách hàng của chúng tôi

Sqlstate 02000 là gì?

Ý nghĩa. 02000. Một trong những trường hợp ngoại lệ sau xảy ra. Kết quả của câu lệnh SELECT INTO hoặc phần chọn phụ của câu lệnh INSERT là một bảng trống .

Sqlstate 45000 là gì?

Để báo hiệu một giá trị SQLSTATE chung, hãy sử dụng '45000' , có nghĩa là “ ngoại lệ do người dùng xác định chưa được xử lý . ” Câu lệnh SIGNAL tùy chọn bao gồm một mệnh đề SET chứa nhiều mục tín hiệu, trong một danh sách các chỉ định điều kiện_thông_tin_mục_tin = đơn_giản_giá_trị_quy_định, được phân tách bằng dấu phẩy.

Sqlstate 23000 là gì?

Đã sửa. SQLSTATE[23000]. Vi phạm ràng buộc toàn vẹn . 1052 .

Làm cách nào để kiểm tra lỗi trong MySQL Workbench?

Từ menu Bàn làm việc, nhấp vào "Chỉnh sửa" -> "Tùy chọn. " Mở tab "Truy vấn SQL". Kiểm tra "Xác nhận thay đổi dữ liệu" .

Chủ Đề