Hướng dẫn error: 1205 mysql - lỗi: 1205 mysql

Cập nhật các trang web thường có thể hiển thị & nbsp; MySQL error 1205 lock wait timeout khi không chèn dữ liệu vào các bảng MySQL.

May mắn thay, khi máy chủ MySQL phát hiện sự cố, nó sẽ được đăng nhập vào tệp nhật ký lỗi.

Ngoài ra, lỗi này xảy ra khi Lock_Wait_Timeout hết hạn hoặc khi một quy trình hiện tại ngăn chặn một quy trình mới được thực thi trên cùng một bảng.

Đó là lý do tại sao, tại Bobcares, chúng tôi thường nhận được yêu cầu từ khách hàng của mình để sửa lỗi MySQL 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 tôi sẽ thấy cách các kỹ sư hỗ trợ của chúng tôi sửa lỗi thời gian chờ đợi lỗi của MySQL Lỗi 1205.

Tại sao MySQL lỗi 1205 Khóa thời gian chờ đợi?

MySQL là một hệ thống quản lý cơ sở dữ liệu được tất cả CMS sử dụng để lưu trữ và thu thập dữ liệu trang web. Ngoài ra, nó cho phép nhiều người dùng quản lý và tạo cơ sở dữ liệu.

Ngoài ra, để truy xuất dữ liệu từ cơ sở dữ liệu, các hệ thống quản lý nội dung phổ biến như WordPress, Joomla, Magento, ETC thực hiện các truy vấn SQL để tạo nội dung một cách linh hoạt.

Tuy nhiên, trong khi quản lý cơ sở dữ liệu trang web, khách hàng có thể gặp lỗi SQLSTATE[HY000]: General error: 1205 Lock wait timeout do truy vấn MySQL không đầy đủ.

Biến biến Lock_wait_timeout này chỉ định thời gian chờ tính bằng giây cho các lần thử để có được các khóa siêu dữ liệu của cơ sở dữ liệu.

Đôi khi, lỗi này có thể xảy ra nếu bạn chạy một loạt các tập lệnh tùy chỉnh và giết các tập lệnh trước khi cơ sở dữ liệu đóng kết nối.

Cách chúng tôi đã sửa lỗi MySQL lỗi 1205 Khóa thời gian chờ đợi

Từ kinh nghiệm của chúng tôi trong việc quản lý các máy chủ MySQL, chúng tôi đã thấy nhiều khách hàng phải đối mặt với lỗi này. Tại đây, hãy để Lừa thấy lý do hàng đầu cho 1205 lỗi và cách các kỹ sư hỗ trợ của chúng tôi giải quyết vấn đề.

1. Quá trình không hoạt động

Một quá trình không hoạt động có thể gây ra vấn đề trong khi viết vào bảng MySQL.

Gần đây, một trong những khách hàng của chúng tôi đã đưa ra một lỗi ____ 5 & nbsp; anh ấy đã gặp lỗi này trong khi cố gắng cập nhật một hàng trên một bảng cụ thể của cơ sở dữ liệu.

Sau đó, chúng tôi thực hiện các bước sau đây để giải quyết vấn đề.

1. Ban đầu, chúng tôi đã đăng nhập vào máy chủ với tư cách là người dùng gốc.

2. Chúng tôi đăng nhập vào lời nhắc MySQL từ CLI và chạy lệnh

SHOW PROCESSLIST;

Nó đã hiển thị các quy trình MySQL chạy trên máy chủ

+———+—————–+——————-+—————–+———+——+——-+——————+———–+—————+———–+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read |
+———+—————–+——————-+—————–+———+——+——-+——————+———–+—————+———–+
| 545566 | db_user| 91.xx.yy.65:21532 | db_name| Sleep | 3800 | | NULL | 0 | 0 | 0 |
| 547967 | db_user| 91.xx.yy.65:27488 | db_name| Sleep | 3757 | | NULL | 0 | 0 | 0 |
| 549360 | db_user| 91.xx.yy.65:32670 | db_name| Sleep | 3731 | | NULL | 0 | 0 | 0 |
| 549450 | db_user| 91.xx.yy.65:47424 | db_name | Sleep |2639 | | NULL | 0 | 0 | 0 |
| 549463 | db_user| 91.xx.yy.65:56029 | db_name| Sleep | 2591 | | NULL | 0 | 0 | 0 |

