织梦网站发布的哪些产品和文章放在a文件可以吗,百度指数大数据分享平台,上海网络推广专员,西安市未央区建设局官方网站#原理
MySQL默认是异步的,不要求必须全部同步到从节点才返回成功结果;
同步复制: 用户发请求到代理, 代理收到请求后写/更新数据库写入到二进制日志bin_log, 然后必须等数据发到所有的从节点, 从节点全部收到数据后, 主节点才返回给客户端的成功结果。
弊端#xff1a; 客…
#原理
MySQL默认是异步的,不要求必须全部同步到从节点才返回成功结果;
同步复制: 用户发请求到代理, 代理收到请求后写/更新数据库写入到二进制日志bin_log, 然后必须等数据发到所有的从节点, 从节点全部收到数据后, 主节点才返回给客户端的成功结果。
弊端 客户端必须等到所有的从节点接收全部数据才收到成功结果耗时长效率低。
所以用半同步的方法解决只要有一个从节点同步成功就返回成功结果。
#安装插件
安装主节点插件
mysqlINSTALL PLUGIN rpl_semi_sync_master SONAME semisync_master.so; #永久安装插件
查看插件
mysqlSHOW PLUGINS; #查看插件 安装从节点插件(两个)
mysqlINSTALL PLUGIN rpl_semi_sync_slave SONAME semisync_slave.so;
mysqlSHOW PLUGINS; #查看插件 #主服务器Master配置
[rootmaster ~]#vim /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id8
log-binrpl_semi_sync_master_enabledON #修改此行,需要先安装semisync_master.so插件后,再重启,否则无法启动
rpl_semi_sync_master_timeout3000 #设置3s内无法同步也将返回成功信息给客户端
重启数据库
systemctl restart mysqld
插件开启状态 #从服务器Slave配置
打开配置文件
vim /etc/my.cnf.d/mysql-server.cnf
第一个从节点
[rootslave1 ~]#vim /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id18rpl_semi_sync_slave_enabledON #修改此行,需要先安装semisync_slave.so插件后,再重启,否则无法启动
第二个从节点
[mysqld]
server-id28
rpl_semi_sync_slave_enabledON #修改此行,需要先安装semisync_slave.so插件后,再重启,否则无法启动
验证查看
mysqlSHOW GLOBAL VARIABLES LIKE %semi%; #搭建主从关系
主节点查看
mysql show master logs; 记录下来
CHANGE MASTER TO MASTER_HOST10.0.0.8,MASTER_USERrepluser,MASTER_PASSWORDmagedu,MASTER_PORT3306,
MASTER_LOG_FILEmysql-bin.000002, MASTER_LOG_POS156;
创建账号并授权
#创建用户
mysqlcreate user repluser10.0.0.% identified by 123456;#授权
mysqlgrant replication slave on *.* to repluser10.0.0.%;
从节点数据库执行
CHANGE MASTER TO MASTER_HOST10.0.0.8,MASTER_USERrepluser,MASTER_PASSWORDmagedu,MASTER_PORT3306,
MASTER_LOG_FILEmysql-bin.000002, MASTER_LOG_POS156; 状态查看(成功)
mysql start slave; #验证
现在返回主节点查看
mysql SHOW GLOBAL STATUS LIKE %semi%; #注意:如果已经实现主从复制,需要stop slave;start slave;
mysql stop slave;
mysql start slave;mysql SHOW GLOBAL STATUS LIKE %semi%;
-----------------------------------
| Variable_name | Value |
-----------------------------------
| Rpl_semi_sync_slave_status | ON |
-----------------------------------
1 row in set (0.00 sec)