Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1. # Cấu hình server
  2. Anh tạo 2 server với 2 IP
  3. ## Chuan bi
  4. - Server 1: 192.168.15 (đây sẽ là server master)
  5. - Server 2: 192.168.17 (Đây sẽ là server slave)
  6.  
  7. ## Cấu hình cho server master
  8. Mở file /etc/mysql/mysql.conf.d/mysqld.cnf để cấu hình một vài thông tin cần thiết
  9. ```sh
  10. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  11. ```
  12. Tìm dòng bind-address và sửa thành
  13. ```properties
  14. bind-address = 0.0.0.0
  15. ```
  16. Tìm dòng
  17. ```properties
  18. # server-id = 1
  19. ```
  20. Bỏ dấu # phía trước đi
  21. Ngay phía dưới dòng đó, ta thấy dòng
  22. ```properties
  23. # log_bin = /var/log/mysql/mysql-bin.log
  24. ```
  25. Khởi động lại mysql
  26. ```sh
  27. sudo systemctl restart mysql
  28. ```
  29. Tạo user để các slave có thể truy cập vào master mà đọc file log
  30. ```sh
  31. mysql> CREATE USER 'slave'@'192.168.10.17' IDENTIFIED BY 'slavepass';
  32.  
  33. mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.10.17';
  34.  
  35. mysql>FLUSH PRIVILEGES;
  36. ```
  37.  
  38. Bằng cách chạy các lệnh trên, anh A tạo ra một user có tên là slave, mật khẩu là slavepass, user này được phép truy cập từ server có IP là 192.168.10.17
  39.  
  40. Bạn có để ý rằng anh A tìm hiểu được các db slave sẽ đọc file log của db master không? Chính vì thế anh ý phải xem xem db master sẽ log ra file nào bằng cách chạy command sau
  41. ```sql
  42. mysql> show master status;
  43. ```
  44. Chúng ta sẽ thấy kết quả như này:
  45. ```sql
  46. +------------------+----------+--------------+------------------+-------------------+
  47. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
  48. +------------------+----------+--------------+------------------+-------------------+
  49. | mysql-bin.000028 | 499 | scart_2019 | | |
  50. +------------------+----------+--------------+------------------+-------------------+
  51. 1 row in set (0.00 sec)
  52. ```
  53. ** Lưu ý: Hãy để ý thông tin File là mysql-bin.000028, Position là 499, đây là 2 thông tin quan trọng sẽ sử dụng ở phần sau
  54.  
  55. Bạn có để ý rằng anh A tìm hiểu được db master và db slave phải giống hệt nhau không? Chính vì để đảm bảo các db slave giống với db master, anh ý đã dump db master để có thể import vào các db slave sau này.
  56. ```sh
  57. mysqldump -u root -p --opt cart > cart.sql
  58. ```
  59.  
  60. ## Cấu hình cho server slave
  61. Mở file /etc/mysql/mysql.conf.d/mysqld.cnf, cấu hình một số thông tin như sau
  62. ```properties
  63. server-id = 2
  64. log_bin = /var/log/mysql/mysql-bin.log
  65. ```
  66. Khởi động lại mysql
  67. ```sh
  68. sudo systemctl restart mysql
  69. ```
  70. Tạo database
  71. ```sh
  72. mysql> create database cart;
  73. mysql> exit;
  74. ```
  75. Import database
  76. ```sh
  77. mysql -u root -p cart < /path/to/cart.sql
  78. ```
  79. Kết nối server slave tới server master
  80. ```sh
  81. mysql> STOP SLAVE; # Ngừng slave nếu trước đó có bật
  82. mysql> CHANGE MASTER TO
  83. -> MASTER_HOST='192.168.10.15', # Đây chính là IP của server master
  84. -> MASTER_USER='slave', # Tên tài khoản của slave tạo ở server master
  85. -> MASTER_PASSWORD='slavepass', # Mật khẩu của tài khoản slave tạo ở server master
  86. -> MASTER_LOG_FILE='mysql-bin.000028', # File log của server master
  87. -> MASTER_LOG_POS=499; # Position file log của server master
  88.  
  89. mysql> START SLAVE; # Khởi động lại slave
  90. ```
  91. Quá trình cấu hình cho server master và server slave của anh A như vậy là kết thúc. Để đảm bảo 2 server đã kết nối với nhau. Anh A có chạy thử một câu lệnh Insert ở server master, sau đó qua server slave để truy vấn thì thấy có kết quả. Như vậy anh A đã thấy rằng 2 server đã có sự kết nối với nhau, quá trình cấu hình server master - slave thành công mỹ mãn.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement