MariaDB主从服务器优点简介
辅组实现备份Replication
高可用:在主服务器出现异常情况,修改指定配置可以直接顶替主服务器。
异地容灾
Scale out:分摊负载(是否启用!)
一、部署文档
1.确保在主服务器和从服务器上安装的MariaDB版本一致.
2.在主服务器上为从服务器设置一个连接账户
MariaDB [(none)]> GRANT REPLICATION SLAVE, SUPER, RELOAD ON *.* TO ‘‘@‘‘ IDENTIFIED BY ‘。
主服务器IP:
从服务器IP:
1.确保在主服务器和从服务器上安装的MariaDB版本一致.
2.在主服务器上为从服务器设置一个连接账户
MariaDB[(none)]> GRANT REPLICATION SLAVE, SUPER, RELOAD ON *.* TO IDENTIF IED BY ‘userpassword‘;
3. 执行FLUSH TABLES WITH READ LOCK 进行
MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;
4. 让客户程序保持运行,发出FLUSH TABLES语句让读锁定保持有效。(如果退出客户程序,锁被释放)。进入主服务器的数据目录,然后执行备份命令
读取主服务器上当前的二进制日志名(File)和偏移量值(Position),并记录下来:
MariaDB [(none)]> SHOW MASTER STATUS;取得快照并记录日志名和偏移量后,可以在主服务器上重新启用写活动:
MariaDB [(none)]>UNLOCK TABLES;
5. 确保主服务器主机上my.cnf文件的[mysqld]部分包括一个log_bin选项,并修改名称为master-bin
6. 停止用于从服务器的服务器并在其my.cnf文件中修改server-id-11
7.如果对主服务器的数据进行二进制备份,启动从服务器之前将它复制到从服务器的数据目录中。
确保对这些文件和目录的权限正确。服务器 MySQL运行的用户必须能够读写文件,如同在主服务器上一样。这里我们使用root用户操作
8. 用--skip-slave-start选项启动从服务器,以便它不立即尝试连接主服务器。
9. 在从服务器上执行下面的语句:
MariaDB[(none)]> CHANGE MASTER TO MASTER_HOST=‘‘,MASTER_USER=‘‘,MASTER_PASSWORD‘‘,
MASTER_LOG_FILE=‘‘,MASTER_LOG_POS=;
9. 启动从服务器线程:
MariaDB [(none)]> START SLAVE;
10.验证部署是否成功
1. MariaDB [(none)]> show slave status\G
2.
3. *************************** 1. row ***************************
4.
5. Slave_IO_State: Waiting for master to send event
6.
7. Master_Host:
8.
9. Master_User: rep_slave
10.
11. Master_Port: 3306
12.
13. Connect_Retry: 60
14.
15. Master_Log_File: mysql-bin.000058
16.
17. Read_Master_Log_Pos: 27324573
18.
19. Relay_Log_File: cacti-11-111-relay-bin.000008
20.
21. Relay_Log_Pos: 27324718
22.
23. Relay_Master_Log_File: mysql-bin.000058
24.
25. Slave_IO_Running: Yes
26.
27. Slave_SQL_Running: Yes
28.
29. Replicate_Do_DB:
30.
31. Replicate_Ignore_DB: mysql
32.
33. Replicate_Do_Table:
34.
35. Replicate_Ignore_Table:
36.
37. Replicate_Wild_Do_Table:
38.
39. Replicate_Wild_Ignore_Table:
40.
41. Last_Errno: 0
42.
43. Last_Error:
44.
45. Skip_Counter: 0
46.
47. Exec_Master_Log_Pos: 27324573
48.
49. Relay_Log_Space: 27325025
50.
51. Until_Condition: None
52.
53. Until_Log_File:
54.
55. Until_Log_Pos: 0
56.
57. Master_SSL_Allowed: No
58.
59. Master_SSL_CA_File:
60.
61. Master_SSL_CA_Path:
62.
63. Master_SSL_Cert:
64.
65. Master_SSL_Cipher:
66.
67. Master_SSL_Key:
68.
69. Seconds_Behind_Master: 0
70.
71. Master_SSL_Verify_Server_Cert: No
72.
73. 1 row in set (0.00 sec)
当Slave_IO_Running和Slave_SQL_Running都显示Yes的时候,表示同步成功。
二配置优化从服务器使其重启后自动启动复制进程
修改配置文件my.cnf:
从服务器添加read-only = ON 重启MarianDB
主服务器添加sync-binlog = ON 用于事物安全