Tạo mật khẩu mysql

I agree with martinstoeckli,

don't create your own salts unless you really know what you're doing.

By default, it'll use /dev/urandom to create the salt, which is based on noise from device drivers.

And on Windows, it uses CryptGenRandom().

Both have been around for many years, and are considered secure for cryptography (the former probably more than the latter, though).

Don't try to outsmart these defaults by creating something less secure. Anything that is based on rand(), mt_rand(), uniqid(), or variations of these is *not* good.

MYSQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở giúp người dùng lưu trữ, tổ chức và sau đó lấy dữ liệu. Nó có nhiều lựa chọn cung cấp cho người dùng để thao tác với bảng và cơ sở dữ liệu. Bài viết này hướng dẫn việc tạo user và cấp quyền trong MYSQL

Ngay khi bắt đầu sử dụng cơ sở dữ liệu MySQL, bạn sẽ được cung cấp tên người dùng và mật khẩu. Những thông tin đăng nhập này sẽ cho bạn quyền “truy cập root”. Một người dùng root có toàn quyền truy cập cơ sở dữ liệu và bảng trong cơ sở dữ liệu. Nhưng qua thời gian hoặc thao tác trên sản xuất cơ sở dữ liệu chẳng hạn, bạn cần cấp quyền truy cập cơ sở dữ liệu cho một người dùng mà không cho phép họ sử dụng toàn quyền

Tạo 1 người dùng mới như thế nào trong MySQL?

Để tạo người dùng mới, bạn thực hiện các bước như sau

  1. Truy cập vào mysql
  2. Thực thi câu lệnh để tạo người dùng
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

người dùng mới. tên người dùng

mật khẩu mở khóa. mật khẩu của người dùng

Tại thời điểm này, người dùng mới không có quyền làm bất cứ điều gì với cơ sở dữ liệu. Trên thực tế, ngay cả khi người dùng mới cố gắng đăng nhập, họ sẽ không thể truy cập vào MySQL shell

Do vậy, điều đầu tiên cần làm là cấp cho người dùng quyền truy cập vào các thông tin họ cần

  1. Gán quyền cho người dùng
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Dấu * ở trên tương ứng với cơ sở dữ liệu và bảng mà người dùng có thể truy cập - cụ thể là lệnh này cho phép người dùng thêm, chỉnh sửa, xóa thực thi các công việc trên tất cả các bảng trong cơ sở dữ liệu

  1. Để thay đổi được thực hiện ngay lập tức, hãy sử dụng lệnh sau
FLUSH PRIVILEGES;

Như vậy, với các bước ở trên, người dùng mới tạo của bạn có toàn quyền như người dùng root

Một số quyền bạn có thể gán cho người dùng trong MySQL

Dưới đây là danh sách các lệnh thường được sử dụng để gán quyền cho người dùng

  • TẤT CẢ CÁC ĐẶC QUYỀN – Cho phép người dùng MySQL thực hiện toàn quyền trên cơ sở dữ liệu (hoặc 1 vài db được thiết lập)
  • TẠO – Cho phép người dùng tạo mới bảng hoặc cơ sở dữ liệu
  • DROP – Cho phép xóa bảng hoặc cơ sở dữ liệu
  • DELETE – Cho phép xóa bản ghi dữ liệu trong các bảng bảng
  • INSERT – Cho phép thêm bản ghi mới vào bảng csdl
  • SELECT – Cho phép sử dụng lệnh Select để tìm kiếm dữ liệu
  • CẬP NHẬT – Cho phép cập nhật csdl
  • GRANT OPTION – Cho phép gán hoặc xóa quyền của người dùng khác

MySQL cho phép gán quyền cho người dùng với một dòng lệnh đơn giản

GRANT type_of_permission ON database_name.table_name TO 'username'@'localhost';

Nếu bạn muốn cho phép người dùng truy cập tất cả cơ sở dữ liệu hoặc tất cả bảng, hãy sử dụng dấu * thay cho tên cơ sở dữ liệu hoặc bảng

Mỗi lần bạn cập nhật hoặc thay đổi quyền, hãy sử dụng lệnh Flush Privileges để đảm bảo các thay đổi có hiệu lực

FLUSH PRIVILEGES;

Để áp dụng nhiều loại quyền, ngăn cách chúng ta bằng dấu phẩy. Ví dụ, bạn có thể gán quyền CREATE và SELECT cho một người dùng

GRANT CREATE, SELECT ON database_name.table_name TO 'username'@'localhost';

Nếu cần thu hồi quyền của người dùng, hãy sử dụng lệnh REVOKE

REVOKE type_of_permission ON database_name.table_name FROM 'username'@'localhost';

Ví dụ, để thu hồi toàn bộ quyền cho người dùng

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';

Hoặc bạn cũng có thể xóa người dùng

________số 8_______

Bạn có thể kiểm tra người dùng mới được tạo thành công và có thể đăng nhập hay chưa, lần đầu tiên thực hiện đăng xuất bằng cách này

quit

and login by command

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
0

GHI CHÚ. Hãy nhớ, để thực thi những quyền này, bạn cần có quyền root. Cũng như vậy, hãy chắc chắn rằng bạn đã thực hiện FLUSH PRIVILEGES sau khi tạo bất kỳ thay đổi nào về quyền

Hiển thị quyền của một người dùng trong MySQL như thế nào?

Để biết bạn có quyền gì để gán cho một MySQL, bạn có thể sử dụng lệnh SHOW GRANTS

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
1Tham khảo

https. //www. kỹ thuật số. com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql