mariadb主从部署

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 用于事物安全

 


你可能感兴趣的:(服务器,程序)