Guest User

Untitled

a guest
Dec 25th, 2017
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. MariaDB Replication
  2.  
  3. MASTER
  4.  
  5. docker create --name mariadb-master -e MYSQL_ROOT_PASSWORD=password -p 3316:3306 mariadb:10.2
  6. docker start mariadb-master
  7. docker exec -it mariadb-master /bin/bash
  8.  
  9. apt-get update
  10. apt-get install nano
  11. nano /etc/mysql/my.cnf
  12. server-id = 1
  13. report_host = master1
  14. exit
  15. docker restart mariadb-master
  16. docker exec -it mariadb-master /bin/bash
  17. ls -la /var/log/mysql/ (check replication log)
  18.  
  19. mysql -u root -p
  20. CREATE USER 'slave'@'%' IDENTIFIED BY 'password’;
  21. GRANT REPLICATION SLAVE ON *.* TO 'slave’;
  22. FLUSH TABLES WITH READ LOCK;
  23. SHOW MASTER STATUS;
  24. +--------------------+----------+--------------+------------------+
  25. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  26. +--------------------+----------+--------------+------------------+
  27. | mariadb-bin.000001 | 645 | | |
  28. +--------------------+----------+--------------+------------------+
  29. 1 row in set (0.00 sec)
  30. UNLOCK TABLES;
  31. exit
  32. exit
  33.  
  34. SLAVE 1
  35.  
  36. docker create --name mariadb-slave1 -e MYSQL_ROOT_PASSWORD=password -p 3326:3306 mariadb:10.2
  37. docker start mariadb-slave1
  38. docker exec -it mariadb-slave1 /bin/bash
  39. apt-get update && apt-get install nano
  40. nano /etc/mysql/my.cnf
  41. server-id = 2
  42. report_host = slave1
  43. exit
  44. docker restart mariadb-slave1
  45. docker exec -it mariadb-slave1 /bin/bash
  46.  
  47. mysql -u root -p
  48. CHANGE MASTER TO MASTER_HOST='10.0.4.13', MASTER_USER='slave', MASTER_PASSWORD='password', MASTER_PORT=3316, MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=645, MASTER_CONNECT_RETRY=10;
  49. START SLAVE;
  50. exit
  51.  
  52. SLAVE 2
  53.  
  54. docker create --name mariadb-slave2 -e MYSQL_ROOT_PASSWORD=password -p 3336:3306 mariadb:10.2
  55. docker start mariadb-slave2
  56. docker exec -it mariadb-slave2 /bin/bash
  57. apt-get update && apt-get install nano
  58. nano /etc/mysql/my.cnf
  59. server-id = 3
  60. report_host = slave2
  61. docker restart mariadb-slave2
  62. docker exec -it mariadb-slave2 /bin/bash
  63.  
  64. mysql -u root -p
  65. CHANGE MASTER TO MASTER_HOST='10.0.4.13', MASTER_USER='slave', MASTER_PASSWORD='password', MASTER_PORT=3316, MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=645, MASTER_CONNECT_RETRY=10;
  66. START SLAVE;
  67. exit
  68.  
  69. Setup Maxscale
  70.  
  71. docker exec -it mariadb-master /bin/bash
  72. mysql -u root -p
  73. create user 'maxscale'@'%' identified by 'password’;
  74. grant SELECT on mysql.user to 'maxscale'@'%’;
  75. GRANT SELECT ON mysql.db TO 'maxscale'@'%’;
  76. GRANT SELECT ON mysql.tables_priv TO 'maxscale'@'%’;
  77. GRANT SHOW DATABASES ON *.* TO 'maxscale'@'%’;
  78. grant REPLICATION CLIENT on *.* to 'maxscale'@'%’;
  79.  
  80.  
  81. docker run --name maxscale -p 4006:4006 -p 4008:4008 -p 4442:4442 -p 6603:6603 -d asosso/maxscale
  82. docker exec -it maxscale /bin/bash
  83. yum install nano
  84. nano /etc/maxscale.cnf
  85.  
  86. exit
  87. docker restart maxscale
  88.  
  89. SLAVE 3
  90.  
  91. docker create --name mariadb-slave3 -e MYSQL_ROOT_PASSWORD=password -p 3346:3306 mariadb:10.2
  92. docker start mariadb-slave3
  93. docker exec -it mariadb-slave3 /bin/bash
  94. apt-get update && apt-get install nano
  95. nano /etc/mysql/my.cnf
  96. server-id = 4
  97. report_host = slave3
  98. docker restart mariadb-slave3
  99. docker exec -it mariadb-slave3 /bin/bash
  100.  
  101. mysql -u root -p
  102. CHANGE MASTER TO MASTER_HOST='10.0.4.13', MASTER_USER='slave', MASTER_PASSWORD='password', MASTER_PORT=3316, MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=645, MASTER_CONNECT_RETRY=10;
  103. START SLAVE;
  104. exit
Add Comment
Please, Sign In to add comment