Cơ sở dữ liệu MySQL sẽ không khởi động trong XAMPP Manager-osx


92

Tôi đã tải xuống XAMPP khoảng một tháng trước và nó đang hoạt động tốt. Hôm nay tôi đã cài đặt một phần mềm nhận dạng giọng nói và sau đó khởi động lại máy tính của mình. Kể từ đó, MySQL sẽ không khởi động trong ứng dụng manager-osx của tôi. Nó không đưa tôi vào nhật ký ứng dụng. Đây là những gì nó nói:

Stopping all servers...
Stopping Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd stopped
Stopping ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd stopped
Restarting all servers...
Starting MySQL Database...

Starting Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started
Starting ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd started

Cả ProFTPD và Máy chủ Web Apache của tôi đều đang chạy. MySQL thì không. Khi tôi truy cập phpmyadmin, nó ném cho tôi thông báo lỗi này.

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).

Làm ơn giúp tôi. Tôi không có ý tưởng gì để làm.

CẬP NHẬT:

Sau khi xem xét trên internet một chút, tôi đã tìm thấy một vấn đề tương tự mà một người dùng gặp phải với MAMP, một người dùng khác đã khuyến nghị giết quá trình mysql, điều đó có nghĩa là gì. Đây có thể là một sửa chữa cho vấn đề của tôi?

CẬP NHẬT 2:

Tôi đã tìm thấy câu trả lời cho vấn đề của mình nhưng tôi chưa thể trả lời được. Vì vậy, đây là câu trả lời:

1) Mở thiết bị đầu cuối và loại

sudo su

và sau đó nhập mật khẩu của bạn

2) Sau đó nhập

ps aux | grep mysql

(chỉ cần sao chép và dán cái này)

3) Bạn sẽ cần lấy id quy trình của mysql. Phải có số gần đầu, như 739 hoặc 8827

4) Diệt quy trình bằng cách sử dụng

kill -9 {process id}

cái này sẽ trông giống như thế này: kill -9 739

5) Khởi động lại MySQL trong manager-osx


Vấn đề bắt đầu từ khi nào?
Hammad Khan

2
Bạn cũng có thể đi tới trình theo dõi hoạt động trong thư mục tiện ích và kết thúc quá trình ở đó.
evan.stoddard

Tôi cũng khuyên bạn nên sao lưu thư mục thư mục web của bạn và cài đặt lại xampp .. Điều đó phù hợp với tôi.
evan.stoddard

2
Bạn nghĩ điều gì đã gây ra vấn đề?
Hammad Khan

Tôi đã cài đặt một mysql khác vào máy mac của mình. Tôi dừng cái đó sau đó nó giải quyết.
Md. Sajedul Karim

Câu trả lời:


164

Điều này sẽ hoạt động:
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start


2
Đây hoạt động khi quản lý-OSX không thể khởi động cơ sở dữ liệu mySQL trên localhost của bạn
Charles Wyke-Smith

2
Tuyệt vời, điều này hoạt động! Tuy nhiên, tôi rất tò mò, tại sao manager-osx lại khởi động mySQL và liệu tôi có phải khởi động /Application/XAMPP/xamppfiles/bin/mysql.server không? Hoặc tập lệnh manager-osx có thể sửa được không?
tốt lành,

7
Không làm việc cho tôi: Starting MySQL ..................................................................................................... ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/gmac.local.pid).
Geoffrey Hale

4
@GeoffreyHale và những người khác gặp phải sự cố này: hãy xem nhật ký của bạn (/Application/XAMPP/xamppfiles/var/mysql/YOURNAME.err) và có thể bạn sẽ phát hiện ra nguyên nhân gây ra lỗi. Của tôi là [ERROR] InnoDB: Unable to lock /Applications/XAMPP/xamppfiles/var/mysql/ibdata1, error: 35và hơn nữa [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.Heck! Nó đã đúng! Diệt tiến trình mysqld, gõ lệnh của benshittu và nó sẽ hoạt động.
LucaM

Điều này đã không làm việc cho tôi. Bạn đang sử dụng phiên bản XAMPP nào khi làm điều đó? Tôi đang ở trên 1.8.3-4 vì lý do tương thích cho một ứng dụng.
Adrian

86

Hướng dẫn tối thiểu

1. sudo killall mysqld

2. manager-osx> start mysql


Nếu điều đó không hiệu quả ...

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Google lỗi ...


Ví dụ:

Lỗi:

ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/<computername>.local.pid)

Giải pháp của tôi:

Trong /Applications/XAMPP/xamppfiles/etc/my.cnfthay đổi user = <uid>s đó <uid>uidtừ idlệnh.

