Đó là điều bình thường, nếu bằng cách nói "truy cập DB qua mysql -u root -p
hoạt động tốt " ý bạn là bạn đang chạy nó trong khi là root hệ thống (hoặc dưới sudo
). Bạn không thể làm điều đó như một người dùng bình thường.
Các gói do Ubuntu tạo theo mặc định có unix_socket xác thực cho gốc cục bộ. Để kiểm tra, hãy chạy
SELECT user, host, plugin FROM mysql.user;
Bạn sẽ thấy unix_socket
trong plugin
cột cho [email protected]
.
Nếu bạn muốn sử dụng xác thực mật khẩu thay thế, hãy chạy
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;