Sửa lỗi “không start được MySQL trong XAMPP”

Có thể một ngày đẹp trời, đang yên đang lành tự nhiên MySQL trong XAMPP lăn ra chết, không tài nào khởi động được! Bạn đã kiểm tra và thử đủ các cách kiểu như “Hướng dẫn sửa lỗi không start được MySQL trong XAMPP” hay “Di chuyển thư mục chứa database MySQL của webserver XAMPP” nhưng không hiệu quả. Bạn phải làm gì khi chưa kịp backup các database thành các file .sql?

Có vẻ hơi phức tạp nhỉ?! Đúng là cũng hơi phức tạp thật! Nhưng đừng lo, hãy cùng MyLớp.edu.vn khắc phục lỗi khó chịu này nhé!

Bước 1. Backup thư mục data

Copy toàn bộ thư mục data trong thư mục cài đặt của XAMPP sang một nơi khác, VD copy sang E:/old-data. Giả sử thư mục cài XAMPP của bạn là D:/xampp thì thư mục data sẽ là D:/xampp/mysql/data

Bước này dùng để backup thư mục chứa các database mà bạn đang làm việc mà chưa kịp backup thành các file .sql lúc MySQL đang làm việc bình thường.

Bước 2. Restore MySQL về lúc mới cài

Bước này có hai cách làm. Một, cài đặt lại Xampp. Hai, đơn giản hơn, hãy làm theo các bước sau:

Bước 2.1: Xóa toàn bộ các file và thư mục bên trong thư mục D:/xampp/mysql/data. Lưu ý thư mục gốc data vẫn phải để nguyên. Sau bước này thư mục data đang trống.

Bước 2.2: Copy toàn bộ các file và thư mục con trong thư mục D:/xampp/mysql/backup và paste vào thư mục D:/xampp/mysql/data

Sau đó, hãy thử khởi động lại MySQL. Thật tuyệt, MySQL đã hoạt động trở lại! Thành công bước đầu vì hiện tại MySQL đã được restore về lúc mới cài, chưa có các database bạn đang làm việc.

Bước 3. Quan trọng

Tắt MySQL, copy 3 file ib_logfile0, ib_logfile1ibdata1 trong thư mục D:/xampp/mysql/data và paste vào một nơi an toàn, VD lưu vào E:/good-work

Bước 4. Restore thư mục data cũ

Bước 4.1: Vào thư mục data cũ đã backup ở “Bước 1”, VD E:/old-data

Bước 4.2: Copy toàn bộ các thư mục con chính là tên các database cũ (VD database1, database2,…) cùng 3 file ib_logfile0, ib_logfile1ibdata1

Trong VD này, copy 3 database “12a”, “mxh-bds” (@002d là dấu gạch ngang) và “namaedu” cùng 3 file ib_logfile0, ib_logfile1 và ibdata1

Trong VD này, copy 3 database “12a”, “mxh-bds” (@002d là dấu gạch ngang) và “namaedu” cùng 3 file ib_logfile0, ib_logfile1 và ibdata1

Bước 4.3: Paste (ghi đè nếu được hỏi) vào thư mục D:/xampp/mysql/data

Bước 4.4: Bật MySQL. Sau bước này, nếu vào phpMyAdmin chúng ta đã thấy các database cũ đã lên cùng với tên các bảng của chúng. Tuy nhiên khi click vào các bảng thì có thể sẽ có thông báo lỗi xuất hiện. Nếu điều đó xảy ra, hãy kiên trì để đi tiếp các bước sau, nếu không, xin chúc mừng, MySQL và database cũ của bạn đã hoạt động bình thường!

Bước 4.5: Khởi động CMD (Command Prompt) để Export database ra file .sql bằng lệnh: D:/xampp/mysql/bin/mysqldump -u root -p database1 > D:/database1.sql với “database1” là tên CSDL bạn muốn export. Sẽ có một cửa sổ đòi nhập password (của MySQL) bạn cứ nhấn Enter là xong. Tiếp tục thực hiện lệnh trên cho các database khác (nhớ đổi tên “database1” thành các tên khác tương ứng)

Bước 4.6: Tắt MySQL. Copy 3 file ib_logfile0, ib_logfile1ibdata1 từ thư mục E:/good-work (ở “Bước 3”) ghi đè vào thư mục D:/xampp/mysql/data

Bước 4.7: Xóa các thư mục database cũ trong thư mục D:/xampp/mysql/data, VD xóa các thư mục “database1”, “database2” như trong VD ở “Bước 4.5”

Bước 4.8: Bật MySQL. Vào phpMyAdmin tạo mới các database có tên trùng với các database cũ, VD: “database1”, “database2”,… Sau đó thực hiện chức năng import dữ liệu từ các file database1.sql, database2.sql,… đã export ở “Bước 4.5” lần lượt cho các database tương ứng.

Bước này nếu không dùng chức năng import dữ liệu của phpMyAdmin thì có thể dùng CMD để thực hiện các lệnh kiểu thế này: D:/xampp/mysql/bin/mysql -u root -p database1 < D:/database1.sql

Phù, vậy là xong rồi đó! Trong phpMyAdmin, hãy tận hưởng thành quả bằng cách click thử vào các bảng trong các database xem nào! MyLớp.edu.vn đã thực hiện thành công, còn bạn thì sao? Gook look!

Tham khảo:

Cheers,

The following two tabs change content below.
Tôi là kỹ sư Cơ khí, kỹ sư CNTT trường ĐH Bách Khoa Hà Nội. Tôi hoạt động trong lĩnh vực CNTT, bao gồm Software Development, Web Design, Web Development, Interactive Multimedia and Mobile App, Mobile Game Development. Tôi rất yêu công nghệ và tôi lập ra trang web này để chia sẻ kiến thức về công nghệ với mọi người.

Leave a Reply

Your email address will not be published. Required fields are marked *

*
*
Website