Tại sao tôi không thể khởi động máy chủ mysql?

XAMPP là một công cụ tuyệt vời dành cho các nhà phát triển web, những người cần chạy hoặc kiểm tra các ứng dụng web cục bộ trên máy tính của chính họ. Thật không may, vì nó chạy các ứng dụng trên ngăn xếp LAMP, xung đột có thể xảy ra, khiến một số ứng dụng trên XAMPP không thể chạy

Trong bài viết này, chúng ta sẽ khám phá những gì bạn có thể làm nếu dịch vụ MySQL của XAMPP không chạy trên nền tảng macOS

Thay vào đó, bạn đang tìm cách để XAMPP MySQL hoạt động trên Windows phải không? . Thay vào đó, hãy nhấp vào các liên kết đã nói ở trên nếu chúng là những gì bạn cần

  1. Vấn đề
  2. Nguyên nhân có thể và cách khắc phục
    1. Xung đột máy chủ MySQL
    2. Giết các quy trình MySQL hiện có bằng Terminal
    3. Thay đổi số cổng MySQL
  3. Sự kết luận

1. Vấn đề

Nếu tất cả các chương trình máy chủ XAMPP của bạn đang chạy ngoại trừ Cơ sở dữ liệu MySQL (như hình bên dưới), thì bạn nên đọc bài viết này để tìm nguyên nhân và giải pháp khả thi cho sự cố của mình

Tại sao tôi không thể khởi động máy chủ mysql?
MySQL không bắt đầu trong XAMPP

Trong bảng điều khiển XAMPP của bạn, bạn có thể thấy văn bản sau, trong đó cơ sở dữ liệu MySQL đang bị kẹt và không thể khởi động

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...

Nếu bạn cố gắng truy cập phpMyAdmin qua http://localhost/phpmyadmin khi Apache đã khởi động (và không khởi động mô-đun MySQL), bạn cũng sẽ thấy màn hình lỗi sau

Tại sao tôi không thể khởi động máy chủ mysql?
không thể kết nối phpMyAdmin mà không khởi động MySQL

2. Nguyên nhân có thể và cách khắc phục

Vì vậy, điều gì có thể gây ra lỗi được mô tả ở trên?

a. Xung đột máy chủ MySQL

Trên macOS của bạn, bạn có thể có nhiều phiên bản máy chủ MySQL đang chạy. Điều này có thể được gây ra bởi các ứng dụng khác (đối với e. g. SQL Workbench) chạy các phiên bản MySQL của riêng họ. Để khắc phục sự cố này, bạn cần dừng phiên bản khác của máy chủ MySQL

Đây là cách để làm như vậy

  1. Chuyển đến Ứng dụng → Tiện ích → Giám sát hoạt động
  2. Chọn tất cả quy trình
  3. Tìm kiếm sql bằng cách sử dụng hộp tìm kiếm
  4. Bạn sẽ thấy quy trình mysqld, nhấp đúp vào quy trình đó và nhấn Quit
  5. Sau khi hoàn tất khởi động lại mysql trong manager-osx và nó sẽ chạy

Tại sao tôi không thể khởi động máy chủ mysql?
Xóa các quy trình mysqld hiện có bằng Trình giám sát hoạt động

b. Giết các quy trình MySQL hiện có bằng Terminal

Thay vì sử dụng Trình giám sát hoạt động, bạn cũng có thể tìm và đóng các quy trình mysqld hiện có bằng Terminal của macOS

Ghi chú. Để chạy các lệnh sau, bạn cần có thể đăng nhập với tư cách người dùng root trên macOS của mình. Đây là hướng dẫn (của Apple) về cách thực hiện việc này. https. //ủng hộ. táo. com/en-us/HT204012

  1. Mở Terminal, dán lệnh này. ________số 8;
  2. Sau đó sao chép và chèn lệnh tiếp theo này. ps aux | grep mysql. Điều này sẽ cho bạn thấy các quy trình với mysql trong tên của nó
  3. Sau khi lấy các tiến trình, bạn cần lấy ID tiến trình của các tiến trình có tên là
    root              8006   0.0  0.0 408628336   1648 s000  S+   11:37AM   0:00.00 grep mysql
    _mysql             362   0.0  0.0 35192992   3396   ??  Ss   Sun10PM   0:21.82 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
    0. Trong trường hợp của tôi, quy trình có tên là
    root              8006   0.0  0.0 408628336   1648 s000  S+   11:37AM   0:00.00 grep mysql
    _mysql             362   0.0  0.0 35192992   3396   ??  Ss   Sun10PM   0:21.82 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
    1, vì vậy tôi cần có ID quy trình là 362 (được đánh dấu bên dưới)
