Máy chủ Ubuntu của tôi bắt đầu chạy một lượng lớn hoạt động IO. Máy chủ có một vài trang web WordPress trên đó, nhưng chúng nhận được nhiều nhất vài chục lượt xem mỗi ngày. Trong vài ngày, 30GB dung lượng ổ đĩa đã được sử dụng.
kiểm tra iot
Đang chạy iot
cho thấy mysql liên tục ghi vào đĩa. Một đầu ra điển hình là như thế này:
Tổng ĐỌC ĐĨA: 0,00 B/s | Tổng tốc độ GHI ĐĨA: 390,38 K/s
ĐỌC ĐĨA hiện tại: 0,00 B/s | TỐC ĐỘ GHI ĐĨA HIỆN TẠI: 664,80 K/s
ĐĨA NGƯỜI DÙNG TID TRƯỚC ĐỌC ĐĨA GHI SWAPIN IO> LỆNH
298 be/3 root 0,00 B/s 0,00 B/s 0,00 % 4,79 % [jbd2/vda1-8]
981 be/4 mysql 0,00 B/s 0,00 B/s 0,00 % 0,55 % mysqld [ib_log_flush]
960 be/4 mysql 0,00 B/s 0,00 B/s 0,00 % 0,42 % mysqld [ib_io_wr-1]
63310 be/4 mysql 0,00 B/s 30,92 K/s 0,00 % 0,17 % mysqld [kết nối]
62908 be/4 mysql 0,00 B/s 34,79 K/s 0,00 % 0,09 % mysqld [kết nối]
64165 be/4 mysql 0,00 B/s 34,79 K/s 0,00 % 0,07 % mysqld [kết nối]
964 be/4 mysql 0,00 B/s 185,52 K/s 0,00 % 0,05 % mysqld [ib_pg_flush_co]
983 be/4 mysql 0,00 B/s 100,49 K/s 0,00 % 0,00 % mysqld [ib_log_writer]
71067 be/4 dữ liệu www 0,00 B/s 3,87 K/s 0,00 % 0,00 % apache2 -k bắt đầu
Thật vậy, kiểm tra trong /var/lib/mysql
thư mục hiển thị hàng trăm tệp binlog, tổng kích thước khoảng 30 GB. Dấu thời gian chỉ ra rằng mysql đang ghi vào binlog với tốc độ gần 1GB mỗi giờ, không có dấu hiệu chậm lại.
Kiểm tra quy trình mysql
Đang chạy mysql -p -e "hiển thị danh sách quy trình"
để xem các quy trình mysql không hiển thị gì.
+---------+------+----------+------+---------+---- --------+-------+------------------+
| ID | Người dùng | Người dẫn chương trình | đb | Lệnh | Thời gian | Nhà nước | Thông tin |
+---------+------+----------+------+---------+---- --------+-------+------------------+
| 627525 | gốc | máy chủ cục bộ | NULL | Truy vấn | 0 | ban đầu | hiển thị danh sách quy trình |
+---------+------+----------+------+---------+---- --------+-------+------------------+
Kiểm tra các tập tin binlog
sử dụng mysqlbinlog
để xem các tệp binlog cho thấy chúng chứa đầy một số loại băm. Một tệp điển hình trông giống như:
# Thuật ngữ thích hợp là pseudo_replica_mode, nhưng chúng tôi sử dụng bí danh tương thích này
# để làm cho câu lệnh có thể sử dụng được trên máy chủ phiên bản 8.0.24 trở lên.
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
KHỬ MÙI /*!*/;
# lúc 4
#220515 4:09:54 id máy chủ 1 end_log_pos 126 CRC32 0x070b8f09 Bắt đầu: binlog v 4, máy chủ v 8.0.29-0ubuntu0.20.04.3 được tạo 220515 4:09:54
BINLOG'
En2AYg8BAAAAegAAAH4AAAAAAAAQAOC4wLjI5LTB1YnVudHUwLjIwLjA0LjMAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAEwANAAgAAAAABAAEAAAAYgAEGggAAAAICAgCAAAACgoKKioAEjQA
CigAAQmPCwc=
'/*!*/;
# tại 126
#220515 4:09:54 id máy chủ 1 end_log_pos 157 CRC32 0x433aa4c9 GTID trước đó
# [trống rỗng]
# tại 157
#220515 4:09:54 id máy chủ 1 end_log_pos 236 CRC32 0x671d08bc Anonymous_GTID last_committed=0 sequence_number=1 rbr_only=yes original_committed_timestamp=1652587794635604 instant_commit_timestamp=1652587794635604 transaction_length=14092
/*!50718 THIẾT LẬP MỨC CÁCH MẠNG GIAO DỊCH ĐỌC CAM KẾT*//*!*/;
# original_commit_timestamp=1652587794635604 (2022-05-15 04:09:54.635604 UTC)
# instant_commit_timestamp=1652587794635604 (2022-05-15 04:09:54.635604 UTC)
/*!80001 SET @@session. original_commit_timestamp=1652587794635604*//*!*/;
/*!80014 SET @@session. original_server_version=80029*//*!*/;
/*!80014 SET @@session.immediate_server_version=80029*//*!*/;
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# tại 236
#220515 4:09:54 id máy chủ 1 end_log_pos 334 CRC32 0x71a6c06f Truy vấn thread_id=614826 exec_time=0 error_code=0
ĐẶT DẤU THỜI GIAN=1652587794/*!*/;
ĐẶT @@session.pseudo_thread_id=614826/*!*/;
ĐẶT @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
ĐẶT @@session.sql_mode=1149239296/*!*/;
ĐẶT @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8mb4 *//*!*/;
SET @@session.character_set_client=246,@@session.collation_connection=246,@@session.collation_server=255/*!*/;
ĐẶT @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
/*!80011 SET @@session.default_collation_for_utf8mb4=255*//*!*/;
BẮT ĐẦU
/*!*/;
# tại 334
#220515 4:09:54 id máy chủ 1 end_log_pos 415 CRC32 0x6976a620 Table_map: `wordpress-jessjohn`.`wp_options` được ánh xạ tới số 81
# tại 415
#220515 4:09:54 id máy chủ 1 end_log_pos 14218 CRC32 0x8cd2158b Update_rows: id bảng 81 cờ: STMT_END_F
BINLOG'
En2AYhMBAAAAUQAAAJ8BAAAAAFEAAAAAAAEAEendvcmRwcmVzcy1qZXNzam9obgAKd3Bfb3B0aW9u
cwAECA/8DwX8AgRQAAABAYACAfYgpnZp
En2AYh8BAAAA6zUAAIo3AAAAAFEAAAAAAAEAAgAE//8AHQAAAAAAAAANAHJld3JpdGVfcnVsZXMA
AAAAA3llcwAdAAAAAAAAAA0AcmV3cml0ZV9ydWxlc4c1AABhOjE0MDp7czoxMToiXndwLWpzb24v
PyQiO3M6MjI6ImluZGV4LnBocD9yZXN0X3JvdXRlPS8iO3M6MTQ6Il53cC1qc29uLyguKik/Ijtz
OjMzOiJpbmRleC5waHA/cmVzdF9yb3V0ZT0vJG1hdGNoZXNbMV0iO3M6MjE6Il5pbmRleC5waHAv
d3AtanNvbi8/JCI7czoyMjoiaW5kZXgucGhwP3Jlc3Rfcm91dGU9LyI7czoyNDoiXmluZGV4LnBo
cC93cC1qc29uLyguKik/IjtzOjMzOiJpbmRleC5waHA/cmVzdF9yb3V0ZT0vJG1hdGNoZXNbMV0i
O3M6MTc6Il53cC1zaXRlbWFwXC54bWwkIjtzOjIzOiJpbmRleC5waHA/c2l0ZW1hcD1pbmRleCI7
... 245 dòng này ...
dD0kbWF0Y2hlc1sxXSZjcGFnZT0kbWF0Y2hlc1syXSI7czoyMjoiW14vXSsvKFteL10rKS9lbWJl
ZC8/JCI7czo0MzoiaW5kZXgucGhwP2F0dGFjaG1lbnQ9JG1hdGNoZXNbMV0mZW1iZWQ9dHJ1ZSI7
fQN5ZXOLFdKM
'/*!*/;
# tại 14218
#220515 4:09:54 id máy chủ 1 end_log_pos 14249 CRC32 0x322d3658 Xid = 18716628
LÀM/*!*/;
# tại 14249
#220515 4:09:54 id máy chủ 1 end_log_pos 14329 CRC32 0xc4b6c15a Anonymous_GTID last_committed=1 sequence_number=2 rbr_only=yes original_committed_timestamp=1652587794702570 ngay lập tức_commit_timestamp=1652587794702570 transaction_length44=100
/*!50718 THIẾT LẬP MỨC CÁCH MẠNG GIAO DỊCH ĐỌC CAM KẾT*//*!*/;
# original_commit_timestamp=1652587794702570 (2022-05-15 04:09:54.702570 UTC)
# instant_commit_timestamp=1652587794702570 (2022-05-15 04:09:54.702570 UTC)
/*!80001 SET @@session. original_commit_timestamp=1652587794702570*//*!*/;
/*!80014 SET @@session. original_server_version=80029*//*!*/;
/*!80014 SET @@session.immediate_server_version=80029*//*!*/;
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# tại 14329
#220515 4:09:54 id máy chủ 1 end_log_pos 14427 CRC32 0x1328bf8c Truy vấn thread_id=614825 exec_time=0 error_code=0
ĐẶT DẤU THỜI GIAN=1652587794/*!*/;
BẮT ĐẦU
/*!*/;
# tại 14427
#220515 4:09:54 id máy chủ 1 end_log_pos 14507 CRC32 0x64436ee3 Table_map: `wordpress-jessjohn`.`wp_usermeta` được ánh xạ tới số 95
# tại 14507
#220515 4:09:54 id máy chủ 1 end_log_pos 114362 CRC32 0xec16092b Update_rows: id bảng 95 cờ: STMT_END_F
BINLOG'
En2AYhMBAAAAAUAAAAKs4AAAAAF8AAAAAAAEAEendvcmRwcmVzcy1qZXNzam9obgALd3BfdXNlcm1l
dGEABAgID/wD/AMEDAEBwAIB9uNuQ2Q=
En2AYh8BAAAAD4YBALq+AQAAAF8AAAAAAAEAAgAE//8ANwAAAAAAAAABAAAAAAAAAA4Ac2Vzc2lv
... và cứ thế cho >200 dòng khác
Điều gì gây ra tất cả việc ghi nhật ký này?
Tôi không quen lắm với việc ghi nhật ký mysql nên không biết phải đi đâu từ đây. Tôi cho rằng cách khắc phục nhanh là chỉ cần tắt đăng nhập. Tôi không hiểu các tệp binlog đang nói gì hoặc điều gì có thể khiến quá nhiều thứ được ghi lại.