XAMPP - MySQL tắt đột ngột


115

Khi tôi mở XAMPP và nhấp vào nút bắt đầu MySQL và nó báo cho tôi một lỗi. Tôi đã bắt đầu nó ngay trước đây, nhưng bây giờ nó không hoạt động.

12:19:12 PM [mysql] Đang cố khởi động ứng dụng MySQL ...
12:19:12 PM [mysql] Đã phát hiện thay đổi trạng thái: đang chạy
12:19:13 PM [mysql] Đã phát hiện thay đổi trạng thái: dừng
12:19:13 PM [mysql] Lỗi: MySQL tắt đột ngột.
12:19:13 PM [mysql] Điều này có thể do cổng bị chặn, thiếu phụ thuộc,
12:19:13 PM [mysql] không đúng đặc quyền, sự cố hoặc tắt bằng phương pháp khác
12:19:13 PM [mysql ] Nhấn nút Nhật ký để xem nhật ký lỗi và kiểm tra
12:19:13 PM [mysql] Windows Event Viewer để biết thêm manh mối
12:19:13 PM [mysql] Nếu bạn cần thêm trợ giúp, hãy sao chép và đăng
12:19 này : 13 giờ chiều [mysql] toàn bộ cửa sổ nhật ký trên diễn đàn

Đây là nội dung của nhật ký lỗi:

2013-08-02 12:19:12 4536 [Lưu ý] Plugin 'FEDERATED' bị tắt.
2013-08-02 12:19:12 f64 InnoDB: Cảnh báo: Việc sử dụng innodb_additional_mem_pool_size bị DEPRECATED. Tùy chọn này có thể bị xóa trong các bản phát hành trong tương lai, cùng với tùy chọn innodb_use_sys_malloc và với trình cấp phát bộ nhớ trong của InnoDB.
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Kho bộ nhớ InnoDB bị vô hiệu hóa
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Mutexes và rw_locks sử dụng các chức năng được lồng vào nhau của Windows
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Bảng nén sử dụng zlib 1.2.3
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Không sử dụng hướng dẫn CPU
crc32 2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Khởi tạo vùng đệm, kích thước = 16.0M
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Đã hoàn thành khởi tạo vùng đệm
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Định dạng tệp được hỗ trợ cao nhất là Barracuda.
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Số thứ tự nhật ký 0 và 0 trong tệp ibdata không khớp với số thứ tự nhật ký 1616798 trong ib_logfiles!
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Cơ sở dữ liệu không tắt bình thường!
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Bắt đầu khôi phục sự cố.
2013-08-02 12:19:12 4536 [Lưu ý] InnoDB: Đọc thông tin vùng bảng từ các tệp .ibd ...

Thông báo lỗi quan trọng nhất là ở đây:

2013-08-02 12:19:12 4536 [LỖI] InnoDB:
Đã cố gắng mở một vùng bảng đã mở trước đó. Vùng
bảng trước đó mysql / innodb_table_stats sử dụng không gian ID: 1 tại filepath:. \ Mysql \ innodb_table_stats.ibd .
Không thể mở vùng bảng xat / Payment sử dụng không gian ID: 1 tại filepath:. \ Xat \ Payment.ibd

Phần còn lại của nhật ký:

InnoDB: Lỗi: không thể mở tệp không gian bảng một bảng. \ Xat \ Payment.ibd
InnoDB: Chúng tôi không tiếp tục khôi phục sự cố, vì bảng có thể trở thành
InnoDB: bị hỏng nếu chúng tôi không thể áp dụng các bản ghi nhật ký trong nhật ký InnoDB cho nó .
InnoDB: Để khắc phục sự cố và khởi động mysqld:
InnoDB: 1) Nếu có vấn đề về quyền trong tệp và mysqld không thể
InnoDB: mở tệp, bạn nên sửa đổi quyền.
InnoDB: 2) Nếu bảng không cần thiết hoặc bạn có thể khôi phục nó từ bản sao lưu,
InnoDB: thì bạn có thể xóa tệp .ibd và InnoDB sẽ thực hiện
khôi phục InnoDB: crash bình thường và bỏ qua bảng đó.
InnoDB: 3) Nếu hệ thống tệp hoặc đĩa bị hỏng và bạn không thể gỡ bỏ
InnoDB: tệp .ibd, bạn có thể đặt innodb_force_recovery> 0 trong my.cnf
InnoDB: và buộc InnoDB tiếp tục khôi phục sự cố tại đây.