root              8006   0.0  0.0 408628336   1648 s000  S+   11:37AM   0:00.00 grep mysql
_mysql             362   0.0  0.0 35192992   3396   ??  Ss   Sun10PM   0:21.82 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
  1. Bây giờ, bạn cần kết thúc quá trình này bằng cách sử dụng lệnh sau.
    root              8006   0.0  0.0 408628336   1648 s000  S+   11:37AM   0:00.00 grep mysql
    _mysql             362   0.0  0.0 35192992   3396   ??  Ss   Sun10PM   0:21.82 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
    0, vì vậy đối với tôi lệnh cuối cùng sẽ là.
    root              8006   0.0  0.0 408628336   1648 s000  S+   11:37AM   0:00.00 grep mysql
    _mysql             362   0.0  0.0 35192992   3396   ??  Ss   Sun10PM   0:21.82 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
    1
  2. Khởi động lại MySQL trong manager-osx và bạn sẽ ổn thôi

Mẹo. Nếu bạn có nhiều quy trình mysql và không biết quy trình nào muốn dừng, bạn cũng có thể dừng TẤT CẢ quy trình MySQL bằng

root              8006   0.0  0.0 408628336   1648 s000  S+   11:37AM   0:00.00 grep mysql
_mysql             362   0.0  0.0 35192992   3396   ??  Ss   Sun10PM   0:21.82 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
2

Nếu sau đó bạn không thể khởi động lại MySQL, bạn cũng có thể thử lệnh này để khởi động trực tiếp máy chủ MySQL của XAMPP

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

Bài viết tiếp tục sau quảng cáo


c. Thay đổi số cổng MySQL

Khi khởi động XAMPP MySQL nó báo không thể kết nối với số cổng thì đổi sang số mới sẽ đỡ

Tại sao tôi không thể khởi động máy chủ mysql?
XAMPP không thể liên kết với cổng 3306

Để thay đổi số cổng, hãy làm theo hướng dẫn bên dưới

Ghi chú. Để thay đổi số cổng trong tệp cấu hình, bạn cần có thể đăng nhập với tư cách người dùng root trên macOS của mình. Đây là hướng dẫn (của Apple) về cách thực hiện việc này. https. //ủng hộ. táo. com/en-us/HT204012

Không thể khởi động cửa sổ dịch vụ MySQL?

Cách giải quyết việc dịch vụ MySQL khởi động và dừng đột ngột .
Khởi động lại dịch vụ. Khởi động lại dịch vụ MySQL bằng cách chạy lệnh sau. mysqld --khởi tạo. .
Cài đặt lại dịch vụ. .
xác minh của tôi. .
Xác minh quyền Dịch vụ mạng. .
Kiểm tra các tệp mặc định bị thiếu

Không thể khởi động dịch vụ MySQL trong khi cài đặt?

Đầu tiên hãy thử khởi động lại PC và Dịch vụ MySql vài lần , nếu vẫn gặp lỗi tương tự, hãy làm theo các bước. Tiếp tục mở các trình hướng dẫn và thư mục sau. C. \Tệp chương trình (x86)\MySQL\MySQL Server 5. 5\bin. C. \Tệp chương trình (x86)\MySQL\MySQL Server 5. 5.

Không thể khởi động dịch vụ MySQL trên máy tính cục bộ?

Đôi khi tên tệp của mysqld-nt. exe được đổi tên thành mysqld-nt. exe~ vì vậy đổi tên nó trở lại tên ban đầu và điều này có thể giải quyết vấn đề.

Không thể khởi động bàn làm việc của máy chủ MySQL?

Sự cố này thường do tham chiếu tên dịch vụ không chính xác . Điều này phát sinh khi MySQL Workbench chứa tham chiếu đến tên dịch vụ cũ hơn (e. g. mysql), trong khi MySQL Server 8. 0. x sử dụng tên dịch vụ MySQL80.