mysql双主双从测试环境的安装部署.docx_第1页
mysql双主双从测试环境的安装部署.docx_第2页
mysql双主双从测试环境的安装部署.docx_第3页
mysql双主双从测试环境的安装部署.docx_第4页
mysql双主双从测试环境的安装部署.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 数据mysql主机地址8(主)901(主)mysql服务器5.5.27安装路径1.1 双主备库复制方案这种配置方式当主节点出现问题, 所有的从节点将不能进行同步负载均衡设备VIP-ReadVIP-Write写访问写访问Master-AMaster-B 读访问读访问复制复制Slave-BSlave-A .优点:保证主节点的网络不参与多次的复制, master-B可以作为备份1. 如果master-a宕机, f5切换到master-b,当master-a启动后,原有连接还在master-b上,新建连接在master-a上。2. 如果master-b宕机,读的数据库将不能实时同步,当master-b启动后, 数据连续同步,不会出现不同步的情况。3. 需要保证所有复制关系才能正常运行。1.1.1 MySQL5.5安装过程1. 使用ntp保证时间一致2. 新建 /etc/f 文件, 配置相应路径3. 使用 mysql_install_db 重新安装数据4. 修改 mysql 密码 mysqladmin -u root password防止主键冲突主节点1auto_increment_increment=2 # 步长auto_increment_offset=1 #初始值sync_binlog=1 #防止不同步, 一定要有,先一个停止服务,然后插入另一个,可能不同步innodb_flush_log_at_trx_commit=2主节点2auto_increment_increment=2 # 步长auto_increment_offset=2 #初始值sync_binlog=1 #防止不同步innodb_flush_log_at_trx_commit=2从节点server-id = 323307log_slave_updates = 1auto_increment_increment=2auto_increment_offset=2read-only(保证只读)1、主从服务器时间要同步(ntp):echo */5 * * * * /usr/sbin/ntpdate YOUR NTP_SERVER_IP /var/cron/root2、如何限制从服务器只读?在从服务器上,/etc/fmysqld段中添加下行read-only=ON注意:仅能限制那不具有SUPER权限用户无法执行写操作;想限制所有用户:mysql FLUSH TABLES WITH READ LOCK;3、如何主从复制时的事务安全?在主服务器上配置:sync_binlog=11.1.2 导入数据MariaDB (none) CREATE DATABASE testdb;rootMaster # mysqldump -all-databases -flush-logs -master-data=1 -lock-all-tables all.sql /将此文件传给新Slave.rootMaster # scp all.sql root:/root/(2)在从服务器上导入:rootSlave # mysql dbname.sql (2)导出数据库结构(不含数据) mysqldump -u username -p -d dbname dbname.sql (3)导出数据库中的某张数据表(包含数据) mysqldump -u username -p dbname tablename tablename.sql (4)导出数据库中的某张数据表的表结构(不含数据)mysqldump -u username -p -d dbname tablename tablename.sql mysqldump -uroot -p unicom_document uni.sql创建数据库之后执行mysql -u root -p unicom_document source d:/myprogram/database/ unicom_document.sql;1.1.3 配置复制在两个主节点上分别执行:grant replication slave on *.* to repuser% identified by repuser;flush privileges;#情况日志,查看master的状态stop slave;reset master;reset slave;show master status;1. 发出该语句:复制代码 代码如下:mysql FLUSH TABLES WITH READ LOCK;2. 仍然加锁时,执行该命令(或它的变体):复制代码 代码如下:shell tar zcf /tmp/backup.tar.gz /var/lib/mysql并拷到从服务器上。3. 发出该语句并且确保记录了以后用到的输出:复制代码 代码如下:mysqlSHOW MASTER STATUS;4. 释放锁:复制代码 代码如下:mysql UNLOCK TABLES;两个主节点配置CHANGE MASTER TO MASTER_HOST=8, MASTER_PORT=3316,MASTER_USER=repuser, MASTER_PASSWORD=repuser, MASTER_LOG_FILE=mysql-bin.000057, MASTER_LOG_POS= 13895;CHANGE MASTER TO MASTER_HOST=1, MASTER_PORT=3316,MASTER_USER=repuser, MASTER_PASSWORD=repuser, MASTER_LOG_FILE=mysql-bin.000011, MASTER_LOG_POS= 1554;两个从节点配置CHANGE MASTER TO MASTER_HOST=1, MASTER_PORT=3316,MASTER_USER=repuser, MASTER_PASSWORD=repuser, MASTER_LOG_FILE=mysql-bin.000011, MASTER_LOG_POS= 1231202;CHANGE MASTER TO MASTER_HOST=1, MASTER_PORT=3316,MASTER_USER=repuser, MASTER_PASSWORD=repuser, MASTER_LOG_FILE=mysql-bin.000011, MASTER_LOG_POS= 1231202;#在所有从节点的MySQL上执行:start slave;show slave statusGmysql show processlistG1.2 MySQL Cluster集群方案使用mysql cluster 和 mysql fabric 来管理集群。1.3 问题解决方案1. 使用F5向M1上定向, 如果有问题转到M2, 可以2. 使用mysql proxy3. 使用mysql cluster , 不建议,不清楚4. 是否能通过F5各分担50%的访问,不建议,复制问题5. 使用MMM, MHA6. 使用mysql5.6 gtid , 可以1.3.1 Mysql安装错误使用 mysql_install_db 重新安装数据1.3.2 插入之后就读取的情况处理数据源分为读数据源、写数据源两种。 如果插入完之后就读取使用写数据源,只有待办列表、打开表单使用读数据源。使用f5作为双主的VIP-WRITE , 采用如果有一台机器M-A出现问题,然后再转发到另外的M-B,所有的从库也通过VIP-READ进行配置从主库进行读写,。Mysql数据库使用5.6的GTID防止事物不一致。1.3.3 双主的故障切换错误日志:Got fatal error 1236 from master when reading data from binary log: Could not find first log file name in binary log index file使用mysql5.6CHANGE MASTER TO MASTER_HOST=xxx, MASTER_AUTO_POSITION1.3.4 主从不一致同步方法因为是通过GTID来进行复制的,也 需要跳过这个事务从而继续复制,这个事务可以到主上的binlog里面查看:因为不知道找哪个GTID上出错,所以也不知道如何跳过哪个GTID。但在show slave status里的信息里可以找到在执行Master里的POS:151 Exec_Master_Log_Pos: 151的时候报错,所以通过mysqlbinlog找到了GTID:# at 151#150810 22:57:45 server id 1 end_log_pos 199 CRC32 0x5e14d88f GTID commit=yesSET SESSION.GTID_NEXT= 4e659069-3cd8-11e5-9a49-001c4270714e:1/*!*/;找到这个GTID之后执行: 必须按照下面顺序执行 mysql stop slave;Query OK, 0 rows affected (0.01 sec)mysql set session gtid_next=4e659069-3cd8-11e5-9a49-001c4270714e:1; #在session里设置gtid_nextQuery OK, 0 rows affected (0.01 sec)mysql begin; #开启一个事务Query OK, 0 rows affected (0.00 sec)mysql commit;Query OK, 0 rows affected (0.01 sec)mysql SET SESSION GTID_NEXT = AUTOMATIC; #把gtid_next设置回来Query OK, 0 rows affected (0.00 sec)mysql start slave; #开启复制Query OK, 0 rows affected (0.01 sec)stop slave;set session gtid_next=3877a6bb-2f68-11e5-82a9-008cfa052c24:112; begin; commit;SET SESSION GTID_NEXT = AUTOMATIC; start slave; show slave statusG;如果很多地方不一致,需要重新导入数据库1.3.5 注意show slave statusG; Worker 3 fai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论