MySQL có tốt cho việc sao chép không?

Ví dụ. Đây là cách tạo người dùng của riêng bạn với đầy đủ đặc quyền bằng cách sử dụng SQL GRANT từ bất kỳ đâu được gọi là superdba với mật khẩu là ClarkKent

GRANT ALL PRIVILEGES ON *.* TO superdba@'%' IDENTIFIED BY 'ClarkKent' WITH GRANT OPTION; 

Đây là cách bạn có thể làm điều này mà không cần lệnh GRANT

Trước hết, đây là mysql. người dùng cho MySQL 5. 1. 51

mysql> desc mysql.user;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field                 | Type                              | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host                  | char(60)                          | NO   | PRI |         |       |
| User                  | char(16)                          | NO   | PRI |         |       |
| Password              | char(41)                          | NO   |     |         |       |
| Select_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Insert_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Update_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Delete_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Create_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Drop_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Reload_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Shutdown_priv         | enum('N','Y')                     | NO   |     | N       |       |
| Process_priv          | enum('N','Y')                     | NO   |     | N       |       |
| File_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Grant_priv            | enum('N','Y')                     | NO   |     | N       |       |
| References_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Index_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Alter_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Show_db_priv          | enum('N','Y')                     | NO   |     | N       |       |
| Super_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Create_tmp_table_priv | enum('N','Y')                     | NO   |     | N       |       |
| Lock_tables_priv      | enum('N','Y')                     | NO   |     | N       |       |
| Execute_priv          | enum('N','Y')                     | NO   |     | N       |       |
| Repl_slave_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Repl_client_priv      | enum('N','Y')                     | NO   |     | N       |       |
| Create_view_priv      | enum('N','Y')                     | NO   |     | N       |       |
| Show_view_priv        | enum('N','Y')                     | NO   |     | N       |       |
| Create_routine_priv   | enum('N','Y')                     | NO   |     | N       |       |
| Alter_routine_priv    | enum('N','Y')                     | NO   |     | N       |       |
| Create_user_priv      | enum('N','Y')                     | NO   |     | N       |       |
| Event_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Trigger_priv          | enum('N','Y')                     | NO   |     | N       |       |
| ssl_type              | enum('','ANY','X509','SPECIFIED') | NO   |     |         |       |
| ssl_cipher            | blob                              | NO   |     | NULL    |       |
| x509_issuer           | blob                              | NO   |     | NULL    |       |
| x509_subject          | blob                              | NO   |     | NULL    |       |
| max_questions         | int(11) unsigned                  | NO   |     | 0       |       |
| max_updates           | int(11) unsigned                  | NO   |     | 0       |       |
| max_connections       | int(11) unsigned                  | NO   |     | 0       |       |
| max_user_connections  | int(11) unsigned                  | NO   |     | 0       |       |
+-----------------------+-----------------------------------+------+-----+---------+-------+
39 rows in set (0.00 sec)

Chỉ cần thực hiện các lệnh SQL này

INSERT INTO mysql.user SET
Host='%',User='superdba',Password=PASSWORD('ClarkKent'),
Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',
Create_priv='Y',Drop_priv='Y',Reload_priv='Y',Shutdown_priv='Y',
Process_priv='Y',File_priv='Y',Grant_priv='Y',References_priv='Y',
Index_priv='Y',Alter_priv='Y',Show_db_priv='Y',Super_priv='Y',
Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',
Repl_slave_priv='Y',Repl_client_priv='Y',Create_view_priv='Y',
Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y',
Create_user_priv='Y',Event_priv='Y',Trigger_priv='Y';
FLUSH PRIVILEGES;

INSERT đó là một câu lệnh SQL hợp pháp có thể xuất hiện trong nhật ký nhị phân. Bạn có muốn ai đó chạy cái này và có một mật khẩu hiển thị trên mạng không?

Có chỉ thị này

binlog-ignore-db=mysql       

ngăn việc cấp quyền mysql bằng cách sử dụng SQL như vậy. Tuy nhiên, không thể dừng GRANT theo cách này. Do đó, hãy chắc chắn rằng bạn thực hiện các khoản trợ cấp như thế này

Sao chép MySQL có nhanh không?

Sao chép trong MySQL lấy dữ liệu đến máy con khá nhanh (nhanh hơn bạn sẽ có thể chạy CẬP NHẬT trên .

Lợi thế của việc sao chép MySQL là gì?

Sao chép MySQL có ảnh hưởng đến hiệu suất không?

Khi số lượng bản sao kết nối với nguồn tăng lên, tải, mặc dù tối thiểu, cũng tăng lên , vì mỗi bản sao sử dụng kết nối máy khách với nguồn. Ngoài ra, vì mỗi bản sao phải nhận được một bản sao đầy đủ nhật ký nhị phân của nguồn, tải mạng trên nguồn cũng có thể tăng lên và tạo ra nút cổ chai.

Tại sao sao chép MySQL chậm?

Đây là vì bản sao MySQL là luồng đơn (SQL_THREAD), theo mặc định . Nếu một khối lượng lớn ghi vào phiên bản CSDL nguồn xảy ra song song, thì việc ghi vào bản sao chỉ có quyền đọc sẽ được đánh số thứ tự bằng cách sử dụng một SQL_THREAD duy nhất. Điều này có thể gây ra độ trễ giữa phiên bản CSDL nguồn và bản sao chỉ có quyền đọc.