Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để cấp đặc quyền sao chép cho cơ sở dữ liệu trong MySQL?

Để cấp đặc quyền sao chép, hãy sử dụng BẬT LƯỢT TRUYỀN CẢM HỨNG.

Đầu tiên liệt kê tất cả các tên người dùng cùng với máy chủ lưu trữ từ bảng MySQL.user -

mysql> select user,host from mysql.user;

Điều này sẽ tạo ra kết quả sau -

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| Robert           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam             | localhost |
| Adam Smith       | localhost |
| Chris            | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| Mike             | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
22 rows in set (0.00 sec)

Hãy để chúng tôi triển khai cú pháp trên để cấp đặc quyền sao chép cho cơ sở dữ liệu trong MySQL -

mysql> GRANT REPLICATION SLAVE ON *.* TO 'Mike'@'localhost';
Query OK, 0 rows affected (0.20 sec)

Hãy để chúng tôi kiểm tra việc cấp có thành công hay không -

mysql> SHOW GRANTS FOR 'Mike'@'localhost';

Điều này sẽ tạo ra kết quả sau -

+------------------------------------------------------+
| Grants for Mike@localhost                            |
+------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO `Mike`@`localhost` |
+------------------------------------------------------+
1 row in set (0.04 sec)