Hướng dẫn how do i give a mysql username and password? - làm cách nào để cung cấp tên người dùng và mật khẩu mysql?

Giới thiệu

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở. Nó thường được triển khai như là một phần của ngăn xếp đèn (viết tắt của Linux, Apache, MySQL và PHP) và, như bài viết này, là cơ sở dữ liệu nguồn mở phổ biến nhất trên thế giới.Linux, Apache, MySQL, and PHP) and, as of this writing, is the most popular open-source database in the world.

Hướng dẫn này phác thảo cách tạo người dùng MySQL mới và cấp cho họ các quyền cần thiết để thực hiện nhiều hành động khác nhau.

Điều kiện tiên quyết

Để làm theo cùng với hướng dẫn này, bạn sẽ cần truy cập vào cơ sở dữ liệu MySQL. Hướng dẫn này giả định rằng cơ sở dữ liệu này được cài đặt trên máy chủ riêng ảo chạy Ubuntu 20.04, mặc dù các nguyên tắc mà nó phác thảo nên được áp dụng bất kể bạn truy cập cơ sở dữ liệu của mình như thế nào.

Nếu bạn không có quyền truy cập vào cơ sở dữ liệu MySQL và muốn tự thiết lập một bản, bạn có thể làm theo một trong những hướng dẫn của chúng tôi về cách cài đặt MySQL. Một lần nữa, bất kể máy chủ của bạn là hệ điều hành cơ bản của bạn, các phương thức tạo người dùng MySQL mới và việc cấp cho họ các quyền thường sẽ giống nhau.

Bạn có thể xoay quanh cơ sở dữ liệu MySQL được quản lý bởi nhà cung cấp đám mây. Để biết chi tiết về cách quay một cơ sở dữ liệu được quản lý kỹ thuật số, hãy xem tài liệu sản phẩm của chúng tôi.

Xin lưu ý rằng bất kỳ phần nào của các lệnh ví dụ mà bạn cần thay đổi hoặc tùy chỉnh sẽ được tô sáng

  1. mysql -u root -p
5 trong suốt hướng dẫn này.

Tạo người dùng mới

Khi cài đặt, MySQL tạo tài khoản người dùng gốc mà bạn có thể sử dụng để quản lý cơ sở dữ liệu của mình. Người dùng này có đầy đủ các đặc quyền đối với máy chủ MySQL, có nghĩa là nó có quyền kiểm soát hoàn toàn đối với mọi cơ sở dữ liệu, bảng, người dùng, v.v. Bởi vì điều này, tốt nhất là nên tránh sử dụng tài khoản này bên ngoài các chức năng hành chính. Bước này phác thảo cách sử dụng người dùng MySQL gốc để tạo tài khoản người dùng mới và cấp cho nó các đặc quyền.root user account which you can use to manage your database. This user has full privileges over the MySQL server, meaning it has complete control over every database, table, user, and so on. Because of this, it’s best to avoid using this account outside of administrative functions. This step outlines how to use the root MySQL user to create a new user account and grant it privileges.

Trong các hệ thống Ubuntu chạy MySQL

  1. mysql -u root -p
6 (và các phiên bản sau), người dùng MySQL gốc được đặt thành xác thực bằng plugin
  1. mysql -u root -p
7 theo mặc định thay vì bằng mật khẩu. Plugin này yêu cầu tên của người dùng hệ điều hành gọi máy khách MySQL khớp với tên của người dùng MySQL được chỉ định trong lệnh. Điều này có nghĩa là bạn cần phải đi trước lệnh
  1. mysql -u root -p
8 với
  1. mysql -u root -p
9 để gọi nó với các đặc quyền của người dùng Ubuntu gốc để có quyền truy cập vào người dùng MySQL gốc:root MySQL user is set to authenticate using the
  1. mysql -u root -p
7 plugin by default rather than with a password. This plugin requires that the name of the operating system user that invokes the MySQL client matches the name of the MySQL user specified in the command. This means that you need to precede the
  1. mysql -u root -p
