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

时间: 2024-10-08 01:30:48

mariadb主从部署的相关文章

Linux7/Centos7 Mariadb主从配置过程

环境:RedHat7 同样适用于Centos7(本文是在无网络环境部署mariadb主从) 卸载Mysql (防止mysql和mariadb冲突 ) 停止服务:systemctl stop mysqld 查询安装包:rpm -qa | grep mysql 卸载: rpm -e mysql-server rpm -e --nodeps mysql-libs 准备环境查看磁盘挂载情况:df –h < 如果没有则挂载系统盘:mount/dev/cdrom /media > PS: 在虚拟机设置里对

一键完成MySQL主从部署.

环境声明: 主从服务器位于 192.168.0.0/24 网段 master-->IP:192.168.0.88 master-->IP:192.168.0.89 在Master---主数据库的脚本  master-IP: 192.168.0.88 #!/bin/sh # Function: This is used for mysql-master role # made by zhigang.wang # contact: [email protected] MYUSER=root MYP

基于centos6的mysql5.7.13主从部署(二)

基于centos6的mysql5.7.13主从部署(二) 一.部署主mysql说明:mysql1是主机,mysql2是备机. 创建库 [[email protected] ~]# mysql -uroot -p123456 mysql> create database shiyan; mysql> exit Bye 将mysql库拷贝到shiyan库中 [[email protected] ~]# mysqldump -uroot -p123456 mysql > 234.sql [[e

puppet实现主从部署各种软件实战参考模型

puppet实现主从部署各种软件实战参考模型 ? 实验要求: ? ? 1.我将准备三个节点 node2 , node3 , node4 2.我们想让节点node3部署ntp,nginx ;节点node4部署ntp,memcached ? PS:这三个节点必须要能相互解析,并且时间要同步, 还要相互之间通信无需输入密码 ? ? 上面条件准备好以后,接下就是安装 puppet的服务端/客户端节点(master/agent) 我这里用的是puppet-2.7版本 ? ? 节点node2 (master

基于centos6的mysql5.7.13主从部署(一)

基于centos6的mysql5.7.13主从部署(一) 一.实验环境: 两台主机安装Centos6.7 32位操作系统: 两台Linux安装同一版本的MySQL,这里使用mysql5.7.13: mysql1的IP:192.168.100.129 mysql2的IP:192.168.100.128 二.部署过程: 说明: 关于mysql的详细安装过程,可以参考博客:http://wutengfei.blog.51cto.com/10942117/1931482,这里简单写下linux6版本安装

基于centos6的mysql5.7.13主从部署(三)

基于centos6的mysql5.7.13主从部署(三) 主从测试 登入(主)mysql1 [[email protected] ~]# mysql -uroot -p123456 mysql> unlock tables;  #解锁,对应上一章节的表的锁死 mysql> use shiyan; mysql> show tables; 删除其中一个表: mysql> drop table engine_cost; 登入(从)mysql2 [[email protected] ~]#

Postgresq9.6主从部署

Postgresq9.6主从部署 实验环境 名称 IP 系统 Master 172.17.10.190 Centos 6.5 Slave 172.17.10.189 Centos 6.5 1.yun安装 rpm -ivh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm yum install postgresql96.x86_64 postg

一分钟教你快速建立起MySQL/Mariadb 主从状态检测脚本(shell)

脚本主要实现了网络检测和简单的主从状态检测,发现状态异常即发送邮件报警,在手机上安装一个易信可实现实时联动,及时获取服务器状态信息,脚本虽简单却实用. #!/bin/bash ##author:jerry_jiang mail_addr="[email protected]"br/>mail_addr2="[email protected]"ping 192.168.33.19 -c1 >/dev/nullsping1=echo $?ping 192.1

使用python3脚本部署mariadb主从架构

环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. master import paramikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='192.168.253.180',port=22,username='root',password='369369yn