2012-03-29 38 views
18

Tôi đã cài đặt Mysql 5.1 trên Mac OS X 10.7 Lion. Tuy nhiên, vì một số lý do, khi tôi thử khởi động máy chủ bằng lệnh "mysqld", tôi gặp lỗi trong tệp nhật ký có nội dung:Máy chủ mysqld khác đang chạy trên cổng 3306 lỗi

120328 21:32:40 [ERROR] Không thể khởi động máy chủ: Bind on Cổng TCP/IP: Địa chỉ đã được sử dụng

120328 21:32:40 [LRI] Bạn đã có một máy chủ mysqld khác đang chạy trên cổng: 3306 chưa?

120328 21:32:40 [LỖI] hủy bỏ

Nếu tôi chạy "-nat netstat | grep 3306" trong thiết bị đầu cuối của mình, tôi nhận được như sau:
tcp4 0 0 * 0,3306 . LISTEN

UPDATE:

Vì vậy, đây là đầu ra cho điều đó.
mysqld 24645 sb1752 12u IPv4 0xffffff8010f6bde0 0t0 TCP *: mysql (LISTEN)

Điều này thật kì quặc! Bởi vì máy chủ mysql của tôi không được khởi động.
Khi tôi gõ "mysql" trong dòng lệnh, nó nói
ERROR 2002 (HY000): Không thể kết nối với máy chủ MySQL địa phương thông qua ổ cắm '/tmp/mysql.sock' (2)

tôi đã cài đặt phiên bản khác của mysql và gỡ bỏ cài đặt trước đó ngày hôm nay. Có ý tưởng gì phải làm ở đây không?

+1

Đầu ra của 'ps -ef 'grep mysql' là gì? –

+5

@Tim, Câu hỏi này trở thành chủ đề như thế nào? –

Trả lời

18

Bạn có thể sử dụng netstat -lp | grep 3306 để tìm hiểu những gì chương trình đã được lắng nghe trên cổng 3306 (bạn sẽ thấy PID/Tên chương trình ở cột cuối cùng) và dừng lại (có thể mysql đang chạy?).

Hoặc bạn có thể khởi động máy chủ mới được cài đặt trên một cổng khác. (chỉnh sửa my.cnf và thay đổi cổng mặc định tại đó)

+0

Cảm ơn. Làm thế nào để ngăn chặn các mysql khác? Tôi nghĩ rằng tôi chỉ có một. ? – Shaan

+4

Thử '/etc/init.d/mysqld stop' hoặc sử dụng' kill ' – stewe

+0

Hoàn hảo đã hoạt động, cảm ơn! – Shaan

27

sử dụng lsof -i TCP:3306 để kiểm tra chương trình liên kết với cổng 3306

+0

hoạt động với mac osx – Intentss

+0

đây là một cách hay vì nó cũng sẽ bắt bất kỳ đường hầm và những gì bạn có thể có thiết lập.Tôi sử dụng scp trên đường hầm và đã bị ràng buộc một đường hầm trên 3306 – qrikko

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