Không thể đăng nhập vào MySQL với quyền root nữa?


8

Có vẻ như tôi không thể đăng nhập vào MySQL (thực ra là MariaDB) với tư cách là người dùng root nữa trong Ubuntu 15.04 (Tôi đã nâng cấp từ 14.04 đến 14.10)

Tôi đã cố gắng thiết lập lại mật khẩu.

Những gì đang hoạt động, là sudo mysql- nhưng tôi muốn đăng nhập bằng root từ một người dùng khác bằng cách sử dụng mysql -uroot -p. Khi tôi tạo một người dùng mới với đầy đủ quyền và mật khẩu, nó đang hoạt động.

Có điều gì đó đã thay đổi?


ehm ... "nhưng tôi muốn đăng nhập bằng root" Với tôi (!) chưa bao giờ có lý do cho việc này. Bạn có thể thiết lập hệ thống cho bất kỳ người dùng nào khác ngoài root và thực hiện tương tự từ người dùng đó nếu bạn muốn ;-)
Rinzwind

@Rinzwind Rất nhiều lý do để đăng nhập với quyền root trong cơ sở dữ liệu . Đó là cách duy nhất để quản lý người dùng, cơ sở dữ liệu, v.v. Không có cơ chế sudo nội bộ.
Oli

@oli chúng tôi sử dụng một người dùng khác cho điều đó. I E. truy cập bằng "root" chỉ có thể khi sử dụng "sudo su" để thiết lập lại mysql nhưng điều đó không yêu cầu bất kỳ xác thực nào.
Rinzwind

Câu trả lời:


6

Vì vậy, bạn đã đi từ phiên bản 5.5.44-1ubuntu0.14.04.1đến 10.0.20-0ubuntu0.15.04.1. Nghe có vẻ đáng sợ hơn, đó chỉ là những gì họ gọi là 5.6 vì một số lý do .

Có vẻ như các phiên bản mới hơn của MariaDB đã thêm một plugin vào bảng người dùng để buộc xác thực thông qua một đường dẫn cố định. Trong trường hợp này, rootngười sử dụng cơ sở dữ liệu bị buộc phải thông qua các unix_socketPlugin . Điều này dường như cũng được biết đến như auth_sockettrong một số vòng tròn.

Dù sao, plugin này hạn chế mọi thứ để chỉ rootngười dùng hệ thống mới có thể đăng nhập như cơ sở dữ liệu root, không có mật khẩu. Đó là một lựa chọn bảo mật mà họ đã thực hiện.

Bạn có thể hoàn nguyên điều này bằng cách xóa trường plugin cho rootngười dùng :

shell$ sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

Một mật khẩu được chỉ định sẽ hoạt động sau này. Tôi không chắc làm thế nào nên khuyên điều này mặc dù.


Sau này, đăng nhập qua sudo mysql -u rootlà không thể nữa. Điều đó có nghĩa là, /etc/mysql/debian.confcũng nên thích nghi.
Alex

4
Không làm việc cho tôi. Sau này tôi thậm chí không thể đăng nhập bằng 'sudo mysql -u root' nữa.
MrSmith42
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.