$ id
uid=...

$ vim /Applications/XAMPP/xamppfiles/etc/my.cnf
...

5
Hoàn toàn giúp tôi. Cảm ơn.
azwar_akbar

có vẻ như "sudo killall mysqld" không bắt được tất cả các trường hợp mysql đang chạy. tôi đã chạy mysql với homebrew, vì vậy hãy kiểm tra "dịch vụ pha chế" và nếu quá trình mysql đang chạy ở đó, hãy dừng nó bằng "dịch vụ pha chế dừng mysql"
nerdess

65

Nếu các lệnh này không hiệu quả với bạn:

sudo killall mysqld
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Thử cái này:

Đối với XAMPP 7.1.1-0, tôi đã thay đổi số cổng từ 3306 thành 3307.

  1. Nhấp vào Quản lý máy chủ
  2. Chọn Cơ sở dữ liệu MySQL
  3. Nhấp vào Định cấu hình ở bên phải của bạn
  4. Thay đổi số cổng của bạn thành 3307
  5. Bấm OK
  6. Đóng Bảng điều khiển của bạn và khởi chạy lại.

Bây giờ bạn đã tốt để đi.


Tôi đã cố gắng thay đổi cổng và khởi động lại trình quản lý đã làm việc cho tôi. Cảm ơn bạn.
Shubha S

Người đàn ông hoàn hảo, tôi đã thay đổi số cổng từ 3306 thành 3307. Cảm ơn bạn!
Bonsai

3
Tôi đã cố gắng điều tương tự nhưng không làm việc cho xampp 7.2.2 mới: Sau bài viết lỗi nhận (Tôi có câu hỏi bị chặn vì vậy tôi không thể yêu cầu như câu hỏi mới trên stackoverflow) Starting MySQL .2018-03-06 11:21:32 3610 mysqld_safe Logging to '/Applications/XAMPP/xamppfiles/var/mysql/Bharats-iMac.local.err'. 2018-03-06 11:21:32 3610 mysqld_safe Starting mysqld daemon with databases from /Applications/XAMPP/xamppfiles/var/mysql ERROR!
bharat

Tôi chạy lệnh này sudo /Application/XAMPP/xamppfiles/bin/mysql.server bắt đầu nó hoạt động cho tôi.
Ramv V

Thay đổi cổng XAMPP MySQL thành 3307 hoạt động tốt!
Mohamed Daaniyaal

30

kiểm tra nhật ký lỗi trên / Applications / XAMPP / xamppfiles / var / mysql / của bạn với tên tệp như your_machine_name.local.err, nếu bạn tìm thấy thông tin như: "Đã cố gắng mở một vùng bảng đã mở trước đó. Vùng bảng trước đó ... sử dụng ID khoảng cách"

những điều sau đây phù hợp với tôi:

chỉnh sửa tập tin:

/Application/XAMPP/xamppfiles/etc/my.cnf

tìm phần [mysqld], thêm một dòng:

innodb_force_recovery = 1

sau đó chạy

sudo /Application/XAMPP/bin/mysql.server start

mọi thứ lại ổn.

và sau đó là bước cuối cùng:

chỉnh sửa lại my.cnf và xóa dòng bạn vừa thêm:

innodb_force_recovery = 1

và khởi động lại mysql một lần nữa. Nếu không, tất cả các bảng của bạn sẽ chỉ được đọc


11

Đối với tôi, điều sau đã hiệu quả: Thay đổi quyền thành 'chỉ đọc' cho 'mọi người' đối với tệp /Applications/XAMPP/xamppfiles/etc/my.cnf. Sau đó khởi động MySQL từ trình quản lý XAMPP.


Đã làm cho tôi! Hoàn hảo!
Jasper

vậy điều đó có nghĩa là bạn làm chmod 444 my.cnftrong thiết bị đầu cuối?
Abdullah Rasheed

11

Hãy thử chạy hai lệnh sau trong thiết bị đầu cuối:

  1. sudo killall mysqld sudo
  2. /Applications/XAMPP/xamppfiles/bin/mysql.server start

6

Lần đầu tiên tôi không thể giết được daemon mysql bằng các lệnh được đăng ở đây. Vì vậy, tôi đã nhớ lại thời gian linux của mình và làm như sau:

Tôi đã theo dõi các quá trình đang chạy bằng cách chạy toptrong một cửa sổ đầu cuối. Sau đó, tôi đã giết mysqld qua sudo killall mysqld(vặn PID ;-)) trong một cái khác và khởi động lại qua sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start.


6
  1. đóng điều khiển XAMPP
  2. sudo killall mysqld
  3. sudo /Application/XAMPP/xamppfiles/bin/mysql.server start

