2013-03-02 45 views
6

Tôi đã cài đặt lại XAMPP vì một lý do và MySQL không hoạt động, đưa ra các lỗi sau đây trong giao diện điều khiển:XAMPP - Lỗi: shutdown MySQL bất ngờ

01:56:03 [mysql] Error: MySQL shutdown unexpectedly. 
01:56:03 [mysql] This may be due to a blocked port, missing dependencies, 
01:56:03 [mysql] improper privileges, a crash, or a shutdown by another method. 
01:56:03 [mysql] Check the "/xampp/mysql/data/mysql_error.log" file 
01:56:03 [mysql] and the Windows Event Viewer for more clues 

Khi kiểm tra "/ xampp/mysql/data/mysql_error .log "tệp tôi nhận được:

130302 1:48:06 InnoDB: Waiting for the background threads to start 
130302 1:48:07 InnoDB: 1.1.8 started; log sequence number 1600324627 
130302 1:48:07 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 
130302 1:48:07 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 
130302 1:48:07 [Note] Server socket created on IP: '0.0.0.0'. 
130302 1:51:12 [Note] Plugin 'FEDERATED' is disabled. 
130302 1:51:12 InnoDB: The InnoDB memory heap is disabled 
130302 1:51:12 InnoDB: Mutexes and rw_locks use Windows interlocked functions 
130302 1:51:12 InnoDB: Compressed tables use zlib 1.2.3 
130302 1:51:12 InnoDB: Initializing buffer pool, size = 16.0M 
130302 1:51:12 InnoDB: Completed initialization of buffer pool 
130302 1:51:12 InnoDB: highest supported file format is Barracuda. 
InnoDB: The log sequence number in ibdata files does not match 
InnoDB: the log sequence number in the ib_logfiles! 
130302 1:51:12 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
130302 1:51:13 InnoDB: Waiting for the background threads to start 
130302 1:51:14 InnoDB: 1.1.8 started; log sequence number 1600324627 
130302 1:51:14 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 
130302 1:51:14 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 
130302 1:51:14 [Note] Server socket created on IP: '0.0.0.0'. 
130302 1:56:01 [Note] Plugin 'FEDERATED' is disabled. 
130302 1:56:01 InnoDB: The InnoDB memory heap is disabled 
130302 1:56:01 InnoDB: Mutexes and rw_locks use Windows interlocked functions 
130302 1:56:01 InnoDB: Compressed tables use zlib 1.2.3 
130302 1:56:01 InnoDB: Initializing buffer pool, size = 16.0M 
130302 1:56:01 InnoDB: Completed initialization of buffer pool 
130302 1:56:01 InnoDB: highest supported file format is Barracuda. 
InnoDB: The log sequence number in ibdata files does not match 
InnoDB: the log sequence number in the ib_logfiles! 
130302 1:56:01 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
130302 1:56:02 InnoDB: Waiting for the background threads to start 
130302 1:56:03 InnoDB: 1.1.8 started; log sequence number 1600324627 
130302 1:56:03 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 
130302 1:56:03 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 
130302 1:56:03 [Note] Server socket created on IP: '0.0.0.0'. 

Đó chỉ là một phần của nhật ký, toàn bộ là một phần quá lớn.

Trợ giúp?

Trả lời

5

Quit skype của bạn và cố gắng, nếu skype là opne

hay

Tới xampp bạn/wamp cài đặt, tìm kiếm httpd.conf. Mở tệp đó bằng textpad/notepad, tìm kiếm Listen hoặc 80, cập nhật cổng nghe thành 8081 và lưu tệp. Khởi động lại xampp/wamp, khởi động máy chủ.


hay
làm theo các bước dưới đây trong skype enter image description here

0

Tôi chỉ đơn giản là thử cài đặt lại XAMPP.

+0

Điểm tốt, tôi đang ở trên đó. – cgf

0

một lý do tôi tìm thấy (và không được nhắc đến, thêm vào câu trả lời khác được đưa ra trong trang web này trên các vấn đề tương tự) là bằng cách vào Task Manager trong Windows và dừng mysqld đang chạy và ngăn máy chủ mysql khởi động.

1

Có thể có máy chủ MySQL được cài đặt trước trong thử máy tính của bạn để gỡ bỏ cài đặt đó và bắt đầu MySQL tại XAMPP này giải quyết tôi

3

Bạn phải:

  • Đóng xampp
  • Đến thư mục nơi bạn cài đặt nó, nếu trong (c :) có thể một cái gì đó như C: \ xampp \, thư mục truy cập C: \ xampp \ mysql \ data
  • Xóa file ibdata1
  • Bắt đầu lại XAMPP.
+1

Điều đó không giúp tôi với cùng một vấn đề. – Solace

1

Giải pháp tốt nhất cho vấn đề này là chỉ cần mở mysql tập tin chỉ thị cấu hình của bạn my.ini hiện bên trong thư mục C: \ xampp \ mysql \ bin và thay đổi thông tin liên quan đến các cảng, thường là một số chương trình chiếm cổng số. 3306 là kết quả của việc nó ngừng hoạt động, Bây giờ bạn làm theo hai bước để làm cho nó hoạt động.

enter code here 

    Step-1. Search for ['client'], you can see some thing like this 

      [client] 
      # password  = your_password 
      port   = 3306 
      socket   = "C:/xampp/mysql/mysql.sock" 
Now in the port section remove 3306 and add port = 3306 > 3307 as shown below. 

      [client] 
      # password  = your_password 
      port   = 3306 > 3307 
      socket   = "C:/xampp/mysql/mysql.sock" 


    Step -2. Similarly Search for ['mysqld'], you can see something like this 

      [mysqld] 
      port= 3306 
      socket = "C:/xampp/mysql/mysql.sock" 
      basedir = "C:/xampp/mysql" 
      tmpdir = "C:/xampp/tmp" 
      datadir = "C:/xampp/mysql/data" 
      pid_file = "mysql.pid" 
      # enable-named-pipe 
      key_buffer = 16M 
      max_allowed_packet = 1M 
      sort_buffer_size = 512K 
      net_buffer_length = 8K 
      read_buffer_size = 256K 
      read_rnd_buffer_size = 512K 
      myisam_sort_buffer_size = 8M 
      log_error = "mysql_error.log" 


      Now here change the port number 3306 to 3307 and add a line "innodb_force_recovery = 1" exactly as shown below. 


      [mysqld] 
      port= 3307 
      socket = "C:/xampp/mysql/mysql.sock" 
      basedir = "C:/xampp/mysql" 
      tmpdir = "C:/xampp/tmp" 
      datadir = "C:/xampp/mysql/data" 
      pid_file = "mysql.pid" 
      # enable-named-pipe 
      key_buffer = 16M 
      max_allowed_packet = 1M 
      sort_buffer_size = 512K 
      net_buffer_length = 8K 
      read_buffer_size = 256K 
      read_rnd_buffer_size = 512K 
      myisam_sort_buffer_size = 8M 
      log_error = "mysql_error.log" 
      innodb_force_recovery = 1 

Thats it, restart your mysql service, nó sẽ hoạt động chắc chắn.

0

chỉ cần chạy xammp bạn như là một quản trị viên, nó hoạt động

0

Đối với bất cứ ai đã tìm kiếm và nhấn vào liên kết này, tôi giải quyết nó bằng cách đơn giản tìm kiếm mysql notifier và ngăn chặn mysql chạy ở đó, Sau đó chạy mysql trong xampp lại và nó chạy. tại sao điều này hoạt động? iam không phải chuyên gia, nhưng tôi nghĩ rằng nó rất dễ dàng: cổng đã được thực hiện bởi mysql notifier vì vậy đã phải dừng lại ở đó và chạy nó ở đây.

0

Tôi mới dùng XAMPP, nhưng tôi thấy rằng kết hợp các đề xuất này hoạt động tốt nhất (Ít nhất trên Windows 8.1 với phiên bản XAMPP mới nhất. Lưu ý rằng máy tính tôi đã thử nghiệm này cũng có skype).

Đăng nhập lần đầu tiên vào skype và điều hướng đến "Công cụ < Tùy chọn < Nâng cao < Kết nối". Sau đó chọn hộp có nội dung "Sử dụng cổng 80 và 443 cho các kết nối đến bổ sung". Lưu, đóng và thoát skype.

Tiếp theo, trên bảng điều khiển XAMPP của bạn, hãy nhấp vào "config < my.ini" và thay đổi dòng 19 và 27 (phải có cổng = 3306) từ "3306" đến "3307."

Ngoài ra, bạn sẽ cần phải điều hướng đến xampp < phpMyAdmin < config.inc và thay đổi dòng 27, mà nên thích một cái gì đó như thế này:

$ cfg [ 'Servers'] [$ i] [ 'host' ] = '127.0.0.1';

Bạn sẽ cần phải thêm "3307" như sau:

$ cfg [ 'Servers'] [$ i] [ 'host'] = '127.0.0.1:3307';

Bây giờ, hãy mở trình duyệt của bạn và bạn sẽ thấy trang xampp khi bạn nhập "localhost". Ngoài ra, nếu đây là lần đầu tiên bạn sử dụng xampp, bạn có thể thấy cảnh báo về việc thiếu mật khẩu (được đánh dấu màu hồng) trên trang localhost/phpmyadmin/trang của bạn. Điều này có thể dễ dàng khắc phục bằng cách vào tab "tài khoản người dùng" trong phpmyadmin, nhấp vào "chỉnh sửa đặc quyền" và nhập mật khẩu. Hãy nhớ lưu phiên bản băm của bất kỳ và tất cả mật khẩu bạn tạo vì chúng tôi sẽ sử dụng phiên bản tiếp theo này! -Tôi đã mở một notepad và lưu (và đánh số) chúng. Lưu ý rằng phpMyadmin sẽ thông báo cho bạn khi bạn thay đổi mật khẩu cho phiên hiện tại của bạn (điều này sẽ được hiển thị ở đầu trang phpMyAdmin của bạn và rất quan trọng, vì bạn sẽ cần phiên bản băm mật khẩu cụ thể của bạn).

Tiếp theo, bạn cần điều hướng đến vị trí sau "xampp < phpMyAdmin < config.inc" trên máy tính của bạn và mở và chỉnh sửa tệp bằng trình chỉnh sửa văn bản. Bạn sẽ muốn đưa vào phiên bản băm mật khẩu của bạn giữa các dấu nháy đơn cho mật khẩu và thay đổi "AllowNoPassword" từ true thành false.

Và, điều đó phải làm điều đó.

0

Trong trường hợp của tôi: Tôi vừa thay thế

....xampp/mysql/backup files 

vào

**xampp/mysql/data** 

Nó làm việc cho tôi.

0

Nếu Apache đang chạy mà không có bất kỳ vấn đề nào và bạn sẽ tìm thấy một số tắc nghẽn do cài đặt bảo mật hệ thống, chỉ cần cho phép thay vì chặn hoặc đóng hộp thoại. Và thay đổi số cổng cho MySQL thành 3607 như trước 3606. Nó làm việc cho tôi.

3

Trong trường hợp của tôi, tôi đã làm hai điều:

  1. chuyển xampp/mysql/backup file vào xampp/mysql/data
  2. RUN XAMPP as Administrator

Nó làm việc cho tôi :)

+0

Yup ... !!! Nó LÀM VIỆC như một sự quyến rũ .... Cảm ơn. – maheshwaghmare

+0

Thanx nó làm việc cho tôi .. –

0

nếu bạn inistalled mysql Độc lập bạn có thể ngừng dịch vụ mysql nếu chạy không có câu trả lời nào trong số này đang làm việc cho tôi tác phẩm này với tôi

0

này đã làm việc cho tôi,

  1. bỏ XAMPP
  2. cắt Tất cả các file trong C: \ xampp \ mysql \ backup
  3. dán và thay thế tệp trong C: \ xampp \ mysql \ data
  4. chạy với tư cách quản trị viên XAMPP
0

Điều đầu tiên, tôi biết nó quá muộn nên tôi không biết liệu có ai sẽ upvote nó nhưng cũng không sao, thứ hai, gỡ cài đặt xampp có thể không làm bạn tốt vì quá trình sử dụng cổng 3306 (cổng mặc định của Mysql)) vẫn sẽ chạy ở đâu đó trên hệ thống của bạn. có thể là skype, nhưng có thể không phải là skype.

vì vậy cách tốt nhất là tìm hiểu quy trình nào đang sử dụng cổng 3306 và sau đó chấm dứt quá trình.

như vậy để tìm hiểu đó là quá trình sử dụng cổng 3306, mở cửa sổ lệnh, và gõ

netstat -n -o -a 

bạn sẽ nhận được một màn hình như this.

Sau đó tìm kiếm các địa chỉ với số cổng 3306 và tìm ra PID tương ứng với điều đó.

Sau đó, bạn chỉ cần mở một dấu nhắc lệnh as administrator và gõ

taskkill /F /PID 1234 

thay thế 1234 với PID tương ứng của bạn. Sau đó, bạn có thể thử bắt đầu mysql và nó sẽ hoạt động.


Và bây giờ nếu bạn là lười biếng để làm bước này khắp nơi trên một lần nữa khi khởi động lại máy tính ,,,

bạn chỉ có thể sử dụng các tập lệnh batch sau để chấm dứt quá trình tự động và tận hưởng :)

@echo off 
setlocal enableextensions 
set "port=3306" 
for /f "tokens=1,4,5" %%a in (
    'netstat -aon ^| findstr /r /c:"[TU][CD]P[^[]*\[::\]:%port%"' 
) do if "%%a"=="UDP" (taskkill /F /PID %%b) else (taskkill /f /PID %%c) 
endlocal 
pause 

lưu nó dưới dạng anything.bat và chạy nó mọi lúc bạn muốn sử dụng mysql.:)


-2

cách đúng là RECONFIGURE thiết lập app.with lại MYSQL .Bạn có thể mở thiết lập của bạn một lần nữa và thay đổi cổng 3306-3307.

enter image description here

Các vấn đề liên quan