Từ đầu ra, chúng tôi thấy rằng quá trình với ID 545566 đã ở trạng thái ngủ trong thời gian 3800 giây. Điều này vượt quá cài đặt thời gian chờ khóa và gây ra vấn đề.

Ngoài ra, khi một quy trình hiện tại đang chạy, nó có thể ngăn một quy trình mới thực hiện trên cùng một bảng.

Do đó, chúng tôi đã phân tích trạng thái quy trình và thấy rằng việc kết thúc quá trình là hoàn toàn ổn. Vì vậy, chúng tôi đã giải quyết lỗi này bằng cách tiêu diệt các quy trình trong tình trạng giấc ngủ bằng lệnh.

kill -9 

Để tránh hành vi trang web không mong muốn, luôn nên kiểm tra chi tiết quy trình của một chuyên gia cơ sở dữ liệu.

2. Innodb_lock_wait_timeout không đủ

Tương tự, nhiều khách hàng có các trang web lưu lượng truy cập lớn có thể cần phải chạy đồng thời các quy trình khác nhau. Họ có thể trải nghiệm điều này MySQL error 1205 lock wait timeout do không đủ innodb_lock_wait_timeout. Điều đó có nghĩa là truy vấn đang mất quá nhiều thời gian để thực hiện.

Chẳng hạn, một trong những khách hàng có một trang web với 8000 khách truy cập mỗi ngày. Ngoài ra, họ đã thêm 6000 bài viết vào trang web mà không tối ưu hóa tài nguyên máy chủ. Kết quả là, khi họ cố gắng lưu các bài viết, trang web đã hiển thị một trang trống. Lỗi không liên tục như một thời gian sau đó, nó cho thấy trang web gốc.

Khi kiểm tra, chúng tôi thấy rằng vấn đề có liên quan đến truy vấn SQL trên máy chủ MySQL. Khi có quá nhiều người chỉnh sửa cùng một bài viết cùng một lúc, nó đã tạo ra rất nhiều cuộc gọi đến một bảng cơ sở dữ liệu MySQL. Sau đó, truy vấn mà chờ đợi quá lâu đã được quay trở lại. Do đó, khách hàng có một trang trống trên trang web gốc.

Vì vậy, các kỹ sư hỗ trợ của chúng tôi đã sửa lỗi này bằng cách tăng giá trị của innodb_lock_wait_timeout & nbsp; Trong tệp cấu hình MySQL tại /etc/my.cnf.

Sau đó, nó cho phép truy vấn SQL chờ đợi lâu hơn để các giao dịch khác hoàn tất.

Tuy nhiên, điều chỉnh các tham số cấu hình MySQL luôn có vai trò chính trong hoạt động trơn tru của bất kỳ trang web nào.

[Nhận lỗi mysql 1205 thời gian chờ đợi khóa? Chúng tôi sẽ sửa nó cho bạn.]

Sự kết luận

Nói tóm lại, thời gian chờ đợi Lỗi MySQL 1205 Khóa xảy ra khi LOCK_WAIT_TIMEOUT hết hạn hoặc khi một quy trình hiện tại ngăn chặn một quy trình mới được thực hiện trên cùng một bảng. Hôm nay, chúng tôi đã thấy những lý do làm thế nào các kỹ sư hỗ trợ của chúng tôi đã sửa lỗi liên quan.

Ngăn chặn máy chủ của bạn bị sập!

Đừng bao giờ mất khách hàng với 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à duy trì máy chủ của bạn 24/7 để nó vẫn nhanh như chớp và an toàn.

BẮT ĐẦU

var google_conversion_label = "owoncmyg5neq0ad71qm";