Hôm qua tôi đã cập nhật trang web Wordpress của mình lên phiên bản WordPress mới nhất (6.0) và tôi đã cập nhật một số plugin khác lên phiên bản mới nhất của chúng.Sau khi cập nhật, mọi thứ dường như hoạt động tốt, vì vậy tôi đã tắt trang bảo trì của mình. Vài giờ sau, máy chủ MySQL từ xa của tôi (được sử dụng cho cơ sở dữ liệu WP) bị lỗi và sáng nay Máy chủ Web (Nginx) của tôi không thể kết nối với cơ sở dữ liệu.
Tôi đã khôi phục các máy chủ sản xuất của mình từ bản sao lưu và tôi đã đính kèm ổ đĩa có khả năng bị hỏng từ máy chủ MySQL vào một phiên bản mới. MySQL sẽ không khởi động và tôi đã xem xét nhật ký, nhưng chúng vượt xa trình độ chuyên môn của tôi.
Dưới đây là hai phần của nhật ký. Đầu tiên mô tả tham nhũng tiềm năng? Tôi đã thêm innodb_force_recovery = 6 vào tệp CNF của mình và điều đó cho phép MySQL khởi động, nhưng tôi thực sự không biết điều này có nghĩa là gì. Điều đó có nghĩa là đảm bảo 100% có tham nhũng và nếu có thì làm cách nào để tìm ra nguyên nhân/ở đâu?
Phần thứ hai có lỗi vùng đệm, tôi dễ hiểu hơn một chút. Tôi đã nhận xét cài đặt innodb_buffer_pool_size trong tệp CNF của mình, nhưng điều đó không ảnh hưởng đến MySQL khi bắt đầu mà không có innodb_force_recovery được đặt thành 6.
Tôi hy vọng ai đó có thể giải thích các lỗi và có khả năng làm thế nào để tìm ra (các) nguyên nhân?
MySQL8.0.29
R6G.Large (2 nhân, ram 16gb)
Vùng đệm: 12000M
Phần 1:
InnoDB: Chúng tôi cố tình tạo bẫy bộ nhớ.
InnoDB: Gửi báo cáo lỗi chi tiết tới http://bugs.mysql.com.
InnoDB: Nếu bạn gặp sự cố hoặc lỗi xác nhận lặp đi lặp lại, thậm chí
InnoDB: ngay sau khi khởi động mysqld, có thể có
InnoDB: tham nhũng trong không gian bảng InnoDB. Vui lòng tham khảo trước
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: về việc buộc phục hồi.
18:49:04 UTC - mysqld có tín hiệu 6 ;
Nhiều khả năng là bạn đã gặp phải lỗi, nhưng lỗi này cũng có thể do phần cứng bị trục trặc.
Con trỏ luồng: 0xfffc28000b20
Đang cố quay lại. Bạn có thể sử dụng các thông tin sau để tìm hiểu
nơi mysqld chết. Nếu bạn không thấy tin nhắn nào sau đó, điều gì đó đã xảy ra
sai kinh khủng...
stack_bottom = fffc488565f0 thread_stack 0x100000
/usr/sbin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x44) [0x1d0e2a4]
/usr/sbin/mysqld(print_fatal_signal(int)+0x28c) [0xe3278c]
/usr/sbin/mysqld(my_server_abort()+0xa0) [0xe32920]
/usr/sbin/mysqld(my_abort()+0x14) [0x1d08244]
/usr/sbin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x290) [0x1f79ba0]
/usr/sbin/mysqld() [0x1f7c42c]
/usr/sbin/mysqld(page_copy_rec_list_end_no_locks(buf_block_t*, buf_block_t*, unsigned char*, dict_index_t*, mtr_t*)+0x2dc) [0x1ec1dec]
/usr/sbin/mysqld(page_copy_rec_list_end(buf_block_t*, buf_block_t*, unsigned char*, dict_index_t*, mtr_t*)+0x300) [0x1ec2270]
/usr/sbin/mysqld(btr_compress(btr_cur_t*, bool, mtr_t*)+0x624) [0x1fa53f4]
/usr/sbin/mysqld(btr_cur_pessimistic_delete(dberr_t*, bool, btr_cur_t*, unsigned int, bool, unsigned long, unsigned long, unsigned long, mtr_t*, btr_pcur_t*, purge_node_t*)+0x1cc) [0x1fb130c]
/usr/sbin/mysqld() [0x1f02bf8]
/usr/sbin/mysqld(row_purge_step(que_thr_t*)+0x4f4) [0x1f05364]
/usr/sbin/mysqld(que_run_threads(que_thr_t*)+0x578) [0x1ece5e8]
/usr/sbin/mysqld(srv_worker_thread()+0x21c) [0x1f3184c]
/usr/sbin/mysqld(std::thread::_State_impl<std::thread::_Invoker<std::tuple<Detached_thread, void (*)()> > >::_M_run()+0xd4) [0x1e85774]
/usr/sbin/mysqld() [0x244623c]
/lib64/libpthread.so.0(+0x722c) [0xffffab1ec22c]
/lib64/libc.so.6(+0xd2e5c) [0xffffaaa99e5c]
Cố gắng để có được một số biến.
Một số con trỏ có thể không hợp lệ và khiến quá trình kết xuất bị hủy bỏ.
Truy vấn (0): ID kết nối (ID luồng): 0
Trạng thái: NOT_KILLED
Trang hướng dẫn tại http://dev.mysql.com/doc/mysql/en/crashing.html chứa
thông tin sẽ giúp bạn tìm ra nguyên nhân gây ra sự cố.
2022-05-25T18:49:04.565524Z 0 [Cảnh báo] [MY-010918] [Máy chủ] 'default_authentication_plugin' không được dùng nữa và sẽ bị xóa trong bản phát hành trong tương lai. Vui lòng sử dụng authentication_policy để thay thế.
2022-05-25T18:49:04.565544Z 0 [Hệ thống] [MY-010116] [Máy chủ] /usr/sbin/mysqld (mysqld 8.0.29) bắt đầu dưới dạng quy trình 6679
2022-05-25T18:49:04.571539Z 1 [Hệ thống] [MY-013576] [InnoDB] Khởi tạo InnoDB đã bắt đầu.
2022-05-25T18:49:05.807854Z 1 [Hệ thống] [MY-013577] [InnoDB] Quá trình khởi tạo InnoDB đã kết thúc.
2022-05-25T18:49:06.622221Z 0 [Hệ thống] [MY-010229] [Máy chủ] Bắt đầu khôi phục sự cố XA...
2022-05-25T18:49:06.625449Z 0 [Hệ thống] [MY-010232] [Máy chủ] Quá trình khôi phục sự cố XA đã hoàn tất.
2022-05-25T18:49:07.251794Z 0 [Cảnh báo] [MY-010068] [Máy chủ] Chứng chỉ CA ca.pem tự ký.
2022-05-25T18:49:07.251829Z 0 [Hệ thống] [MY-013602] [Máy chủ] Kênh mysql_main được định cấu hình để hỗ trợ TLS. Kết nối được mã hóa hiện được hỗ trợ cho kênh này.
2022-05-25T18:49:07.272581Z 0 [Hệ thống] [MY-011323] [Máy chủ] Plugin X sẵn sàng cho các kết nối. Địa chỉ liên kết: '::' cổng: 33060, ổ cắm: /var/run/mysqld/mysqlx.sock
2022-05-25T18:49:07.272631Z 0 [Hệ thống] [MY-010931] [Máy chủ] /usr/sbin/mysqld: sẵn sàng kết nối. Phiên bản: '8.0.29' ổ cắm: '/var/lib/mysql/mysql.sock' cổng: 3306 Máy chủ Cộng đồng MySQL - GPL.
2022-05-25T18:49:07.347411Z 0 [ERROR] [MY-012687] [InnoDB] [FATAL] Rec offset 99, cur1 offset 4038, cur2 offset 16004
2022-05-25T18:49:07.347449Z 0 [ERROR] [MY-013183] [InnoDB] Lỗi xác nhận: page0page.cc:502:ib::chuỗi kích hoạt gây tử vong 281457662619536
Phần 2:
Trang hướng dẫn tại http://dev.mysql.com/doc/mysql/en/crashing.html chứa
thông tin sẽ giúp bạn tìm ra nguyên nhân gây ra sự cố.
2022-05-26T12:27:29.518146Z 0 [Cảnh báo] [MY-010918] [Máy chủ] 'default_authentication_plugin' không được dùng nữa và sẽ bị xóa trong bản phát hành trong tương lai. Vui lòng sử dụng authentication_policy để thay thế.
2022-05-26T12:27:29.518165Z 0 [Hệ thống] [MY-010116] [Máy chủ] /usr/sbin/mysqld (mysqld 8.0.29) bắt đầu từ quy trình 17135
2022-05-26T12:27:29.524074Z 1 [Hệ thống] [MY-013576] [InnoDB] Khởi tạo InnoDB đã bắt đầu.
2022-05-26T13:20:40.613066Z 0 [Cảnh báo] [MY-010918] [Máy chủ] 'default_authentication_plugin' không được dùng nữa và sẽ bị xóa trong bản phát hành trong tương lai. Vui lòng sử dụng authentication_policy để thay thế.
2022-05-26T13:20:40.613087Z 0 [Hệ thống] [MY-010116] [Máy chủ] /usr/sbin/mysqld (mysqld 8.0.29) bắt đầu dưới dạng quy trình 1086
2022-05-26T13:20:41.866918Z 1 [Hệ thống] [MY-013576] [InnoDB] Khởi tạo InnoDB đã bắt đầu.
2022-05-26T13:20:49.824464Z 0 [Cảnh báo] [MY-012681] [InnoDB] page_aligned_alloc mmap(137232384 byte) không thành công; lỗi 12
2022-05-26T13:20:49.844869Z 0 [Cảnh báo] [MY-012681] [InnoDB] page_aligned_alloc mmap(137232384 byte) không thành công; lỗi 12
2022-05-26T13:20:49.961232Z 1 [ERROR] [MY-012956] [InnoDB] Không thể phân bổ bộ nhớ cho vùng đệm
2022-05-26T13:20:49.961279Z 1 [ERROR] [MY-012930] [InnoDB] Quá trình khởi tạo plugin bị hủy bỏ do lỗi Lỗi chung.
2022-05-26T13:20:49.962080Z 1 [ERROR] [MY-010334] [Server] Không thể khởi tạo DD Storage Engine
2022-05-26T13:20:49.962240Z 0 [ERROR] [MY-010020] [Server] Quá trình khởi tạo Từ điển dữ liệu không thành công.
2022-05-26T13:20:49.962355Z 0 [ERROR] [MY-010119] [Server] Đang hủy bỏ
2022-05-26T13:20:49.966630Z 0 [Hệ thống] [MY-010910] [Máy chủ] /usr/sbin/mysqld: Tắt hoàn tất (mysqld 8.0.29) Máy chủ cộng đồng MySQL - GPL.
Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời.
Cập nhật: Tôi đã chạy mysqlcheck trên cơ sở dữ liệu bị lỗi của mình và nó phát hiện ra lỗi. Có vẻ như nguyên nhân là do WooC Commerce?
Đây là lỗi mysqlcheck trả về:
sản xuất.wp_wc_admin_note_actions
Cảnh báo: InnoDB: Cây B của chỉ mục CHÍNH bị hỏng.
Cảnh báo: InnoDB: Chỉ mục 'note_id' chứa 1004 mục, phải là 18446744073709551615.
lỗi: Hỏng
Jack