Hỏi về cách khắc phục lỗi MySQL Shutdown unexpectedly trên Xampp
Xamp là gì? Anh em lập trình PHP hầu hết đã hiểu Xampp là một chương trình mã nguồn mở máy chủ web đa nền được phát triển bởi Apache friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database hoặc MySQL database, và interpreters dành cho những đối tượng sử dụng ngôn ngữ PHP và Perl.
MySQL bị lỗi shutdown unexpectedly
Trên facebook một số group lập trình rất nhiều anh em đặt câu hỏi về vấn đề lỗi MySQL trên Xampp. Xampp đang chạy bỗng một ngày nào đó khởi động MySQL trên xampp không được và hiện lỗi như sau:
xampp Error: MySQL shutdown unexpectedly
Nguyên nhân gây nên lỗi MySQL Shutdown unexpectedly trên Xampp
Tùy thuộc vào hệ điều hành Mac, Windows, và version của hệ điều hành như Win 8, Win 10, … Mà có rất nhiều lỗi khác nhau. Có một số nguyên nhân chính:
- Bạn tắt máy trong khi Xampp / MySQL vẫn đang chạy.
- Bạn cài các phần mềm mới dẫn tới đụng port 80 hoặc port 3306 và các phần mềm mới cài chiếm luôn các port 3306 (kiểm tra lại xem bạn có vừa cài phần mềm mới nào lên máy hay không).
- Bạn update hệ điều hành, quá trình update đã bị mất file hoặc xóa mất file liên quan tới Xampp hoặc MySQL.
- …vv và rất nhiều nguyên nhân khác!
Hướng dẫn các cách khắc phục lỗi MySQL shutdown unexpectedly
Khi search trên internet có rất nhiều cách khắc phục khác nhau. Cá nhân mình có một vài ý như sau.
Bươc 1: Mở file log MySQL để xem thông báo cụ thể lỗi như thế nào?
Ví dụ file log của mình:
2021-08-30 14:53:35 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2021-08-30 14:53:35 0 [Note] InnoDB: Uses event mutexes
2021-08-30 14:53:35 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-08-30 14:53:35 0 [Note] InnoDB: Number of pools: 1
2021-08-30 14:53:35 0 [Note] InnoDB: Using SSE2 crc32 instructions
2021-08-30 14:53:35 0 [Note] InnoDB: Initializing buffer pool, total size = 126M, instances = 1, chunk size = 126M
2021-08-30 14:53:35 0 [Note] InnoDB: Completed initialization of buffer pool
2021-08-30 14:53:35 0 [Note] InnoDB: The log sequence number 300306 in the system tablespace does not match the log sequence number 300556 in the ib_logfiles!
2021-08-30 14:53:35 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2021-08-30 14:53:35 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2021-08-30 14:53:35 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2021-08-30 14:53:35 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2021-08-30 14:53:35 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2021-08-30 14:53:35 0 [Note] InnoDB: Waiting for purge to start
2021-08-30 14:53:35 0 [Note] InnoDB: 10.4.17 started; log sequence number 300556; transaction id 170
2021-08-30 14:53:35 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2021-08-30 14:53:35 0 [Note] Plugin 'FEEDBACK' is disabled.
2021-08-30 14:53:35 0 [Note] Server socket created on IP: '::'.
// Bạn thử vào đường dẫn C:\xampp\mysql\data\ibtmp1 và làm trống file log
Sau đó khởi động lại Xampp: Stop | Start
Nếu MySQL vẫn chưa được thì tiến hành tiếp các bước sau
Bước 2: Xóa file ibdata1
Lỗi này do khi bạn đang sử dụng hay khi bạn tắt máy mà quên tắt xampp trước vì thế nên có lỗi .
Để sửa lỗi MySQL shutdown unexpectedly trên XAMPP bạn thực hiện theo hướng dẫn của mình nhé: Đầu tiên bạn hãy tắt Xampp đi và thoát khỏi nó. Sau đó bạn truy cập và thư mục cài đặt Xampp của bạn, ở đây mình cài đặt ở ổ C.
C:\xampp\mysql\data\ibdata1
Bạn xóa file ibdata1 trong thư mục data đi. Để chắc chắn bạn hãy tắt máy đi và khởi động lại Xampp nhé.
Nếu bước 2 vẫn chưa khởi động được MySQL bạn làm tiếp bước sau:
Bước 3: Lấy lại file backup của MySQL
Các bước lấy lại file backup MySQL như sau:
B1: Trước tiên bạn đổi tên thư mục folder data của MySQL
C:\xampp\mysql\data
Đổi tên thành data_back:
C:\xampp\mysql\data_bk
B2: Tạo thư mục folder data mới
C:\xampp\mysql\data
B3: Copy các file và folder của thư mục backup sang folder data: Xampp có có chế tự động backup các Database chính của MySQL lúc cài đặt ban đầu như: mysql, performance_schema, phpmyadmin, test
C:\xampp\mysql\backup\ Copy các file và folder ở đây
C:\xampp\mysql\data

Sau đó bạn khởi động lại Xampp và start MySQL. Nếu thành công bạn có thể copy từng database cũ của thư mục folder data_bk vào folder data mới.
>> Tham khảo thêm một số thảo luận bằng anh ngữ trên: https://stackoverflow.com/questions/18022809/xampp-mysql-shutdown-unexpectedly
Nếu làm không được hoặc có đóng góp về một cách nào khác về cách sửa lỗi MySQL shutdown unexpectedly trên Xampp xin hãy để lời bình luận phía dưới để giúp bạn đọc biết cách xử lý tình huống này để cùng lan tỏa kiến thức
Chúc các bạn thành công
>> Có thể bạn quan tâm: MySQL cách truy vấn chỉ lấy 2 sản phẩm của mỗi danh mục category
nhantam
Thiết kế web tại Panpic