Mặc định khi cài đặt và sử dụng các dịch vụ hoạt động cho hệ cơ sở dữ liệu như MySQL/MariaDB trên linux thì thường mật khẩu root sẽ được đề nghị là mật khẩu phức tạp và có độ khó nhất định. Điều này sẽ gây khó khăn trong việc thao tác với cơ sở dữ liệu do việc login cần phải nhập password cho mỗi thao tác trên dòng lệnh. Show Bài viết này sẽ hướng dẫn các bạn cách thực hiện login vào MySQL/MariaDB với quyền root cao nhất mà không cần nhập password. (login without root password on terminal) Đặt mật khẩu cho tài khoản root trên MySQLTrong trường hợp bạn mới cài đặt MySQL/MariaDB hoặc chưa đặt mật khẩu root. Sử dụng lệnh sau để cài đặt mật khẩu root: mysqladmin -u root password RootPassword Thay MatKhauRoot bằng mật khẩu cho tài khoản root mà bạn muốn đặt cho MySQL. Lưu ý mật khẩu này nên có độ phức tạp nhất định. Trong trường hợp bạn đã cài đặt mật khẩu root nhưng không nhớ, các bạn có thể thực hiện reset root mysql. Kết nối và sử dụng MySQL với tài khoản root không cần passwordĐể sử dụng được các câu lệnh #mysql (mysqldump, mysqlcheck, …) với tài khoản root mà không cần nhập password. Hoặc truy cập mysql không cần khai báo mật khẩu như các ví dụ dưới: [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> Để thực hiện được như trên bạn chỉ cần tạo một file có tên là .my.cnf.my.cnf File này sẽ được đặt tại /root/ với nội dung: #vi /root/.my.cnf [mysql] user=root password=RootPassword + user=root: có thể thay thế bằng một user khác thì khi gõ mysql user đó sẽ được gọi ra. + password=RootPassword: thay thế bằng mật khẩu tương ứng cho user đã được khai báo bên trên. Thực hiện phân quyền cho file này là 0600 nhằm phù hợp với mục đích sử dụng. chmod 0600 /root/.my.cnf Nếu gặp vấn đề trong quá trình thực hiện, các bạn có thể liên hệ ngay với đội ngũ hỗ trợ 7Host Việt Nam tại [email protected] hoặc website https://7host.vn Giới thiệuMYSQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở giúp cho 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 tao 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 MySQL database, bạn sẽ được cung cấp username và password. Những thông tin đăng nhập này sẽ cho bạn quyền “root access”. Một user root có toàn quyền truy cập tới database và bảng trong databases. Nhưng qua thời gian hoặc thao tác trên database production chẳng hạn, bạn sẽ cần cấp quyền truy cập tới database tới một user mà không cho phép họ sử dụng toàn quyền. Tạo 1 user mới như thế nào trong MySQL?Để tạo user mới, bạn thực hiện các bước như sau:
Tại thời điểm này, user 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 user 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à cung cấp cho user quyền truy cập vào các thông tin họ cần
Dấu * ở trên tương ứng với cơ sở dữ liệu và bảng mà user có thể truy cập - cụ thể là lệnh này cho phép người dùng thêm, 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
Như vậy, với các bước ở trên, user mới tạo của bạn có toàn quyền như là user root Một số quyền bạn có thể gán cho user trong MySQLDưới đây là danh sách các lệnh thường dùng để gán quyền cho user:
MySQL cho phép gán quyền cho user với một dòng lệnh đơn giản:
Nếu bạn muốn cho phép user truy cập tất cả databases hoặc tất cả bảng, hãy dùng dấu * thay cho tên database hoặc table. Mỗi lần bạn cập nhật hay thay đổi quyền hãy dùng lệnh Flush Privileges đảm bảo các thay đổi có hiệu lực.
Để áp dụng nhiều loại quyền, ngăn cách chúng bằng dấu phẩy. Ví dụ, bạn có thể gán quyền CREATE và SELECT cho một user:
Nếu cần thu hồi lại quyền của user, hãy dùng lệnh REVOKE: [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>0 Ví dụ, để thu hồi toàn bộ các quyền cho một user: [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>1 Hoặc bạn cũng có thể xóa user: [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>2 Bạn có thể kiểm tra user mới tạo đã thành công và có thể đăng nhập được hay chưa, đầu tiên thực hiện logout bằng cách: [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>3 và login bằng lệnh [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>4 NOTE: 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 đã thực thi FLUSH PRIVILEGES sau khi tạo bất kỳ thay đổi nào về quyền. 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 đã thực thi 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 user trong MySQL như thế nào?Để biết quyền gì bạn có để gán cho một MySQL, bạn có thể sử dụng lệnh SHOW GRANTS: [email protected] [~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 14363696 Server version: 10.1.31-MariaDB-cll-lve MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>5 Tham khảohttps://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql |