Hướng dẫn lost connection to mysql server during query php - mất kết nối với máy chủ mysql trong khi truy vấn php
Khi bạn chạy các truy vấn MySQL, đôi khi bạn có thể gặp phải lỗi khi nói rằng bạn bị mất kết nối với máy chủ MySQL như sau: Show
Lỗi trên thường xảy ra khi bạn chạy truy vấn MySQL dài hoặc phức tạp chạy trong hơn một vài giây. Để sửa lỗi, bạn có thể cần thay đổi cài đặt toàn cầu liên quan đến thời gian chờ trong máy chủ cơ sở dữ liệu MySQL của bạn. Tăng thời gian chờ kết nối từ dòng lệnhNếu bạn đang truy cập MySQL từ dòng lệnh, thì bạn có thể tăng số giây MYSQL sẽ đợi phản hồi kết nối bằng tùy chọn Theo mặc định, MySQL sẽ đợi 10 giây trước khi phản hồi với lỗi thời gian chờ kết nối. Bạn có thể tăng số lên 120 giây để chờ hai phút:
Bạn có thể điều chỉnh số Khi bạn ở bên trong bảng điều khiển Sử dụng tùy chọn Nếu bạn muốn thực hiện thay đổi vĩnh viễn cho biến hết thời gian kết nối, thì bạn cần điều chỉnh cài đặt từ máy chủ cơ sở dữ liệu MySQL hoặc công cụ GUI bạn đã sử dụng để truy cập vào máy chủ cơ sở dữ liệu của mình. Hãy cùng xem cách thay đổi các biến toàn cầu trong thời gian chờ trong máy chủ cơ sở dữ liệu MySQL của bạn trước tiên. Điều chỉnh các biến toàn cầu thời gian chờ trong máy chủ cơ sở dữ liệu MySQL của bạnCơ sở dữ liệu MySQL lưu trữ các biến toàn cầu liên quan đến thời gian chờ mà bạn có thể truy cập bằng truy vấn sau:
Ở đây, kết quả từ cơ sở dữ liệu địa phương của tôi. Các biến được tô sáng là những biến bạn cần thay đổi để cho MySQL chạy các truy vấn dài hơn:
Để thay đổi các giá trị biến, bạn có thể sử dụng truy vấn 0 như được hiển thị bên dưới:
Truy vấn trên phải điều chỉnh giá trị biến 1 thành 2 giây. Bạn có thể điều chỉnh các số khi bạn thấy phù hợp.Điều chỉnh các biến thời gian chờ trong các tệp cấu hình MySQL của bạnNgoài ra, nếu bạn sử dụng tệp cấu hình MySQL để kiểm soát cài đặt kết nối của mình, thì bạn có thể chỉnh sửa tệp My.cnf (MAC) hoặc tệp My.ini (Windows) được sử dụng bởi kết nối MySQL của bạn. Mở tệp cấu hình đó bằng Trình chỉnh sửa văn bản mà bạn chọn và cố gắng tìm các biến sau trong MySQLD:
Các biến 3 và 4 không nên gây ra bất kỳ vấn đề nào vì chúng thường có 28800 giây (hoặc 8 giờ) làm giá trị mặc định của chúng.Để ngăn chặn lỗi thời gian chờ, bạn cần tăng các giá trị biến 1 và 6. Tôi đề nghị đặt nó thành ít nhất 2 giây (10 phút)Nếu bạn sử dụng các công cụ GUI MySQL như MySQL Workbench, phần tiếp theo ACE hoặc PHPMyAdmin, thì bạn cũng có thể tìm thấy các biến liên quan đến thời gian chờ được cấu hình bởi các công cụ này trong menu cài đặt hoặc tùy chọn của chúng. Ví dụ: trong MySQL Workbench cho Windows, bạn có thể tìm thấy các cài đặt liên quan đến thời gian chờ trong Chỉnh sửa> Tùy chọn> Trình soạn thảo SQL như hiển thị bên dưới:Edit > Preferences > SQL Editor as shown below: Nếu bạn sử dụng Mac, thì menu sẽ nằm trong MySQLworkBench> Tùy chọn> Trình chỉnh sửa SQL như được hiển thị bên dưới:MySQLWorkbench > Preferences > SQL Editor as shown below: Nếu bạn sử dụng phần tiếp theo ACE như tôi, thì bạn có thể tìm thấy tùy chọn thời gian chờ kết nối trong menu Tùy chọn> Mạng.Preferences > Network menu. Tại đây, một ảnh chụp màn hình từ cài đặt mạng ACE phần tiếp theo: Đối với các công cụ GUI khác, bạn cần tự mình tìm tùy chọn. Bạn có thể thử tìm kiếm thuật ngữ 8 trong Google để tìm tùy chọn.Và đó là bốn giải pháp bạn có thể cố gắng khắc phục kết nối MySQL bị mất trong quá trình vấn đề truy vấn. Tôi hy vọng hướng dẫn này đã hữu ích cho bạn 🙏 Tại sao truy vấn bị mất kết nối với máy chủ MySQL?Lỗi trên thường xảy ra khi bạn chạy truy vấn MySQL dài hoặc phức tạp chạy trong hơn một vài giây.Để sửa lỗi, bạn có thể cần thay đổi cài đặt toàn cầu liên quan đến thời gian chờ trong máy chủ cơ sở dữ liệu MySQL của bạn.commonly happens when you run a long or complex MySQL query that runs for more than a few seconds. To fix the error, you may need to change the timeout-related global settings in your MySQL database server.
Làm cách nào để sửa chữa máy chủ mysql đã sử dụng PHP?Để sửa chữa, bạn có thể tăng giới hạn kích thước gói tối đa MAX_ALLED_PACKET trong tệp My.cnf, ví dụ.Đặt max_allowed_packet = 128m, sau đó khởi động lại máy chủ MySQL của bạn: sudo /etc /init.D/MySQL khởi động lại.increase the maximal packet size limit max_allowed_packet in my. cnf file, eg. set max_allowed_packet = 128M , then restart your MySQL server: sudo /etc/init. d/mysql restart.
PHP có tự động đóng kết nối MySQL không?Hầu hết các CMS đóng kết nối MySQL ở cuối yêu cầu, điều này thực sự vô nghĩa, bởi vì dù sao cũng sẽ làm điều đó.PHP will do it anyway.
Không thể kết nối với máy chủ MySQL khi hết thời gian?Một lỗi kết nối đã xảy ra lỗi khi tường lửa của cơ sở dữ liệu sẽ không cho phép bạn kết nối với cơ sở dữ liệu từ máy hoặc tài nguyên cục bộ của bạn.Nếu bạn đang gặp lỗi này, hãy kiểm tra xem bạn đã thêm máy hoặc tài nguyên bạn đang kết nối với danh sách các nguồn đáng tin cậy của cơ sở dữ liệu.check that you have added the machine or resource you are connecting from to the database's list of trusted sources. |