2012-01-12 22 views
7

Máy chủ của khách hàng đang chạy MySQL 5.0. Đêm qua máy chủ sẽ tự động khởi động lại để cài đặt các bản cập nhật Windows. Sau khi khởi động lại, MySQL không muốn chạy nữa. Nhật ký MySQL chỉ ra rằng nó tắt bình thường. Nhật ký Windows cho thấy dịch vụ không thể khởi động vì "Công cụ lưu trữ mặc định (InnoDB) không khả dụng". MySQL đã chạy tốt trong nhiều năm trước đó và gần đây không có gì thay đổi.MySQL không bắt đầu, InnoDB không có sẵn

Sao lưu hàng ngày được tạo từ dữ liệu và thư mục cài đặt vẫn còn ở đó.

Làm cách nào để dịch vụ MySQL chạy lại?

EDIT: Tôi chỉ nhận thấy như sau trong file server.err trong thư mục dữ liệu:

InnoDB: Error: log file .\ib_logfile0 is of different size 0 10485760 bytes 
InnoDB: than specified in the .cnf file 0 25165824 bytes! 
120112 5:16:30 [ERROR] Default storage engine (InnoDB) is not available 
120112 5:16:30 [ERROR] Aborting 
+1

Để giải quyết vấn đề, di chuyển/đổi tên/xóa các tập tin log hiện trong thư mục dữ liệu. Bắt đầu dịch vụ MySQL và chúng sẽ được tạo lại với kích thước chính xác. –

+0

Nếu bạn thay đổi cài đặt theo cách mysql hỏi bạn thì sao? ;-) – zerkms

+0

Tôi không thể khởi động MySQL chút nào. –

Trả lời

11

Bạn nên dừng máy chủ mysql, xóa tập tin đăng nhập và bắt đầu nó một lần nữa. Nó sẽ hoạt động sau đó. Tất nhiên, tạo một bản sao lưu trước. Nếu nó không hoạt động, hãy thử sửa chữa từ liên kết this.

+0

Câu trả lời của bạn rất hữu ích, nhưng trong trường hợp của tôi, MySQL không hề bắt đầu. –

3

Bạn có thể chỉnh sửa .cnf, tìm kiếm thông số innodb_log_file_size và đặt kích thước (tính bằng megabyte) khớp với kích thước của ib_logfile0.

C: \ mysql \ data> dir

24/10/2012 08:47 24.117.248 ib_logfile0

Megas = 24117248/1024/1024 = 23

innodb_log_file_size = 23m

Điều đó sẽ bắt đầu dịch vụ.

0

Trong trường hợp của tôi, tôi đã xóa thư mục c: \ windows \ temp \ myslql. Tôi tạo ra "mysql" thư mục trong temp một lần nữa và viola nó đã làm việc!

+1

Khi bạn không chắc chắn về tính hợp lệ của câu trả lời, bạn nên thêm nhận xét. – dkar

1

Thực hiện tốt Aleksandar Vučetić!

Tôi đã xóa những tập tin này từ "mysql/data":

- ib_logfile0 
- ib_logfile1 
- ibdata1 

và MySQL dịch vụ được bắt đầu lại.

MySQL log nói:

InnoDB: The first specified data file .\ibdata1 did not exist: 
InnoDB: a new database to be created! 
140719 0:57:55 InnoDB: Setting file .\ibdata1 size to 10 MB 
InnoDB: Database physically writes the file full: wait... 
140719 0:57:55 InnoDB: Log file .\ib_logfile0 did not exist: new to be created 
InnoDB: Setting log file .\ib_logfile0 size to 54 MB 
InnoDB: Database physically writes the file full: wait... 
140719 0:57:56 InnoDB: Log file .\ib_logfile1 did not exist: new to be created 
InnoDB: Setting log file .\ib_logfile1 size to 54 MB 
InnoDB: Database physically writes the file full: wait... 
InnoDB: Doublewrite buffer not found: creating new 
InnoDB: Doublewrite buffer created 
InnoDB: Creating foreign key constraint system tables 
InnoDB: Foreign key constraint system tables created 
140719 0:57:57 InnoDB: Started; log sequence number 0 0 
+1

Xin chào adiva, chào mừng bạn đến với trang web :) Cũng giống như một người đứng đầu, thực sự không cần bạn để lại câu trả lời ở đây - câu hỏi đã có một câu trả lời được chấp nhận để giải quyết vấn đề. Những gì bạn có thể làm thay vào đó là upvote câu trả lời đã giúp bạn và/hoặc để lại một bình luận giải thích lý do tại sao nó là một câu trả lời hay – JKillian