Mysql数据库主主互备

实验环境:

系统: Centos6.4 64

masterA:192.168.1.223

masterB:192.168.1.224

要求:实现两服务器之间数据的同步

首先做的事安装mysql,并能正常登陆

[[email protected] ~]# service mysqld restart

Stopping mysqld:                                           [  OK  ]

Starting mysqld:                                           [  OK  ]

修改登陆密码,默认没有密码

[[email protected] ~]# mysqladmin -uroot password 123456

[[email protected] ~]# mysql -uroot -p123456

mysql>

[[email protected] ~]#cp /etc/my.cnf /etc/my.cnf.bak

[[email protected] ~]# vim /etc/my.cnf

server_id = 1   将这个修改为1,另外一台修改为2或是其他,之后重启

[[email protected] ~]# mysql -uroot -p123456

mysql> GRANT  REPLICATION SLAVE ON *.* TO ‘replication‘@‘192.168.1.%‘ IDENTIFIED  BY ‘replication‘;

Query OK, 0 rows affected (2.24 sec)

mysql> flush  privileges;

Query OK, 0 rows affected (0.15 sec)

mysql> show master status;

+------------------+----------+--------------+------------------+------------------------------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                        |

+------------------+----------+--------------+------------------+------------------------------------------+

| mysql-bin.000004 |      732 |              |                  | d8c0e68c-0b35-11e5-96a0-000c29e6a569:1-3 |

+------------------+----------+--------------+------------------+------------------------------------------+

(masterB上查看的   记下mysql-bin.000004、732这两个值)

mysql> change  master to

-> master_host=‘192.168.1.224‘,

-> master_user=‘replication‘,

-> master_password=‘replication‘,

-> master_log_file=‘mysql-bin.000004‘,

-> master_log_pos=732;

Query OK, 0 rows affected, 2 warnings (0.05 sec)

mysql> start slave;

Query OK, 0 rows affected (0.07 sec)

至此,masterA配置完毕

[[email protected] ~]# mysql -uroot -p123456

mysql> GRANT  REPLICATION SLAVE ON *.* TO ‘replication‘@‘192.168.1.%‘ IDENTIFIED  BY ‘replication‘;

Query OK, 0 rows affected (2.24 sec)

mysql> flush  privileges;

Query OK, 0 rows affected (0.15 sec)

mysql> show master status;

+------------------+----------+--------------+------------------+------------------------------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                        |

+------------------+----------+--------------+------------------+------------------------------------------+

| mysql-bin.000005 |      582 |              |                  | d8c0e68c-0b35-11e5-96a0-000c29e6a569:1-3 |

+------------------+----------+--------------+------------------+------------------------------------------+

(在masterA上查看的,记下mysql-bin.000005、582这两个值)

mysql> change  master to

-> master_host=‘192.168.1.223‘,

->  master_user=‘replication‘,

-> master_password=‘replication‘,

-> master_log_file=‘mysql-bin.000005‘,

-> master_log_pos=582;

Query OK, 0 rows affected, 2 warnings (0.04 sec)

mysql> start slave;

Query OK, 0 rows affected (0.09 sec)

查看slave的状态,如果这两项都为YES状态,说明成功。(A和B上面都显示为YES)

mysql> show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

所有配置基本完成,下面进行测试就OK了

在masterA上面创建数据会自己同步到masterB上,同理,在masterB上面创建一个数据也会自己同步到masterA上面,说明成功了。

如果出现IO和SOL不是YES状态,执行

stop slave;

reset slave;

start slave;

或是重新执行一遍一下这些命令

先stop slave

mysql> change  master to

-> master_host=‘IP地址‘,

->  master_user=‘授权的用户‘,

-> master_password=‘用户密码‘,

-> master_log_file=‘log bin 的值‘,

-> master_log_pos=pos 的值;

然后

start slave

重新查看slave的状态。

时间: 2024-12-30 02:51:09

Mysql数据库主主互备的相关文章