Nguyên nhân của những lỗi này là gì và tôi có thể khắc phục chúng như thế nào?

Câu trả lời:


174

QUAN TRỌNG Xóa tệp này có thể làm cho bất kỳ dữ liệu MySQL hiện có nào không sử dụng được. Sử dụng cẩn thận

Này, tôi vừa làm điều này và nó đã hoạt động:

  1. thoát khỏi máy chủ Xampp
  2. đi đến C:\xampp\mysql\datadanh bạ của bạn
  3. xóa các ibdata1tập tin
  4. khởi động lại máy chủ xampp

Nó sẽ hoạt động


26
Điều này hoạt động và có thể sẽ được đánh dấu là câu trả lời đúng. Tuy nhiên, hãy đổi tên tệp thành ibdata1.bak thay vì xóa nó. Chỉ để được tiết kiệm.
Lorenz Lo Sauer

23
Tất nhiên, điều này sẽ phá hủy tất cả dữ liệu được lưu trữ trong tệp đó (tất cả các bảng InnoDB đã được tạo trước khi đặt innodb_file_per_tablethành bật). Các phương pháp được đề xuất trong thông báo nhật ký dường như rất hữu ích đối với tôi.
Tgr

17
Tôi cũng đã phải xóa ib_logfile0ib_logfile1để làm cho nó làm việc
Allan Macmillan

