2015-05-02 27 views
8

Hôm nay (2015/05/02) Tôi nâng cấp hệ thống Linux của tôi qua apt-get update và
apt-get upgrade trong khi mysql, mysqladmin và nhiều hơn nữa gói
có đã được cập nhật. Các mysql-server-5,5 chạy và tôi có thể đăng nhập và làm tất cả
các hoạt động cơ sở dữ liệu điển hình nhưng khi tôi gõ:
mysqladmin: kết nối với máy chủ tại 'localhost' thất bại

[email protected]:~# mysqladmin proc 

tôi nhận được lỗi sau:

mysqladmin: connect to server at 'localhost' failed 
error: 'Access denied for user 'root'@'localhost' (using password: NO)' 

Trước đây tôi có thể giải quyết vấn đề này bằng cách đơn giản thiết lập mật khẩu gốc mysql mới.
này không giải quyết vấn đề này nữa:

[email protected]:~# sudo dpkg-reconfigure mysql-server-5.5 

Làm thế nào để tôi có được mysqladmin lên một lần nữa mà không cần cài đặt lại mysql?

Trả lời

14

ngắn phiên bản: Nếu người dùng MySQL của bạn root cần một mật khẩu để kết nối, nó có thể là một ý tưởng tốt để có mysqladmin cung cấp mật khẩu đó;)

dài hơn phiên bản: hướng MySQL của bạn root dường như cần một mật khẩu để kết nối

setting the mysql root password new

Nhưng mysqladmin cố gắng kết nối mà không một mật khẩu

0.123.

'Access denied for user 'root'@'localhost' (using password: NO)'

mysqladmin làm thế bởi vì bạn không nói cho nó hình thức khác;)

mysqladmin, giống như các công cụ khác MySQL liên quan đến dòng lệnh (mysql, mysqldump, mysqlshow vv), cung cấp các tùy chọn để cung cấp truy cập như vậy dữ liệu.

  • h: Máy chủ lưu trữ kết nối đến. Nếu không được cung cấp, localhost được giả định
  • u: Người dùng nào kết nối như. Nếu không được cung cấp, root được giả định
  • p: Mật khẩu nào cần sử dụng. Nếu không được cung cấp, không có mật khẩu được sử dụng

Bạn sẽ có thể sử dụng giống như

mysqladmin -uroot -pmysupersecretpassword proc 

(lưu ý rằng không có khoảng trống giữa các tùy chọn và giá trị của họ). Bạn cũng có thể yêu cầu MySQL nhập mật khẩu như

mysqladmin -uroot -p proc 

Với điều đó, MySQL sẽ nhắc bạn nhập mật khẩu của bạn.

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