MYSQL数据库主主同步实战

MYSQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 在实际项目中,两台分布于异地的主机上安装有MYSQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台

MySql数据库主主同步配置步骤

测试环境: 192.168.1.192 192.168.1.193 mysql5.2 配置192服务器: /usr/local/mysql/bin/mysql -uroot -p 授权: grant replication slave,file on *.* to 'xm1'@'192.168.1.193' identified by '100200'; 刷新: flush privileges; 配置193服务器: /usr/local/mysql/bin/mysql -uroot -p 授权

MariaDB、MySQL双主互备模型同步数据

MySQL双主互备即两台MySQL服务器同时是主服务器,而同时又是对方的从服务器,这样可以分担主服务器的一部分写请求,因为如果是单主模型的话数据写入只能写入在一台MySQL服务器,而双主模型则可同时写在两台服务器上,有效加快了写入的速度,而且还能提供数据的备份功能. 环境如下: server1:CentOS 6.5 x86_64 mariadb 10.0.10 IP:192.168.10.204 server2:CentOS 6.5 x86_64 mariadb 10.0.10  IP:192.

MySQL双主互备模式架构

MySql双主互备架构模式 操作系统 CentOS 6.3 MySql版本 mysql-5.0.56 keepalived keepalived-1.1.19.tar.gz Master DB1配置文件 修改MySql 配置文件  /etc/my.cnf 增加以下段落 [mysqld] server-id=1    节点标示 log-bin=mysql-bin   开启mysql的binlog日志功能 relay-log = mysql-relay-bin  用来定义日志文件命名格式 repli

mysql主主互备模式配置

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.3.5的读笔记 mysql双主互备架构图 mysql主主互备模式配置 环境: DB1:主服务器  centos6.6  mysql5.1.73 IP:10.24.24.111 DB2:从服务器  centos6.6  mysql5.1.73 IP:10.24.24.112 mysql VIP:10.24.24.112 ---------------------------------------- centos6.x安装mysql # y

MySQL主主互备模式(Keepalived)

MySQL双主-高可用 单台数据库实例安装 请参考:二进制包安装MySQL 资源规划 主机名 os 版本 MySQL 版本 主机 IP MySQL VIP db01.lyk.com centos 6.4 mysql-5.6.21-linux-glibc2.5-x86_64 172.31.30.12 172.31.30.222 db02.lyk.com centos 6.4 mysql-5.6.21-linux-glibc2.5-x86_64 172.31.30.11 3.修改MySQL配置文件

mysql主主互备架构

企业级mysql集群具备高可用,可扩展性,易管理,低成本的特点.mysql主主互备就是企业中常用的一个解决方案.在这种架构中,虽然互为主从,但同一时刻只有一台mysql 可读写,一台mysqk只能进行读操作 1.配置 环境: DB1(master)  mysql-5.1.73-3.el6_5.x86_64   192.168.32.130 DB2 (slave)    mysql-5.1.73-3.el6_5.x86_64    192.168.32.129 mysql vip : 192.16

mysql主主互备+原来mysql主从架构

接http://wsw26.blog.51cto.com/1442148/1749125我这个A已做了BC的主架构上增加一台D的虚拟机(同一个环境),我的目的是D和A主主互备,BC继续做A的从,既是D<-->A-->BC这样架构(类似级联的) 准备工作:(1)D的IP是192.168.0.190,A的IP是192.168.0.8,B的IP是192.168.0.140,C的IP是192.168.0.141(2)将A的mysql备份的sql通过scp传去D那里再从D那里新建对应的数据库名字后

mysql双主互备

一.安装mysql 各种方式太多了 二.摘录自:https://linux.cn/thread-14135-1-1.html 1)首先在DB1上my.cnf 中[mysqld] 字段中添加如下内容:server-id = 1 //数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;log-bin=mysql-bin //启用二进制日志: relay-log=mysql-relay-bin  //用来定义relay-log日志文件命名格式repl