8 command with
  1. mysql -u root -p
9 to invoke it with the privileges of the root Ubuntu user in order to gain access to the root MySQL user:

  1. sudo mysql

Lưu ý: Nếu người dùng MySQL gốc của bạn được cấu hình để xác thực bằng mật khẩu, bạn sẽ cần sử dụng một lệnh khác để truy cập vào shell MySQL. Điều sau đây sẽ chạy ứng dụng khách MySQL của bạn với các đặc quyền người dùng thông thường và bạn sẽ chỉ có được các đặc quyền quản trị viên trong cơ sở dữ liệu bằng cách xác thực bằng mật khẩu chính xác: If your root MySQL user is configured to authenticate with a password, you will need to use a different command to access the MySQL shell. The following will run your MySQL client with regular user privileges, and you will only gain administrator privileges within the database by authenticating with the correct password:

  1. mysql -u root -p

Khi bạn có quyền truy cập vào lời nhắc MySQL, bạn có thể tạo một người dùng mới với câu lệnh

  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
0. Chúng tuân theo cú pháp chung này:

  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';

Sau

  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
0, bạn chỉ định tên người dùng. Điều này ngay lập tức được theo sau bởi một dấu hiệu
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
2 và sau đó tên máy chủ mà người dùng này sẽ kết nối. Nếu bạn chỉ có kế hoạch truy cập người dùng này cục bộ từ máy chủ Ubuntu của bạn, bạn có thể chỉ định
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
3. Gói cả tên người dùng và máy chủ trong các trích dẫn đơn lẻ luôn luôn cần thiết, nhưng làm như vậy có thể giúp ngăn ngừa lỗi.

Bạn có một số tùy chọn khi chọn plugin xác thực người dùng của bạn. Plugin

  1. mysql -u root -p
7 đã đề cập trước đây có thể thuận tiện, vì nó cung cấp bảo mật mạnh mẽ mà không yêu cầu người dùng hợp lệ nhập mật khẩu để truy cập cơ sở dữ liệu. Nhưng nó cũng ngăn chặn các kết nối từ xa, có thể làm phức tạp mọi thứ khi các chương trình bên ngoài cần tương tác với MySQL.

Thay vào đó, bạn có thể loại bỏ phần

  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
5 của cú pháp hoàn toàn để có người dùng xác thực với plugin mặc định của MySQL,
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
6. Tài liệu MySQL khuyến nghị plugin này cho người dùng muốn đăng nhập bằng mật khẩu do các tính năng bảo mật mạnh mẽ của nó.

Chạy lệnh sau để tạo người dùng xác thực với

  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
6. Hãy chắc chắn thay đổi
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
8 theo tên người dùng ưa thích của bạn và
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
9 thành mật khẩu mạnh mẽ của bạn chọn:

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';

Lưu ý: Có một vấn đề đã biết với một số phiên bản PHP gây ra vấn đề với

  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
6. Ví dụ, nếu bạn có kế hoạch sử dụng cơ sở dữ liệu này với ứng dụng PHP - PHPMyAdmin - bạn có thể muốn tạo một người dùng sẽ xác thực với plugin
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
1 cũ hơn, mặc dù vẫn an toàn,
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
1: thay vào đó:
: There is a known issue with some versions of PHP that causes problems with
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
6. If you plan to use this database with a PHP application — phpMyAdmin, for example — you may want to create a user that will authenticate with the older, though still secure,
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
1 plugin instead:

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Nếu bạn không chắc chắn, bạn luôn có thể tạo một người dùng xác thực bằng

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
2 và sau đó
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
3 sau đó với lệnh này:

  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Sau khi tạo người dùng mới của bạn, bạn có thể cấp cho họ các đặc quyền thích hợp.

Cấp quyền của người dùng

Cú pháp chung để cấp các đặc quyền của người dùng như sau:

  1. GRANT PRIVILEGE ON database.table TO 'username'@'host';

Giá trị

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
4 trong ví dụ này cú pháp xác định những hành động nào người dùng được phép thực hiện trên
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
5 và
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
6 được chỉ định. Bạn có thể cấp nhiều đặc quyền cho cùng một người dùng trong một lệnh bằng cách tách mỗi người bằng dấu phẩy. Bạn cũng có thể cấp cho một đặc quyền người dùng trên toàn cầu bằng cách nhập dấu hoa thị (
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
7) thay cho các tên cơ sở dữ liệu và bảng. Trong SQL, dấu hoa thị là các ký tự đặc biệt được sử dụng để thể hiện cơ sở dữ liệu hoặc bảng của tất cả các nhóm.

Để minh họa, lệnh sau đây cấp cho một đặc quyền toàn cầu của người dùng cho cơ sở dữ liệu, bảng và người dùng

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
8,
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
3 và
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
0, cũng như nguồn điện cho
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
1,
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
2 và
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
3 dữ liệu từ bất kỳ bảng nào trên máy chủ. Nó cũng cho phép người dùng khả năng truy vấn dữ liệu với
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
4, tạo các khóa ngoại bằng từ khóa
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
5 và thực hiện các hoạt động
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
6 với đặc quyền
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
7. Tuy nhiên, bạn chỉ nên cấp cho người dùng các quyền họ cần, vì vậy hãy thoải mái điều chỉnh các đặc quyền của người dùng của riêng bạn khi cần thiết.

Bạn có thể tìm thấy danh sách đầy đủ các đặc quyền có sẵn trong tài liệu MySQL chính thức.

Chạy câu lệnh

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
8 này, thay thế
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
8 bằng tên người dùng MySQL của riêng bạn, để cấp các đặc quyền này cho người dùng của bạn:

  1. GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

Lưu ý rằng tuyên bố này cũng bao gồm

  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
0. Điều này sẽ cho phép người dùng MySQL của bạn cấp bất kỳ quyền nào mà nó có cho người dùng khác trên hệ thống.

CẢNH BÁO: Một số người dùng có thể muốn cấp cho người dùng MySQL của họ đặc quyền

  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
1, sẽ cung cấp cho họ các đặc quyền của siêu người dùng rộng giống như các đặc quyền của người dùng gốc, như vậy:: Some users may want to grant their MySQL user the
  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
1 privilege, which will provide them with broad superuser privileges akin to the root user’s privileges, like so:

  1. GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

Các đặc quyền rộng lớn như vậy không nên được cấp nhẹ, vì bất kỳ ai có quyền truy cập vào người dùng MySQL này sẽ có quyền kiểm soát hoàn toàn đối với mọi cơ sở dữ liệu trên máy chủ.should not be granted lightly, as anyone with access to this MySQL user will have complete control over every database on the server.

Nhiều hướng dẫn đề xuất chạy lệnh

  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
2 ngay sau tuyên bố
  1. CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
0 hoặc
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
8 để tải lại các bảng cấp để đảm bảo rằng các đặc quyền mới được đưa vào hiệu lực:

  1. FLUSH PRIVILEGES;

Tuy nhiên, theo tài liệu chính thức của MySQL, khi bạn sửa đổi các bảng tài trợ gián tiếp với tuyên bố quản lý tài khoản như

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
8, cơ sở dữ liệu sẽ tải lại các bảng cấp ngay lập tức vào bộ nhớ, có nghĩa là lệnh
  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
2 không cần thiết trong trường hợp của chúng tôi. Mặt khác, chạy nó đã giành được bất kỳ tác động tiêu cực nào trên hệ thống.

Nếu bạn cần thu hồi sự cho phép, cấu trúc gần như giống hệt với việc cấp nó:

  1. mysql -u root -p
0

Lưu ý rằng khi thu hồi quyền, cú pháp yêu cầu bạn sử dụng

  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
7, thay vì
  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
8 mà bạn đã sử dụng khi cấp quyền.

