Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cho phép tất cả các kết nối từ xa, MySQL

Như đã được Ryan chỉ ra ở trên, lệnh bạn cần là

GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password'; 

Tuy nhiên, lưu ý rằng tài liệu chỉ ra rằng để điều này hoạt động, một tài khoản người dùng khác từ localhost phải được tạo cho cùng một người dùng; nếu không, tài khoản ẩn danh được tạo tự động bởi mysql_install_db được ưu tiên hơn vì nó có một cột máy chủ cụ thể hơn.

Nói cách khác; để người dùng user để có thể kết nối từ bất kỳ máy chủ nào; Cần tạo 2 tài khoản như sau:

GRANT ALL ON *.* to [email protected] IDENTIFIED BY 'password'; 
GRANT ALL ON *.* to [email protected]'%' IDENTIFIED BY 'password'; 

Đọc tài liệu đầy đủ tại đây.

Và đây là phần liên quan để tham khảo:

Sau khi kết nối với máy chủ dưới dạng root, bạn có thể thêm tài khoản mới. Các câu lệnh tiếp theo sử dụng GRANT để thiết lập bốn tài khoản mới:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';

Các tài khoản được tạo bởi các câu lệnh này có các đặc tính sau:

Hai trong số các tài khoản có tên người dùng là monty và mật khẩu làsome_pass. Cả hai tài khoản đều là tài khoản siêu người dùng với đầy đủ đặc quyền để làm bất cứ điều gì. Tài khoản 'monty' @ 'localhost' chỉ có thể được sử dụng khi kết nối từ máy chủ cục bộ. Tài khoản 'monty' @ '%' sử dụng ký tự đại diện '%' cho phần máy chủ, vì vậy nó có thể được sử dụng để kết nối từ anyhost.

Cần phải có cả hai tài khoản để monty có thể kết nối từ mọi nơi như monty . Nếu không có tài khoản localhost, tài khoản người dùng ẩn danh cho localhost được tạo bởimysql_install_db sẽ được ưu tiên hơn khi monty kết nối từ máy chủ lưu trữ địa phương. Do đó, monty sẽ được coi là người dùng ẩn danh, lý do là tài khoản người dùng ẩn danh có giá trị cột Máy chủ lưu trữ cụ thể hơn tài khoản 'monty' @ '%' và do đó xuất hiện nhiều hơn trong thứ tự sắp xếp bảng người dùng. (sắp xếp bảng người dùng được thảo luận trong Phần 6.2.4, “Kiểm soát truy cập, Giai đoạn 1:Xác minh kết nối”.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mất kết nối với máy chủ MySQL trong khi truy vấn

  2. php / mysql với nhiều truy vấn

  3. Làm cách nào để tăng kết nối MySQL (max_connections)?

  4. Làm cách nào để bật máy khách MySQL tự động kết nối lại với MySQLdb?

  5. JSON_STORAGE_SIZE () - Tìm Kích thước Lưu trữ của Tài liệu JSON trong MySQL