2
Đã làm cho tôi! - Đừng lo lắng nếu sudo killall mysqldném một cái gì đó như thế process not found.
Jimmy Adaro

6

nó đã xảy ra với tôi. và

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

không làm việc cho tôi.

vì vậy, tôi cài đặt lại xampp, sau đó sửa nó.

chú ý:

cài đặt lại xampp, sẽ không xóa dữ liệu mysql, không cần phải lo lắng về điều đó.


Thay vì đối với tôi, mã dòng này hoạt động mỗi khi MySQL không khởi động
Sasha Chirico

1
Cài đặt lại XAMPP cho tôi một vấn đề lớn hơn. Không thể truy cập các dữ liệu bảng nữa
Robert Cabri

4

Có rất nhiều câu trả lời, nhưng tôi nghĩ tôi đã tìm ra nguyên nhân gây ra nó, ít nhất là đối với tôi. Có vẻ như nếu bạn đặt máy tính của mình ở chế độ ngủ (hoặc nó tự ngủ), khi nó mở lại, nó sẽ cố gắng mở lại quy trình mysql. Tại một thời điểm, tôi xem xét trình theo dõi hoạt động của mình và tôi có 5 phiên bản đang chạy - giết tất cả chúng và sau đó bắt đầu hoạt động của mysql.


4
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

Điều này đã làm việc cho tôi.


LỖI! Các máy chủ từ bỏ mà không cần cập nhật PID file (/Applications/XAMPP/xamppfiles/var/mysql/testingAccounts-Mac.local.pid) .. phải làm gì
Krutarth Patel

1
@iKrutarth nhìn vào nhận xét của tôi tại câu trả lời benshittu của, có thể nó sẽ có ích cũng cho bạn
LucaM

Câu trả lời trùng lặp. Một phiên bản cũ của câu trả lời này đã tồn tại.
Henrik

4

Tôi đã thành công khi dễ dàng giết tất cả các quy trình mysql đang hoạt động trong công cụ Hoạt động theo dõi:

1) đóng điều khiển XAMPP

2) mở Hoạt động màn hình

3) chọn bộ lọc cho Tất cả các quy trình (mặc định là Quy trình của tôi)

4) tìm kiếm: mysql

5) buộc thoát khỏi tất cả mysql

6) khởi chạy lại điều khiển XAMPP và khởi chạy lại apache

Thưởng thức


4

thử hai dòng này từ thiết bị đầu cuối

  1. sudo killall mysqld
  2. sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

3

Nguyên nhân có thể do phần mềm bạn đã cài đặt hoặc có thể là bất kỳ phần mềm nào khác đang sử dụng cùng cổng 3306. Cổng 3306 này được sử dụng bởi Mysql trong XAMPP. Loại vấn đề tương tự mà tôi gặp phải đối với Apache. Tôi đang chạy skype và cố gắng chạy XAMPP nhưng skype sử dụng cùng một cổng với Apache nên nó không hoạt động. Sau đó, tôi đăng xuất khỏi skype thì cổng đã miễn phí và apache bắt đầu. Vì vậy, bạn nên tìm kiếm phần mềm trong máy tính xách tay của bạn đang chặn hoặc làm bận cổng này. Giải phóng cổng đó bằng cách đóng phần mềm và sau đó chạy XAMPP và Nó sẽ hoạt động.


3

Những gì tôi đã làm như sau: Trong Bảng điều khiển XAMPP, tôi đã chỉnh sửa tệp my.ini của cấu hình MySql và thay đổi cổng từ 3306 thành 3307 và nó đã hoạt động, hy vọng nó sẽ giúp ích!

Chỉnh sửa: sau khi bạn lưu các thay đổi này, hãy đảm bảo rằng dịch vụ đã tắt và sau đó khởi động lại dịch vụ. Tôi đã gặp vấn đề tương tự khi cài đặt MySQL, đó chỉ là cổng.


2

Tôi gặp phải vấn đề này ngay bây giờ. Tôi đã kiểm tra tệp nhật ký và thấy nó là do máy chủ không được tắt đúng cách. Vì vậy, tôi đã tìm thấy http://rivenlinux.info/how-to-recover-innodb-corrupt-for-mysql/ này và thêm cấu hình đơn giản "innodb_force_recovery = 1" trong [mysqld] trong my.cnf. Sau đó, vấn đề đã được giải quyết.

Tệp nhật ký nằm / Applications / XAMPP / xamppfiles / var / mysql và nó được đặt tên theo tên máy chủ của bạn. Chỉ cần liên kết XXX-MacBook-Pro.local.err này