11
Ôi chao! Thổi đi ibdata1tương đương với mất tất cả dữ liệu của bạn (hoặc ít nhất là tất cả những gì là ENGINE=Innodb!
Rick James

18
Điều liều lĩnh không giải thích được upvoted nhất bạn có thể làm
user10089632

225

Dừng tại đó! Vui lòng KHÔNG xóa ibdata1tệp!

Xóa tệp này giống như chơi trò roulette Nga với cơ sở dữ liệu của bạn, nó có thể hoạt động và thiết lập lại mọi thứ, nhưng cũng có thể có thể gây hại cho mọi cơ sở dữ liệu bạn có. Thay vào đó, trước tiên hãy thử sử dụng thư mục sao lưu MySQL được bao gồm trong XAMPP. Vì vậy, làm tiếp theo:

  1. Đổi tên thư mục mysql/datathành mysql/data_old(bạn có thể sử dụng bất kỳ tên nào)
  2. Tạo một thư mục mới mysql/data
  3. Sao chép nội dung có trong thư mục mysql/backupmớimysql/data
  4. Sao chép tất cả các thư mục cơ sở dữ liệu của bạn đang trong mysql/data_oldđể mysql/data (bỏ qua mysql, performance_schema, và thư mục phpMyAdmin từ data_old)
  5. Cuối cùng sao chép ibdata1tệp từ mysql/data_oldvà thay thế tệp bên trong mysql/datathư mục
  6. Khởi động MySQL từ bảng điều khiển XAMPP

Và Voila!


20
Đây là câu trả lời tốt nhất, không yêu cầu bạn xóa bất kỳ tệp hoặc thư mục nào và quan trọng là nó hoạt động.
gegobyte

16
Đây là câu trả lời hay nhất
Kevin E. Ogbonna

5
Tôi đã sử dụng câu trả lời này rất nhiều lần và thậm chí tôi đã viết một tập lệnh PowerShell để tự động hóa quy trình: gist.github.com/josemmo/24e35f2b4984a4370ce2c164f5956437
josemmo

6
đây phải là câu trả lời hàng đầu
08

3
Theo @josemmo ý chính, điều quan trọng cần lưu ý là loại trừ mysql, performance_schema, phpmyadmin khi sao chép thư mục vào mysql / data
vuốt68

43
  1. Đi tới mysql / data /
  2. Xóa tất cả các tệp ngẫu nhiên (ngoại trừ các thư mục cơ sở dữ liệu thực tế)
  3. Khởi động lại ApacheMySQL .

Nó sẽ sửa chữa nó.


10
Nó đã xóa tất cả dữ liệu của tôi. Có rất nhiều dữ liệu.
Paras

11
Tôi xác nhận rằng việc xóa các tệp sẽ làm cho tất cả DB không sử dụng được. Các tệp bảng ở đó nhưng chúng không thể hiển thị.
Adrian P.

23

Nếu các câu trả lời được đề cập ở trên không hoạt động, bạn có thể thử xóa tất cả các tệp trong dữ liệu, ngoại trừ thư mục

Goto: C: \ xampp \ mysql \ data

nhập mô tả hình ảnh ở đây

Sau đó: Goto: C: \ xampp \ mysql \ bin

sau đó mở bằng notepad my.ini , Nó trông như thế này.

nhập mô tả hình ảnh ở đây

Sau đó xóa hoặc đưa vào bình luận cổng 3306 và thay đổi nó thành 8111 rồi chạy xamp với quản trị viên và hoạt động của nó tốt.


Yêu bạn @Matthew Magante. Bạn đã giải quyết được vấn đề mà tôi phải đối mặt trong một năm qua. Cảm ơn rất nhiều.
Kashif Iftikhar

1
Bây giờ, tôi không gặp lỗi đó trong xampp nhưng phpmyadmin vẫn không hoạt động được
Sarvesh Tiwari

Cảm ơn, bản sửa lỗi @fabrizio valencia đang hoạt động tốt nhưng sau hai hoặc ba lần, nó không hoạt động nữa và điều này được giải quyết là bản sửa lỗi thứ hai.
Fer Toasted

15

Khi bạn không chạy XAMPP với tư cách là quản trị viên, việc tắt MySQL thường gây ra lỗi, có nghĩa là bạn phải sửa chữa hoặc xóa các bảng của mình. Để tránh điều này, bạn cần chạy XAMPP với tư cách quản trị viên hoặc sử dụng phương pháp nhắc lệnh thích hợp để tắt MySQL.

Bạn có thể xóa ibdata1như Kratos đề xuất, nhưng điều này có thể để lại cho bạn một cơ sở dữ liệu bị hỏng vì các phần khác của cơ sở dữ liệu của bạn vẫn còn trong /mysql/data/thư mục. Trong trường hợp của tôi, dữ liệu còn lại này đã ngăn tôi cài đặt thành công WordPress.

Một cách tốt hơn để hoàn tác thiệt hại là hoàn nguyên toàn bộ /mysql/data/thư mục của bạn . Windows có cài sẵn phiên bản thư mục - nhấp chuột phải vào /mysql/data/và chọn Restore previous versions. Sau đó, bạn có thể xóa nội dung hiện tại của thư mục và thay thế nó bằng nội dung của phiên bản cũ hơn.

Phụ lục: Để đảm bảo rằng bạn không quên chạy XAMPP với tư cách quản trị viên, bạn có thể nhấp chuột phải vào phím tắt XAMPP, truy cập Properties, sau đó Advanced, và cuối cùng đánh dấu chọn Run as administrator.


1
Đây phải được chấp nhận là câu trả lời đúng. Nếu bạn loại bỏ ibdata1, sẽ có hàng tấn bảng mồ côi.
sean

Cảm ơn, bạn đã khắc phục sự cố của tôi sau khi thử rất nhiều thứ khác nhau.
user3089840 23/12/15

cũng đã khắc phục sự cố cho tôi
Gaz Smith

Giải thích rất hay: D Cảm ơn bạn.
logbasex

Tùy chọn 'Khôi phục phiên bản trước' chỉ hoạt động nếu bạn thường xuyên tạo Điểm khôi phục trong Windows. :(
nockieboy

15

MySQL Xampp của tôi hoạt động như sau:

01.Go to mysql/data/ directory
02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file
03. restart xampp server

đây là cách hiệu quả nhất cho tôi !!
Youssef Boudaya

14

Thêm dòng sau vào bên dưới [mysqld]phần trong tệp cấu hình mysql (my.ini) và khởi động lại máy chủ web apache và dịch vụ mysql sau đó.

[mysqld]
innodb_force_recovery = 4

7
Tìm hiểu về những gì bạn đang làm, trước khi bạn làm điều đó: dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
marcovtwout

Cảm ơn bạn rất nhiều, thực sự đã giúp tôi rất nhiều.
Lohn Claidon

5
tốt hơn nên bắt đầu với giá trị 1 và tăng dần mỗi khi nó không hoạt động. Giá trị 1-3 được coi là lưu. 4-6 có thể làm hỏng dữ liệu!
CoR

Điều này đã giúp tôi. Như đã chỉ ra, hãy sử dụng các giá trị 1-3 trước. 2 đã làm việc với tôi. Tôi đã phải kết xuất tất cả cơ sở dữ liệu của mình, đặt lại dữ liệu mysql bằng cách sử dụng thư mục sao lưu sau đó nhập các kết xuất. Điều này rất hữu ích nếu bạn muốn giữ dữ liệu của mình
vuốt 68

13

Tôi đã gặp cùng một loại lỗi trong C:\xampp\mysql\data\mysql_error.logkhi cố gắng khởi động mysql.

2013-08-05 01:20:32 6780 [ERROR] InnoDB: Attempted to open a previously 
  opened tablespace. Previous tablespace mysql/slave_relay_log_info uses 
  space ID: 3 at filepath: .\mysql\slave_relay_log_info.ibd. Cannot open  
  tablespace test_database/test_table which uses space ID: 3 at filepath:  
  .\test_database\test_table.ibd

Bạn sẽ phải đọc kỹ lỗi. Điều này nói rằng điều đó test_databaseđang ngăn mysql khởi động.

Bạn có thể thổi bay cơ sở dữ liệu vi phạm, các bước sau sẽ khắc phục sự cố:

  1. Đảm bảo rằng mysql và xampp đã tắt hoàn toàn.
  2. Đi tới thư mục của bạn nơi cài đặt mysql, của tôi là: C:\xampp\mysql\data
  3. Bạn sẽ thấy một thư mục có tên cơ sở dữ liệu mà bạn đã tạo. của tôi là test_database.
  4. Tạo một thư mục mới ở một nơi khác được gọi là C:\xampp\mysql\data\mysql\backuptablespace
  5. Kéo và thả (không xóa) thư mục bảng cơ sở dữ liệu vi phạm vào thư mục sao lưu.
  6. Hãy thử khởi động lại mysql. Đối với tôi, nó bắt đầu ngay trong 1 giây như mong đợi.

Nếu nó không hoạt động, hãy đặt tệp trở lại nơi bạn bắt đầu và bạn sẽ quay lại nơi bạn bắt đầu.

Nếu bạn không muốn xóa cơ sở dữ liệu và không có bản sao lưu:

Nếu bạn không có bản sao lưu dữ liệu bảng và mysql sẽ không khởi động vì có thứ gì đó bị hỏng, bạn sẽ phải sử dụng quy trình loại bỏ để đoán và kiểm tra chính xác những gì bạn đã làm làm hỏng nó. Làm theo các bước sau:

  1. Tạo một bản sao của toàn bộ C:\xampp\và cất giữ ở nơi nào đó an toàn để bạn có thể quay lại nơi bạn bắt đầu.
  2. Sử dụng phương pháp tiếp cận "tìm kiếm nhị phân" để cố định vị mục bị hỏng trong cơ sở dữ liệu mysql. Nó có thể là một tệp, một bảng, hoặc một cơ sở dữ liệu, hoặc một người dùng hoặc bất cứ thứ gì.
  3. Xóa toàn bộ cơ sở dữ liệu và xem điều đó có cho phép mysql khởi động hay không. Nếu có, hãy đặt lại cơ sở dữ liệu và thử xóa một số bảng. Nếu không, hãy thử kéo thứ khác cho đến khi nó bắt đầu.
  4. Thử xóa các tệp này khỏi C:\xampp\mysql\data\mysql: db.frm db.MRD db.MYI db.opt user.frm user.MYD user.MYI

  5. Khi bạn bắt đầu mysql, hãy thử đặt mọi thứ trở lại cho đến khi bạn tìm thấy một thứ mà bạn thêm vào ngăn không cho nó khởi động. Một phần thưởng cho điều này là bạn tìm hiểu cách mysql hoạt động dưới mui xe.

Tùy chọn hạt nhân:

Một cái gì đó bạn đã làm hỏng máy chủ mysql. Gỡ cài đặt và cài đặt lại XAMPP sẽ hoàn tác lỗi.


7

Tôi cũng phải đối mặt với vấn đề này và đây là cách tôi giải quyết.
1. Đảm bảo xampp không nằm trong thư mục con. Ví dụ: nó phải là C: \ xampp
2. Bạn có thể cần phải chạy với tư cách quản trị viên để chạy ứng dụng.

Hy vọng điều này sẽ hiệu quả!


4

Đây là những gì tôi đã làm. Tôi đã khởi động lại máy tính của mình. Tiếp theo, tôi chạy services.msc. Tôi đã dừng dịch vụ MySQL sau đó khởi động lại nó. Khởi động lại máy chủ Xampp.


Đây không phải là một câu trả lời hợp lệ!
abhiarora

Câu trả lời không hợp lệ
Soumyajit Dutta

4

trong trường hợp của tôi, tôi đã thực hiện các bước sau và nó hoạt động:

  1. Trong bảng điều khiển Xampp, nhấp vào nút "Dịch vụ" từ thanh công cụ bên phải

  2. Sau đó tìm "MySQL" từ Danh sách dịch vụ

  3. Nhấp vào nó và từ phía bên trái của bảng điều khiển, hãy nhấp vào "dừng"

  4. Quay lại bảng điều khiển Xampp và nhấp vào bắt đầu.


1
Cảm ơn bạn, không có tùy chọn nào khác phù hợp với tôi, tùy chọn này đã làm được. Rất biết ơn
user3808307

@ user3808307 Tôi rất vui vì nó đã giúp bạn :)
Sobhan

cảm ơn rất nhiều ! đã làm việc cho tôi
simon

3

Không có giải pháp nào ở trên phù hợp với tôi. sau đó tôi đã làm dưới đây:

Tôi đã xóa tất cả các tệp bên trong thư mục C: \ xampp \ mysql \ data \ ngoại trừ các thư mục trong thư mục này. Nó hoạt động hoàn toàn tốt nhưng các cơ sở dữ liệu trước đây của tôi hiện không hoạt động. Vì vậy, làm ở trên nếu bạn không quan tâm, nó sẽ xóa tất cả cơ sở dữ liệu trước đó của bạn trong phpmyadmin.


3

tôi đã gặp phải vấn đề tương tự và không có giải pháp nào được nêu ở trên giúp tôi. tôi đã truy cập tệp cấu hình mysql (my.ini) và thay đổi số cổng trong [mysqld]. Bởi vì mysql mặc định chạy trên cổng 3306.

port= 3306

tôi đã đổi nó thành,

port= 8111

Sau đó, chạy với tư cách Quản trị viên. Cuối cùng điều này đã làm việc cho tôi.


3
  1. chuyển xampp/mysql/backuptệp vàoxampp/mysql/data
  2. RUN XAMPPas Administrator(đảm bảo rằng mysql đã được cài đặt, bạn có thể thấy dấu tích màu xanh lục nếu được cài đặt) Liệt kê mục

Hy vọng nó giúp!


2

Các bạn chỉ cần đảm bảo rằng bạn chưa cài đặt MySql Server. Bởi vì tôi đã cài đặt sẵn máy chủ MySql và khi tôi khởi động mysql từ bảng điều khiển xampp, một số xung đột cổng đang xảy ra và nó không hoạt động .. VẬY trước khi khởi động mysql từ bảng điều khiển xampp, hãy đảm bảo máy chủ mysql chưa được cài đặt. Tôi sử dụng .net vì vậy tôi đã cài đặt máy chủ mysql trong quá khứ. Gỡ cài đặt nó đã giải quyết được vấn đề của tôi ....


2

Tôi đã giải quyết sự cố bằng cách kết thúc tác vụ cho mysqlid trên Trình quản lý tác vụ.nhập mô tả hình ảnh ở đây


Cảm ơn, nó đã giúp tôi. Tâm hồn đó với việc xóa ib1 đã tạo ra cho tôi những vấn đề mới cần giải quyết.
Skotee


2

Điều làm việc cho tôi là:

  1. Đầu tiên tôi mở cửa Logscho MySqlvào XAMPP panel.
  2. Ở phần cuối, nó cho biết bạn đang chạy một phiên bản khác của mysqlid trong cổng 3306
  3. Tôi đã mở task manager(Ctrl+Shift+Esc)rồi tìm mysqlidEnd the task.

1

Cấu hình-> Apache-> Mở httpd.conf. tìm kiếm Listen hoặc 80, cập nhật cổng nghe 8081 lưu và khởi động lại máy chủ. Ồ và tắt Skype nếu bạn có nó.


2
Vâng, điều đó đã sửa nó. Tôi thề rằng tôi đã cài đặt lại trước khi đăng nó, nhưng tôi đoán là không. Cảm ơn :)
Austin

