Đăng nhập vào MySQL bằng tài khoản root hoặc một người dùng có đặc quyền quản trị:

mysql -u root -p

Bạn sẽ được yêu cầu nhập mật khẩu của tài khoản root..Sau khi đăng nhập thành công vào MySQL, bạn có thể sử dụng lệnh SQL để tạo người dùng mới. Dưới đây là ví dụ cách tạo một người dùng mới có tên là “newuser” và mật khẩu là “password”:

CREATE USER ‘newuser’@‘localhost’ IDENTIFIED BY ‘password’;

Trong đó:

  • 'newuser' là tên người dùng bạn muốn tạo.
  • 'localhost' chỉ ra rằng người dùng này chỉ có thể đăng nhập từ máy chủ MySQL trên cùng một máy.
  • 'password' là mật khẩu của người dùng. Hãy chắc chắn sử dụng mật khẩu mạnh và bảo mật.

Sau khi bạn đã tạo người dùng, bạn cần cấp quyền cho họ. Ví dụ, để cấp quyền truy cập vào tất cả cơ sở dữ liệu, bạn có thể sử dụng lệnh sau:

GRANT ALL PRIVILEGES ON *.* TO ‘newuser’@‘localhost’; 

Cuối cùng, hãy làm mới các quyền để thay đổi có hiệu lực:

FLUSH PRIVILEGES;

Sau khi bạn hoàn thành các bước này, người dùng mới đã được tạo và được cấp quyền. Bây giờ họ có thể đăng nhập vào máy chủ MySQL bằng tên người dùng và mật khẩu mà bạn đã cung cấp. Đảm bảo bạn đã bảo mật tài khoản root và các thông tin đăng nhập của người dùng mới một cách an toàn.

Fix lỗi “Error 1410 : you are not allowed to create a user with GRANT”

Đăng nhập vào MySQL bằng tài khoản root hoặc một tài khoản có đặc quyền quản trị.Kiểm tra quyền của tài khoản bạn đang sử dụng bằng lệnh sau: 

SHOW GRANTS FOR ‘your_username’@‘your_host’; 

Thay thế 'your_username' bằng tên người dùng bạn đang sử dụng và 'your_host' bằng máy chủ mà bạn đang kết nối (thường là 'localhost' nếu bạn đang sử dụng MySQL trên cùng máy).

  1. Xác định xem tài khoản đó có quyền tạo người dùng và cấp quyền không. Thường, bạn cần quyền GRANT OPTION để có thể sử dụng lệnh GRANT để tạo người dùng và cấp quyền. Nếu bạn không có quyền này, bạn sẽ không thể tạo người dùng.
  2. Để cấp quyền GRANT OPTION cho tài khoản của bạn, bạn có thể thực hiện lệnh sau:

GRANT CREATE USER, GRANT OPTION ON *.* TO ‘your_username’@‘your_host’; Thay thế 'your_username''your_host' bằng thông tin tài khoản của bạn.

  1. Cuối cùng, sau khi bạn đã cấp quyền GRANT OPTION, hãy thử lại lệnh tạo người dùng và cấp quyền:

CREATE USER ‘newuser’@‘localhost’ IDENTIFIED BY ‘password’; GRANT ALL PRIVILEGES ON *.* TO ‘newuser’@‘localhost’; FLUSH PRIVILEGES;

Cấp quyền cho người dùng truy cập từ xa

  1. Đăng nhập vào MySQL bằng tài khoản root hoặc một tài khoản có đặc quyền quản trị.
  2. Tạo người dùng mới (nếu chưa có) và cấp quyền cho họ. Dưới đây là ví dụ:

CREATE USER ‘newuser’@‘%’ IDENTIFIED BY ‘password’;Trong ví dụ trên, 'newuser' là tên người dùng mới, '%' cho phép truy cập từ mọi máy chủ, và 'password' là mật khẩu của người dùng.

  1. Cấp quyền cho người dùng đó để họ có thể truy cập cơ sở dữ liệu từ xa. Dưới đây là ví dụ cấp quyền cho tất cả cơ sở dữ liệu:

GRANT ALL PRIVILEGES ON *.* TO ‘newuser’@‘%’;Nếu bạn chỉ muốn cấp quyền truy cập vào một cơ sở dữ liệu cụ thể, bạn có thể thay thế *.* bằng tên cơ sở dữ liệu, ví dụ: mydatabase.*.

  1. Cuối cùng, sau khi bạn đã cấp quyền, hãy làm mới các quyền để thay đổi có hiệu lực:

FLUSH PRIVILEGES;

Khi bạn hoàn thành các bước này, người dùng "newuser" sẽ có quyền truy cập vào MySQL từ xa từ bất kỳ máy chủ nào và có quyền truy cập vào cơ sở dữ liệu được chỉ định. Đảm bảo bạn đã bảo mật tài khoản "newuser" và mật khẩu của họ một cách an toàn, và hạn chế quyền truy cập theo cách phù hợp với nhu cầu của bạn để bảo vệ dữ liệu cơ sở dữ liệu của bạn.Khởi động lại máy chủ mysql.

sudo service mysql restart

Nếu bạn đã thực hiện các bước để cấp quyền truy cập từ xa cho người dùng trong MySQL nhưng vẫn không thể truy cập được, có một số lý do có thể gây ra vấn đề này. Dưới đây là một số khả năng và cách để kiểm tra và giải quyết chúng:

  1. Kiểm tra kết nối từ xa được phép trên máy chủ MySQL: Trong một số trường hợp, kết nối từ xa có thể bị chặn ở cấp độ máy chủ. Đảm bảo bạn đã cấu hình MySQL để cho phép kết nối từ xa. Bạn có thể thực hiện các bước sau:
    • Mở tệp cấu hình MySQL (my.cnf hoặc mysqld.cnf) trên máy chủ MySQL.
    • Tìm và chỉnh sửa dòng bind-address. Đảm bảo nó không được cài đặt là 127.0.0.1 để cho phép kết nối từ xa. Thay đổi nó thành 0.0.0.0 để cho phép kết nối từ bất kỳ địa chỉ IP nào.
    • Lưu và khởi động lại dịch vụ MySQL sau khi bạn đã thay đổi cấu hình.
  2. Kiểm tra tường lửa: Đảm bảo rằng tường lửa trên máy chủ MySQL không chặn cổng MySQL (mặc định là cổng 3306) và cho phép kết nối từ xa. Bạn cần cấu hình tường lửa để mở cổng này nếu nó bị chặn.
  3. Kiểm tra địa chỉ IP và cổng kết nối: Đảm bảo bạn đang sử dụng đúng địa chỉ IP của máy chủ MySQL và cổng (mặc định là 3306) khi bạn cố gắng kết nối từ xa.
  4. Kiểm tra tên người dùng và mật khẩu: Đảm bảo bạn sử dụng tên người dùng và mật khẩu chính xác khi bạn cố gắng kết nối.
  5. Kiểm tra xem máy chủ MySQL có đang hoạt động hay không: Đảm bảo rằng dịch vụ MySQL đang chạy trên máy chủ và không gặp sự cố nào.
  6. Kiểm tra log lỗi MySQL: Xem trong log lỗi MySQL để xem nếu có thông báo lỗi cụ thể về vấn đề truy cập từ xa.

Nếu sau khi kiểm tra các điều kiện trên bạn vẫn không thể truy cập được, bạn có thể cung cấp thông tin về lỗi cụ thể mà bạn đang gặp để tôi có thể cung cấp hỗ trợ chi tiết hơn

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *