2012-04-25 17 views
7

Tôi đã cài đặt MySQL và đang phát xung quanh với các cài đặt mật khẩu đang cố gắng để Wordpress kết nối với nó. Trong khi làm như vậy, tôi dường như đã băm mật khẩu gốc của tôi và bây giờ không thể đăng nhập.Không thể khởi động mysqld_safe để đặt lại mật khẩu gốc

Tôi đang cố gắng để thiết lập lại mật khẩu bằng cách chạy

/etc/init.d/mysqld stop 

Sau đó

mysqld_safe --skip-grant-tables 

Những kết quả đầu ra

Starting mysql daemon with databases from /var/lib/mysql 

Nhưng sau đó không có gì. Nó không thành công hay thất bại. Tôi đã không có bất kỳ thiết lập cơ sở dữ liệu vì vậy tôi muốn được hạnh phúc để loại bỏ và cài đặt lại mysql nếu cần thiết nhưng tôi đã cố gắng mà không có avail. Tôi có thể quay lại bằng cách nào?

+0

Nếu bạn cài đặt lại, mật khẩu sẽ biến mất và bạn sẽ có thể truy cập vào nó. – CoffeeRain

+0

Chính xác những gì tôi đã kết thúc ... đánh bằng búa. – jcpeden

Trả lời

13

mysqld_safe là lệnh để khởi động công cụ mysql. Nó không phải là để làm hoặc hiển thị bất cứ điều gì sau khi dòng nói rằng nó bắt đầu mysql. Khi bạn đã chạy mysqld_safe, bước tiếp theo là chạy mysql. Vì bạn đã bắt đầu mysqld với --skip-grant-tables, bạn sẽ không cần chỉ định tên người dùng hoặc mật khẩu.

Sau đó, bạn có thể cung cấp lệnh để đặt lại mật khẩu của root. Để biết hướng dẫn về cách đặt mật khẩu, hãy xem http://dev.mysql.com/doc/refman/5.0/en/set-password.html.

+0

Nó không cho phép tôi nhập bất cứ điều gì khác mặc dù, hệ thống sẽ chỉ treo. – jcpeden

+0

Toàn bộ hệ thống có treo không? Hoặc bạn chỉ có nghĩa là các thiết bị đầu cuối bạn gõ 'mysqld_safe' vào không làm bất cứ điều gì? Đó là những gì phải xảy ra. Bạn cần phải mở một thiết bị đầu cuối mới và sau đó chạy 'mysql'. – octern

+0

Cảm ơn bạn đã giải thích điều này rõ ràng hơn! – jcpeden

2

bạn đã thử "mysqld --skip-grant-tables" thay vì mysqld_safe chưa? đảm bảo tiêu diệt bất kỳ chuỗi mysqld nào không chết trước khi bắt đầu mysqld --skip-grant-tables. Thực hiện một ps -ef và grep cho mysql, giết -9 bất kỳ quá trình mysql nào, sau đó bắt đầu nó --skip-grants-tables.

+0

Không cố gắng bắt đầu nó ra khỏi chế độ an toàn và cố gắng để giết bất kỳ quy trình nhưng tôi không thể tìm thấy bất cứ điều gì để giết, tôi khá chắc chắn quá trình này phải đã được chạy và hệ thống không thích được nói để bắt đầu nó một lần nữa. Chỉ cần khó hiểu rằng không có thông báo lỗi. – jcpeden

+0

mysqld_safe có ghi nhật ký bất cứ điều gì trong error.log hoặc tin nhắn không? Có một quá trình mysqld chạy sau khi bạn bắt đầu nó trong chế độ an toàn hoặc với --skip-grant-tables? nếu bạn strace mysqld pid những gì hiện strace hiển thị? – MichaelN