1

Trong trường hợp của tôi, trong đó tôi đã đồng bộ hóa dữ liệu mysql và htdocs của mình với tài khoản đăng, tôi chỉ cần xóa các tệp xung đột trong thư mục mysql / data và các thư mục con. Các tệp xung đột có thể được xác định bằng tên của nó, dropbox sẽ cho bạn biết điều đó. Nó đã giải quyết vấn đề cho tôi.


1

Đảm bảo thời gian của hệ thống là chính xác. Bằng cách nào đó, của tôi được đặt là năm 2040, việc sửa ngày đã giải quyết được vấn đề.


1

Đối với tôi, tôi đã bỏ Skype, đang chiếm cổng 80, sau đó Apache chạy vui vẻ trên cổng 80, hơn là tôi chạy Skype và lần này nó đã chọn một cổng khác.


1

nếu bạn đang sử dụng MariaDB, bạn có thể thử điều này:

  1. Đi tới mysql / data /
  2. Đổi tên aria_log_control thành aria_log_control_old
  3. Khởi động lại "Mysql"

1

tôi nhận xét tuyên bố này trong mysql / bin / my.ini

'innodb_additional_mem_pool_size=2M'

và nó giải quyết vấn đề của tôi. hơn bạn mọi thứ


Tôi không có dòng nào cả
Vipul Hadiya

