Những người dùng MySQL nào là cần thiết?


13

Máy chủ MySQL của tôi có một số người dùng lạ mà tôi không thêm. Đây có phải là tất cả cần thiết?

'root'@'127.0.0.1'
'root'@'localhost'
'root'@'SERVERNAME'
'root'@'::1'
''@'SERVERNAME'
''@'LOCALHOST'

Nếu tôi loại bỏ tất cả các root trừ root @ localhost, tôi có thể tự khóa cơ sở dữ liệu không? Và mục đích của tên người dùng trống là gì? Họ dường như chỉ có 'SỬ DỤNG CẤP' ??

Có sự khác biệt giữa 127.0.0.1 là máy chủ và localhost không? Nếu tôi chỉ có localhost chứ không phải 127.0.0.1, điều đó có nghĩa là mysqlclient sử dụng TCP / IP thay vì socket Unix sẽ không thể kết nối?

Câu trả lời:


16
  1. Những người dùng này dường như là người dùng mặc định đã được thêm khi cài đặt MySQL. Bạn nên chạy mysql_secure_installation sau khi cài đặt MySQL.

  2. Tên người dùng trống ('' @ 'SERVERNAME') đại diện cho người dùng ẩn danh. Nếu bạn không chạy mysql_secure_installationhoặc đặt mật khẩu, thì bất cứ ai cũng có thể có quyền truy cập. Nếu người dùng ẩn danh có các GRANT USAGEđặc quyền, thì về cơ bản, điều đó có nghĩa là nó không có đặc quyền, nhưng vẫn nên xóa hoàn toàn thông tin đăng nhập ẩn danh.

  3. Không, không có sự khác biệt lớn giữa localhost và 127.0.0.1. Bất cứ địa chỉ IP nào mà người dùng đang cố đăng nhập phải phù hợp với @[IP Address]phần tên người dùng. Nếu bạn đăng nhập từ cùng một máy thì máy chủ MySQL đang bật, @localhost@127.0.0.1sẽ khớp. Như IVlint67 đã chỉ ra, trong một số cài đặt @localhostsẽ không hoạt động nên tốt hơn là nên sử dụng @127.0.0.1.


13

Tôi thường cài đặt với tập lệnh mysql_secure_installation mà MySQL hiện đang giao hàng ...


root@127.0.0.1 là địa chỉ @ IP. root @ localhost là @ tên máy chủ. Ditto cho tên máy chủ. Và gốc cuối cùng là địa chỉ @ IPv6 cho localhost.


Từ trang web MySQL:

Một nỗ lực để kết nối với máy chủ 127.0.0.1 thường phân giải thành tài khoản localhost. Tuy nhiên, điều này không thành công nếu máy chủ được chạy với tùy chọn --skip-name-giải quyết, vì vậy tài khoản 127.0.0.1 rất hữu ích trong trường hợp đó.

Tên người dùng trống:

Một số tài khoản dành cho người dùng ẩn danh. Những cái này có một tên người dùng trống. Các tài khoản ẩn danh không có mật khẩu, vì vậy bất kỳ ai cũng có thể sử dụng chúng để kết nối với máy chủ MySQL

http://dev.mysql.com/doc/refman/5.0/en/default-priv đặc biệt.html


Và cuối cùng:

Nếu tôi loại bỏ tất cả các root trừ root @ localhost, tôi có thể tự khóa cơ sở dữ liệu không?

Có, nhưng bạn có thể quay lại

Xem --skip-Grant-bảng: https://help.ubfox.com/community/MysqlPasswordReset

Tôi có nên

Tôi không quan tâm, đó là máy chủ của bạn. Nếu là của tôi, tôi sẽ bảo mật các tài khoản root bằng mật khẩu và xóa các tài khoản ẩn danh trừ khi bạn cần chúng.

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.