Kiểm tra xem mySql đã được cài đặt trên máy chủ chưa


10

Có cách nào để xác định xem mySql đã được cài đặt trên máy chủ Linux không?


Nếu bạn cần downvote câu hỏi này, xin vui lòng cho tôi biết tại sao?
Elitmiar

Có lẽ bởi vì bạn đã không hỏi câu hỏi của bạn tốt. Đây là cách thực tế để làm điều đó đúng: catb.org/~esr/faqs/smart-questions.html
pboin

Câu trả lời:


12

Giả sử rằng bạn đang tìm kiếm một nhị phân mysql được cài đặt với một gói thông thường, hãy chạy lệnh:

mysql

hoặc là

mysql --version

Nếu nó trở lại với một phản hồi, nó được cài đặt, nếu nó nói "không tìm thấy lệnh" thì nó không được cài đặt.


Giả sử rằng nó trong đường dẫn hoặc thư mục hiện tại.
squillman

Cũng giả sử rằng nó không được biên dịch để sử dụng một tên khác! :)
Dave Drager

2

Phiên bản nào của linux?

Debian dpkg -l 'mysql *'


1

Còn về rpm -q mysql(Fedora / RedHat)


vòng / phút | grep mysql có lẽ an toàn hơn vì gói chính là mysql-server
Ophidian

1

Khác với những gợi ý hay ở trên, hãy thử:

locate mysqld_safe

hoặc là

ls /etc/init.d | grep mysql

Nếu bạn nghĩ rằng nó có thể đang chạy, hãy thử:

ps waxu | grep mysql

hoặc là

netstat -pan | grep mysql

0

Trên mỗi bản phân phối mà tôi biết, MySQL cài đặt một số thư viện dùng chung cho máy khách của nó, được đặt tên là limbysqlclient một cách thích hợp. Bạn có thể kiểm tra điều này bằng cách sử dụng công cụ ldconfig, công cụ này sẽ truy vấn để xem đối tượng đã được cài đặt chưa:

ldconfig -p | grep mysqlclient
        libmysqlclient_r.so.15 (libc6) => /usr/lib/libmysqlclient_r.so.15
        libmysqlclient_r.so.14 (libc6) => /usr/lib/libmysqlclient_r.so.14
        libmysqlclient_r.so.12 (libc6) => /usr/lib/libmysqlclient_r.so.12
        libmysqlclient_r.so.10 (libc6) => /usr/lib/libmysqlclient_r.so.10
        libmysqlclient_r.so (libc6) => /usr/lib/libmysqlclient_r.so
        libmysqlclient.so.15 (libc6) => /usr/lib/libmysqlclient.so.15
        libmysqlclient.so.14 (libc6) => /usr/lib/libmysqlclient.so.14
        libmysqlclient.so.12 (libc6) => /usr/lib/libmysqlclient.so.12
        libmysqlclient.so.10 (libc6) => /usr/lib/libmysqlclient.so.10
        libmysqlclient.so (libc6) => /usr/lib/libmysqlclient.so

Điều này cho bạn biết rằng rất có khả năng MySQL được cài đặt. Rất hiếm khi ai đó chỉ cài đặt các đối tượng được chia sẻ mà không cài đặt ít nhất máy khách. Bây giờ, hãy kiểm tra sự tồn tại của máy khách và máy chủ thực tế:

root@tower:~ # which mysqld_safe
/usr/bin/mysqld_safe
root@tower:~ # which mysql
/usr/bin/mysql
root@tower:~ #

Chương trình `which 'có thể chưa được cài đặt, vì vậy hãy kiểm tra nó qua:

root@tower:~ # which which
/usr/bin/which

Hi vọng điêu nay co ich. Thiếu truy vấn trình quản lý gói (loại khó thực hiện trong tập lệnh nếu bạn có nhiều hệ thống chạy các bản phân phối khác nhau) có vẻ như là một cách rất đáng tin cậy để nói.


-1

Cách dễ nhất và xa nhất để trả lời câu hỏi của bạn là;

find / -name mysql
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.