Bạn đang ở trên cửa sổ? phiên bản xampp của bạn là gì?
Boston Kenne

Có, giành chiến thắng 10 với XAMPP 3.2.4
Vipul Hadiya 11/09/19

bạn có quyền truy cập vào tệp mysql / bin / my.ini của bạn không?
Boston Kenne

gist.github.com/susanBuck/52f8a8508d94834332b1d565fb3a0e00 xem liên kết này và kiểm tra vị trí tệp của bạn xem nó phải ở trong C: \ xampp \ mysql \ bin \ my.ini , tìm dòng innodb_additional_mem_pool_size và nhận xét nó.
Boston Kenne

1

Điều này có nghĩa là bạn đã có một cơ sở dữ liệu MySQL đang chạy ở cổng 3306.

Trong bảng điều khiển XAMPP, nhấn nút 'Cấu hình' và sau đó nhấn 'my.ini'. Sau đó, Ctrl-F và tìm kiếm '3306'. Thay thế bất kỳ '3306' nào mà bạn tìm thấy bằng một số cổng khác mà bạn chọn (bạn có thể chọn 3307 hoặc 3308 - Tôi đã chọn 2811 và nó hoạt động).

Sau khi bạn đã thay thế mọi vị trí mà '3306' được ghi, hãy lưu tệp và nhấn lại 'Bắt ​​đầu' trên bảng điều khiển.


