mysql5.7.26做主主配置
一、首先两台服务器安装好mysql数据库环境
https://www.cnblogs.com/sky-cheng/p/10564604.html
二、在两台mysql上都创建复制账号
mysql> grant replication slave,replication client on *.* to 'repl'@'%' identified by 'Zaq1xsw@';
Query OK, rows affected, warning (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| repl | % |
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
rows in set (0.00 sec)
三、两台mysql服务器上上分别设置不同的Server_id,同时都开启二进制日志
mysql> show variables like '%server_id%';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| server_id | 0 |
| server_id_bits | 32 |
+----------------+-------+
如果配置文件没有设置server_id参数,则默认都是0
编辑/etc/my.cnf
添加service_id,它的值可以跟服务器的IP最后一位数字一样,这样就能保证内网中的服务器ID不重复。一台设置
server_id=103
log-bin=master
binlog_format=row
另一台
server_id=
log-bin=master-
binlog_format=row
四、重启两台服务器的mysql服务
五、两台服务器分别执行change master操作
首先获取第一台数据库日志文件名称和偏移量:
mysql> show master status\G;
*************************** . row ***************************
File: master-1.000001
Position:
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
row in set (0.00 sec) ERROR:
No query specified
在另外一台上执行
mysql> change master
-> to
-> master_host='172.28.18.69',
-> master_port=,
-> master_user='repl',
-> master_password='xxxxxxxxx',
-> master_log_file='master-1.000001',
-> master_log_pos=;
Query OK, rows affected, warnings (0.20 sec)
开启这台上的主从复制
mysql> start slave;
Query OK, rows affected (0.01 sec)
查看从库状态
mysql> show slave status\G
*************************** . row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.28.18.69
Master_User: repl
Master_Port:
Connect_Retry:
Master_Log_File: master-1.000001
Read_Master_Log_Pos:
Relay_Log_File: node2-relay-bin.
Relay_Log_Pos:
Relay_Master_Log_File: master-1.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:
Last_Error:
Skip_Counter:
Exec_Master_Log_Pos:
Relay_Log_Space:
Until_Condition: None
Until_Log_File:
Until_Log_Pos:
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno:
Last_IO_Error:
Last_SQL_Errno:
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id:
Master_UUID: c76bbd08-7acd-11e9-badd-14feb5dc2c77
Master_Info_File: /home/mysql-5.7./data/master.info
SQL_Delay:
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count:
Master_Bind:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes从库同步线程启动成功,同样在另外一台服务器上也执行上述的操作,实际上主主配置就是互为主从配置。配置完后,在两台服务器上都可以查看主库和从库的状态 六、测试数据
在其中一台上插入数据,另外一台立即可以同步数据,表示配置成功。
首先在两台服务器上分别执行查询,看看表里数据是否一致
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| | aaaa |
| | bbbb |
| | ccc |
+------+------+
rows in set (0.00 sec)
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| | aaaa |
| | bbbb |
| | ccc |
+------+------+
两台服务器数据一致,在其中一台插入数据
mysql> insert into test values(,'dddd');
Query OK, row affected (0.03 sec) mysql> select * from test;
+------+------+
| id | name |
+------+------+
| | aaaa |
| | bbbb |
| | ccc |
| | dddd |
+------+------+
rows in set (0.00 sec)
另外一台查询
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| | aaaa |
| | bbbb |
| | ccc |
| | dddd |
+------+------+
rows in set (0.00 sec)
插入的数据已经同步了
再在这台服务器上插入数据
mysql> insert into test values(,'eeee');
Query OK, row affected (0.02 sec) mysql> select * form test
-> ;
ERROR (): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'form test' at line
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| | aaaa |
| | bbbb |
| | ccc |
| | dddd |
| | eeee |
+------+------+
rows in set (0.00 sec)
在另外一台查询
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| | aaaa |
| | bbbb |
| | ccc |
| | dddd |
| | eeee |
+------+------+
rows in set (0.00 sec)
数据同步了,至此mysql主主配置成功。
mysql5.7.26做主主配置的更多相关文章
- mysql5.7.26做主从复制配置
一.首先两台服务器安装好mysql数据库环境 参照linux rpm方式安装mysql5.1 https://www.cnblogs.com/sky-cheng/p/10564604.html 二.主 ...
- MySQL5.7.26二进制安装
1.安装系统版本 2.解压更换路径 tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.26-linux-glibc2.12- ...
- MySQL双主配置
MySQL双主配置 准备环境:服务器操作系统为RHEL6.4 x86_64,为最小化安装.主机A和主机B均关闭防火墙和SELINUX ,IP地址分别为192.168.131.129和192.168.1 ...
- 利用JDBC连接Eclipse和mySQL5.1.26数据库
初学JDBC,看了看书,自己动手的时候还是有很多地方有问题,最终终于解决了实现了数据库的连接.现将整个步骤描述如下: 环境:mySQL5.1.26(win 32bit), Eclipse JavaEE ...
- linux 安装 mysql-5.6.26
linux安装mysql-5.6.26 查看工具:winscp 下载地址 http://mirrors.sohu.com/mysql/MySQL-5.6/ 文件: mysql-5.6.26-linux ...
- Ubuntu14.04编译安装mysql5.6.26
Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...
- CentOS 6.5 源码安装MySQL5.6.26
1:下载安装cmake (mysql5.5以后是通过cmake来编译的) 2:创建mysql的安装目录及数据库存放目录 #mkdir /usr/mysql //安装my ...
- MySQL Replication, 主从和双主配置
MySQL Replication, 主从和双主配置 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场 ...
- keepalived主从及双主配置
高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...
随机推荐
- vuefor循环
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- leetcode 452用少量的箭射爆气球
类似于区间调度问题,使用贪心算法:首先对所有气球按照起始坐标大小排序,然后每次总是优先选择起始坐标小的气球中的右边坐标,然后再选择下一个: 排完序之后,下一个可能有如上图所示几种情况, 1) 当n ...
- 微信小程序中的不同场景,不同的判断,请求的时机
本来5月1之前就想写一下一篇关于小程序不同场景下发送ajax请求的问题,但是放假的前一天,出了个大bug,就是因为我修改不同的场景下执行不同的逻辑造成的 1.首先,在小程序里,微信做了很多的缓存,我们 ...
- ControlTemplate in WPF —— Menu
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...
- Elasticsearch 6.2.3版本 Windows环境 简单操作
背景描述 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. El ...
- PC端网页嵌入百度地图
1 打开百度地图生成器: http://api.map.baidu.com/lbsapi/creatmap/ 2 设置好了之后,点击获取代码,将代码粘贴到文件中保存为html文件 参考网址:https ...
- 简单的servlet下载
<servlet> <servlet-name>servletTest</servlet-name> <servlet-class>com.shangs ...
- c++ 数据抽象 、封装 接口(抽象类)
一.数据抽象 即,只向外界提供关键信息,并隐藏其后台的实现细节 ———— 一种依赖于接口和实现分离的编程(设计)技术 例如,程序可以调用 sort() 函数,而不需要知道函数中排序数据所用到的算法 c ...
- js实现动画(移动方块)
1.使方块移动 源码 : <script type="text/javascript"> var div = document.createElement('di ...
- Django 调用支付宝接口
目录 一 支付宝接口 二 视图函数 支付宝支付 正式环境:用营业执照,申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appD ...