Bạn có thể xem lại các quyền hiện tại của người dùng bằng cách chạy lệnh

  1. ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
9:

  1. mysql -u root -p
1

Giống như bạn có thể xóa cơ sở dữ liệu bằng

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
0, bạn có thể sử dụng
  1. CREATE USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
0 để xóa người dùng:

  1. mysql -u root -p
2

Sau khi tạo người dùng MySQL của bạn và cấp cho họ các đặc quyền, bạn có thể thoát khỏi máy khách MySQL:

  1. mysql -u root -p
3

Trong tương lai, để đăng nhập với tư cách là người dùng MySQL mới của bạn, bạn đã sử dụng một lệnh như sau:

  1. mysql -u root -p
4

Cờ

  1. GRANT PRIVILEGE ON database.table TO 'username'@'host';
2 sẽ khiến máy khách MySQL nhắc bạn cho mật khẩu người dùng MySQL của bạn để xác thực.

Sự kết luận

Bằng cách làm theo hướng dẫn này, bạn đã học cách thêm người dùng mới và cấp cho họ nhiều quyền khác nhau trong cơ sở dữ liệu MySQL. Từ đây, bạn có thể tiếp tục khám phá và thử nghiệm các cài đặt các quyền khác nhau cho người dùng MySQL của bạn hoặc bạn có thể muốn tìm hiểu thêm về một số cấu hình MYSQL cấp cao hơn.

Để biết thêm thông tin về những điều cơ bản của MySQL, bạn có thể xem các hướng dẫn sau:

  • Cách tạo và quản lý cơ sở dữ liệu trong MySQL và MariaDB trên máy chủ đám mây
  • Cách thiết lập sao chép trong MySQL
  • Cách cấu hình sao chép nhóm MySQL trên Ubuntu 20.04

Làm cách nào để tạo tên người dùng và mật khẩu MySQL?

Tạo và chỉnh sửa người dùng trong MySQL..
Đăng nhập. Đăng nhập vào máy chủ đám mây của bạn. ....
Tạo một người dùng mới. Bạn có thể tạo một người dùng mới và đặt mật khẩu cho người dùng cùng một lúc, như được hiển thị trong lệnh ví dụ sau, tạo người dùng bằng kiểm tra tên người dùng: ....
Đặt quyền cho người dùng mới. ....
Đăng nhập như người dùng mới. ....
Thả người dùng ..

Làm cách nào để cấp quyền truy cập cho người dùng MySQL?

Để cấp tất cả các đặc quyền cho người dùng, cho phép người dùng đó kiểm soát hoàn toàn cơ sở dữ liệu cụ thể, hãy sử dụng cú pháp sau: mysql> cấp tất cả các đặc quyền trên cơ sở dữ liệu_name.* Cho 'tên người dùng'@'localhost';mysql> GRANT ALL PRIVILEGES ON database_name. * TO 'username'@'localhost';

Tên người dùng và mật khẩu MySQL là gì?

Người dùng mặc định cho MySQL là root và theo mặc định, nó không có mật khẩu.Nếu bạn đặt mật khẩu cho MySQL và bạn không thể nhớ lại, bạn luôn có thể đặt lại và chọn một mật khẩu khác.. If you set a password for MySQL and you can't recall it, you can always reset it and choose another one.

Làm cách nào để tìm tên người dùng và mật khẩu máy chủ MySQL?

Ngoài ra, bạn có thể sử dụng tên máy chủ của Trung tâm dữ liệu Đông và Bờ Đông theo bước số 4 bên dưới để đăng nhập ...
Bước 1 - Tìm tên cơ sở dữ liệu của bạn.Truy cập trang cơ sở dữ liệu MySQL và cuộn xuống phần có tiêu đề cơ sở dữ liệu trên máy chủ này.....
Bước 2 - Tìm tên người dùng của bạn.....
Bước 3 - Tìm mật khẩu của bạn.....
Bước 4 - Tìm tên máy chủ của bạn ..