1

Đi tới trình quản lý tác vụ Và tìm kiếm mysqld và nhấp chuột phải và chọn KẾT THÚC NHIỆM VỤ và làm mới XAMPP


1

Đối với tôi, vấn đề là:

tôi từng hibernate máy tính của mình thay vì tắt do quy mô của dự án. Tôi đã đủ lười biếng để mở lại tất cả các chương trình.

Trước khi thử bất cứ điều gì khác, tôi khuyên bạn nên làm những điều đơn giản sau. Nếu không, bạn sẽ làm rối máy chủ MySQL của mình.

  1. Mở trình quản lý tác vụ của bạn và Kết thúc quá trình XAMPP.
  2. Chạy lại ứng dụng XAMPP với tư cách Quản trị viên.

Nếu không hoạt động,

  1. Lưu tất cả các chương trình chưa được lưu và khởi động lại PC.
  2. Chạy XAMMP với tư cách quản trị viên.

Ngoài ra, hãy nhớ kiểm tra 3306&5040 các cổng. Hai cổng này được yêu cầu để chạy MySQL trên cài đặt mặc định.

Kiểm tra câu trả lời của @Ryan Williams để tìm hiểu lý do tại sao nên chạy XAMPP với tư cách quản trị viên.


1

Tôi thực sự đã xóa mọi tệp khỏi c: \ xampp \ mysql \ data \ ngoại trừ my.ini và nó hoạt động


Chắc chắn nó hoạt động nhưng một số bảng không tồn tại sau thao tác này. Ý kiến ​​của tôi sao lưu thư mục dữ liệu vào tệp zip hoặc một đường dẫn khác. sau đó thử thao tác này. Sau khi hoàn tất khôi phục ibdata1 và ib_logfile0 và ib_logfile1 bây giờ nó hoạt động và tất cả các bảng được khôi phục Hành động: Server = Xampp Application = Voyager admin (Laravel)
Nijat Aliyev

1

Tôi đã giải quyết lỗi MySQL tương tự và tôi nghĩ câu trả lời này sẽ giúp bạn khắc phục cùng một loại lỗi cơ sở dữ liệu MySQL. Lỗi MySQL trên bảng điều khiển XAMPP

Giải pháp:

  • Đi đến thư mục "dữ liệu" trong cơ sở dữ liệu mysql.
  • Tôi đã cài đặt XAMPP trên ổ đĩa D: trên máy tính của mình và vị trí thư mục "data" mysql trên máy tính của tôi là "D: \ xampp \ mysql \ data \". Bạn có thể có vị trí khác nhau.

Sao lưu thư mục "dữ liệu" MySQL

  • Trước hết, bạn nên tạo một bản sao lưu của thư mục “dữ liệu” bằng bất kỳ phần mềm nén nào.

  • Đặt tên như “data_backup.zip” hoặc bất kỳ loại nén nào bạn muốn.

  • Tôi đã sử dụng phần mềm nén winrar để nén và sao lưu thư mục "dữ liệu" mysql.

