MySQL 8.x không cho phép mọi người đăng nhập với tư cách nguồn gốc
trừ khi họ cũng có sudo
-cấp quyền trên máy chủ. Đây là một phần trong danh sách dài các cải tiến bảo mật đã được đưa vào các bản phát hành MySQL gần đây hơn để ngăn chặn tiếng xấu mà công cụ cơ sở dữ liệu đã nhận được trong 15 năm qua do các blogger thiết lập tài khoản WordPress bằng cách sử dụng nguồn gốc
tài khoản, sau đó blog bị "tin tặc" chiếm đoạt, sau đó toàn bộ cơ sở dữ liệu (và tất cả các hệ thống khác được kết nối với cùng một cơ sở dữ liệu) bị xâm phạm. Đây không phải là chỉ có vì những người sử dụng WordPress, nhưng thực tế đã quá phổ biến trong cộng đồng đó.
Để kết nối với MySQL như nguồn gốc
, bạn sẽ cần sử dụng sudo
. Bạn sẽ không cần cung cấp mật khẩu, vì nếu bạn có sudo
, bạn đã sở hữu khá nhiều máy chủ rồi:
sudo mysql
Sau khi kết nối, bạn có thể tạo cho mình một tài khoản và cấp cho nó tất cả các đặc quyền mà tài khoản đó có thể cần. Ví dụ: nếu bạn cần tài khoản "SysAdmin", bạn có thể thực hiện như sau:
TẠO NGƯỜI DÙNG 'admin'@'localhost' ĐƯỢC XÁC ĐỊNH VỚI mysql_native_password BẰNG 'superSecretPassword!123';
CẤP TẤT CẢ TRÊN *.* CHO 'admin'@'localhost' VỚI TÙY CHỌN CẤP;
Từ đây, bạn có thể kết nối với MySQL theo cách thông thường:
mysql -u quản trị viên -p
Lý tưởng nhất là nguồn gốc
tài khoản trong MySQL chỉ được sử dụng khi thiết lập hệ thống lần đầu tiên hoặc khi sửa chữa điều gì đó đã xảy ra sai sót nghiêm trọng.