Thnx. Điều này đã giúp rất nhiều. Tìm thấy nhật ký lỗi và thấy innodb đang gây ra sự cố. Nó bây giờ khởi động lại, nhưng bây giờ không thể truy cập cơ sở dữ liệu nữa. Vì vậy, có một vấn đề cơ bản lớn hơn :(. Tôi nghĩ rằng nó liên quan đến việc cập nhật Mac OSX. Đây không phải là lần đầu tiên. Chỉ cài đặt lại xampp cũng không khắc phục được. Cơ sở dữ liệu bị hỏng ....
Robert Cabri

1

Tất cả các câu trả lời nêu trên liên quan đến việc thay đổi số cổng trong tình huống này là cách tốt nhất để giải quyết vấn đề này vì bạn cần phần mềm nhận dạng giọng nói của mình để cùng tồn tại với MAMP. Tuy nhiên, bạn phải nhớ rằng việc thay đổi số cổng này sẽ ảnh hưởng đến tất cả các kết nối tiếp theo của bạn với MySQL (tức là thiết bị đầu cuối, mã php, phpmyadmin, v.v.). Do đó, bạn nên thay đổi cổng chạy phần mềm nhận dạng giọng nói. Hy vọng điều này là hữu ích.

:)


1

nếu bạn đang gặp lỗi này

.............ERROR! The server quit without updating PID file 

Thử cái này

Truy cập / Applications / XAMPP / xamppfiles / var / mysql /

nếu không có tệp nào có tên Your_Username.local.pid

Your_Username should replace with your Mac Username

Tạo một tệp với tên này

Vậy hãy thử đi

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

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


1

Nó cũng có vấn đề tương tự, tất cả những gì tôi đã làm là cấp quyền chỉ đọc cho TẤT CẢ người dùng (bao gồm hệ thống) và tất cả các mục có trong các thư mục sau:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

và khởi chạy lại điều khiển XAMPP và khởi chạy lại máy chủ mysql hoặc

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start   

1

Tôi gặp sự cố tương tự và gặp lỗi này trong hostname.err trong thư mục / Applications / XAMPP / xamppfiles / var / mysql

2016-09-06 15:32:45 140735322399488 [Lưu ý] Plugin 'PHẢN HỒI' bị tắt. 2016-09-06 15:32:45 140735322399488 [Lưu ý] Chế độ khôi phục sự cố Heuristic 2016-09-06 15:32:45 140735322399488 [Lưu ý] Vui lòng khởi động lại mysqld mà không cần --tc-heuristic-recovery 2016-09-06 15: 32:45 140735322399488 [LỖI] Không thể đăng nhập tc 2016-09-06 15:32:45 140735322399488 [LỖI] Đang hủy

2016-09-06 15:32:48 20004 mysqld_safe mysqld from pid file /Application/XAMPP/xamppfiles/var/mysql/hostname.pid đã kết thúc

Sau đó, tôi đã xóa tc.log và nó hoạt động tốt sau khi khởi động lại mysql thông qua manager-osx


loại bỏ tc.log cố định vấn đề này đối với tôi
Greg Kerstine

1

Điều này có thể là do một phiên bản khác của mysqd đã chạy trong mac-book-pro (MacOs-10) của bạn. Tiếp theo là không thể giết / pkill mysqld hoặc .... Tôi đã thử con đường đó nhiều lần, nhưng không thành công. Cuối cùng những điều sau đã làm việc cho tôi:

launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

đợi một vài phút và kiểm tra với

ps -ef|grep mysqld

Nó nên biến mất!


1

trên

macOs High Sierra

nếu mysql không bắt đầu từ người quản lý và đã thử lệnh trực tiếp, tức là

sudo /Applications/XAMPP/bin/mysql.server start

quá đi đến đường dẫn chỉnh sửa

/ Ứng dụng / XAMPP / xamppfiles / etc /

tìm tập tin :

my.cnf

Chỉnh sửa nó

trong phần [mysqld], thêm dòng sau:

innodb_force_recovery = 1

sau khi nó lưu và chạy hoặc có thể được thực hiện từ manager-osx

sudo /Applications/XAMPP/bin/mysql.server start

nó sẽ bắt đầu mysql.

sau khi nó chạy, bạn cần phải chỉnh sửa lại

my.cnf

tập tin và xóa dòng vừa thêm

innodb_force_recovery = 1

dừng lại và bắt đầu lại mysql. bằng lệnh

sudo /Applications/XAMPP/bin/mysql.server start 

hoặc bởi manager-osx

nó sẽ hoạt động tốt.


0