Đổi tên thư mục "dữ liệu"

  • Đổi tên thư mục “data” thành “data-oldfiles”. Điều này rất quan trọng để đổi tên thư mục dữ liệu thành bất kỳ tên thư mục mới nào.

Tạo một thư mục "dữ liệu" mới

  • Tạo một thư mục mới và đặt tên thư mục là "dữ liệu"
  • Để giải quyết vấn đề, chúng ta cần tạo một thư mục "data" mới trong cơ sở dữ liệu mysql.

Sao chép nội dung từ thư mục "sao lưu"

  • Chuyển đến thư mục "sao lưu" và sao chép tất cả các tệp.
  • Dán các tệp từ thư mục sao lưu vào thư mục dữ liệu
  • Bây giờ khởi động cơ sở dữ liệu MySQL từ XAMPP.
  • Cơ sở dữ liệu MySQL của bạn sẽ bắt đầu đúng cách mà không hiển thị bất kỳ lỗi nào.

Chuyển tất cả các dự án MySQL Cơ sở dữ liệu, tệp dữ liệu và tệp nhật ký

  • Nếu bạn có nhiều cơ sở dữ liệu được sử dụng cho các dự án khác nhau, thì bạn phải chuyển tất cả cơ sở dữ liệu từ thư mục “data-oldfiles” sang thư mục “data”.

  • Sao chép tất cả cơ sở dữ liệu từ các tệp dữ liệu cũ và dán vào thư mục dữ liệu.

  • Bây giờ bạn phải sao chép tệp dữ liệu “ibdata1” và tất cả tệp nhật ký “ib_logfile0, ib_logfile1” từ thư mục tệp dữ liệu cũ sang thư mục dữ liệu.

  • Nếu bạn có nhiều id_logiles thì hãy sao chép tất cả chúng.

  • Bây giờ Khởi động MySQL từ XAMPP.

  • Truy cập phpMyAdmin để kiểm tra tất cả cơ sở dữ liệu có sẵn và hoạt động hay không.

  • Bây giờ hãy bắt đầu bất kỳ dự án trang web nào của bạn từ localhost để kiểm tra cơ sở dữ liệu MySQL.

Vấn đề đã được giải quyết !!

Lỗi MySQL được giải quyết trên XAMPP

  • Bây giờ bạn sẽ thấy sự cố đã được giải quyết và thông báo lỗi "Error: MySQL shutdown bất ngờ." sẽ không hiển thị lại.
  • Nếu bạn có bất kỳ câu hỏi nào về vấn đề này, vui lòng đặt bất kỳ câu hỏi nào trong phần bình luận.

Bạn có thể đọc hướng dẫn chi tiết trên liên kết dưới đây: Lỗi: MySQL tắt đột ngột - Giải pháp trong 5 bước đơn giản

Bạn cũng có thể xem video hướng dẫn để giải quyết vấn đề:

[Đã giải quyết] Lỗi: MySQL tắt đột ngột


1

trước hết, hãy tạo một tệp sao lưu cơ sở dữ liệu C: \ xampp \ mysql \ data của bạn, sao chép tệp này và dán nó vào đâu đó trong máy tính của bạn. Sau khi mở, tệp dữ liệu và cũng mở máy chủ XAMPP cố gắng xóa các tệp từng bước một sau khi xóa từng tệp, cố gắng chạy máy chủ MySQL sau khi xóa một tệp như được hiển thị trong ảnh chụp màn hình, do đó cơ sở dữ liệu của bạn sẽ không xóa bỏ. nếu việc xóa tệp không hoạt động thì hãy cố gắng sao chép các tệp tương tự từ các thư mục sao lưu và lặp lại điều này cho đến khi nó hoạt động ... điều này mất thời gian nhưng điều này đã hiệu quả với tôi, tôi đã giải quyết được vấn đề này trong 20 phút. nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.