Có thể phần mềm nhận dạng giọng nói của bạn có trình cài đặt mysql bên trong và khi bạn cài đặt phần mềm này, nó cũng đã cài đặt mysql và thêm nó vào dịch vụ và dịch vụ mysql này bắt đầu sau khi hệ thống của bạn khởi động. Vì vậy, bây giờ bạn có hai máy chủ mysql (một từ phần mềm nhận dạng giọng nói và thứ hai là từ XAMPP), đó là lý do tại sao việc giết quá trình trước đó (dịch vụ mysql) đã giải quyết được vấn đề của bạn. Nhưng đây không phải là một giải pháp lâu dài, bạn phải lặp lại nó bất cứ khi nào bạn khởi động máy. Vì vậy, tốt hơn là tìm ra máy chủ (dịch vụ) mysql đó và thay đổi số cổng của nó. HOẶC thay đổi cài đặt để dịch vụ mysql không bắt đầu khi máy của bạn khởi động (nhưng có thể phần mềm nhận dạng giọng nói của bạn không hoạt động bình thường)

Tôi hy vọng nó sẽ giúp bạn.

Chúc mừng


0

Dường như bạn đã tìm thấy một giải pháp khắc phục bằng cách giết quá trình, nhưng hãy đảm bảo rằng bạn kiểm tra dung lượng trống trên phân vùng MySQL của mình. Nếu nhật ký hoặc tệp db của bạn đang chiếm hết dung lượng ổ đĩa của bạn, mysqld sẽ không khởi động.


0

Khởi động lại máy tính hoặc sử dụng các lệnh 'kill' được liệt kê ở trên sẽ giải quyết được sự cố. AS để ngăn nó xảy ra, tôi thấy điều này xảy ra bất cứ lúc nào máy tính của tôi chuyển sang chế độ ngủ. Cổng rõ ràng được giữ riêng, và sau đó khi thức dậy, mysql cố gắng kết nối lại với cổng đó, nhưng không thể. Đây cũng có thể là vấn đề của bạn.


0

Tôi đang chạy XAMPP 5.6.3-0 cho OS X Yosemite 10.10.2 và gặp sự cố tương tự hai lần, lần đầu tiên là với Mavericks. Với một loạt các giải pháp khác nhau cho vấn đề với Cơ sở dữ liệu MySQL không bắt đầu sử dụng Ứng dụng quản lý, tôi muốn xác nhận những gì đã hiệu quả với tôi. Cách giải quyết luôn hoạt động và buộc MySQL phải khởi động là bằng cách mở Terminal và sử dụng: sudo /Application/XAMPP/xamppfiles/bin/mysql.server start Tôi đã mở Ứng dụng quản lý và khởi động ProFTPD và Apache rồi chạy lệnh sudo.

Một gợi ý khác của Wishap đã hoạt động là tìm tệp /Application/XAMPP/xamppfiles/etc/my.cnf và thay đổi quyền cho "mọi người" thành Chỉ đọc.

Vấn đề khác mà tôi gặp phải có vẻ là một vấn đề khác với nhiều giải pháp là vấn đề sau khi mọi thứ được bắt đầu sau đó nhập localhost đưa tôi đến màn hình xampp và sau đó không có gì. Điều duy nhất làm việc cho tôi, ít nhất, để truy cập trang phpMyAdmin là bằng cách nhập localhost / phpmyadmin

Tôi hy vọng điều này sẽ giúp những người khác đọc qua một loạt các chủ đề để tìm câu trả lời.

Trân trọng, Erik


0

Hãy thử điều này, dịch vụ sudo mysql dừng nó sẽ dừng mọi dịch vụ mysql khác và sau đó khởi động lại xampp


0

Chỉ cần nhấp vào Tab Máy chủ được quản lý trong XAMPP MANAGER, Bây giờ chọn Cơ sở dữ liệu MySQL, Nhấp vào cấu hình ở phía bên phải.

Thay đổi cổng từ 3306 thành 3307 và nó sẽ hoạt động.


0

Nó có cùng một vấn đề, tất cả những gì tôi làm là cấp quyền chỉ đọc cho tất cả người dùng và tất cả các mục có trong các thư mục sau:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

0

Vâng, đôi khi chỉ có một ERROR!thông báo được hiển thị trong bình luận mysql trên thiết bị đầu cuối. Sau đó, chỉ cần cài đặt lại (ghi đè) XAMPP là có thể giải quyết được.


Tôi cũng chỉ có LỖI! và không có gì khác. Tôi đã đi với chủ đề này, và sau đó thực hiện các bước sudo killall. Tôi không phải cài đặt lại - osx El capitan
Splambo
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.