MySQL 主从复制模式全面实践

所需积分/C币:31 2019-04-27 17:51:43 703KB PDF
收藏 收藏
举报

MySQL 主从复制模式全面实践,很详细,很不错,建议下载看看
www.eimhe.co美河学习在线收集分享 线程。VO线程在 maste上打开一个普通的连接,然后开始 binlog dump process.。 Binlog dump process从 master的二进制日志中读取事件,如果已经执行亮 master产生的所有文件,它会睡眠并等 待 master产生新的事件。Uo线程将这些事件写入中继日志 第三步: SQL slave thread(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并 重新执行其中的事件而更新save的数据,使其与 master中的数据一致 REPLICATION常见方案 1、 ONE MASTER AND MUTI SALVE一主多备 Slave Master Slave Slave 一般用来做读写分离的, master写,其他 slave读,这种架构最大问题o压力集中 在 Master上<多台同步影响lo> 2、M-S-S 使用一台 slave作为中继,分担 Master的压力, slave中继需要开启bn-og,并配置 log-slave-updates www.eimhe.co美河学习在线收集分享 slave Master slave中继 lave Slave中继可使用Back-hole存儲引擎,不会把数据存储到磁盘,只记录二进制日志 3、M-M双主互备(互为主从) 很多人误以为这样可以做到 MySQL负载均衡,实际没什么好处,每个服务器需要做同样的同步更新,破 坏了事物的隔离性和数据的一致性 master slave master slave 监控三台机器互相做对方的 master Monitor www.eimhe.co美河学习在线收集分享 天生的缺陷:复制延迟, slave上同步要慢于 master如果大并发的情况那延迟更严重 Mysql在56已经自身可以实现 fail over故障切换 5、 ONE SLAVE MUT| MASTER一从对多主 好处:节省成本,将多个 master数据自动化整合 缺陷:对库和表数据的修改较多 :部署 MYSQL主从同步<M-s> 环境准备: 主机名 P 系统 MySQL版本 角色 xuegod63 10.10.10.63 CentOS7.4/5.7.20 Master xuegod64 10.10.10.64 Centos.4/5.7.20 slave 模式:C/S 端口:3306 配置主数据库服务器 XUEGOD63 创建需要同步的数据库: mysql> create database HA; mysql> use HA; mysql> create table tlid int, name varchar(20)); service mysqld stop 配置 my cnf vim /etc/my cnf og-bin= mysql-bin- master#启用二进制日志 www.eimhe.co美河学习在线收集分享 server-id=1#本机数据库D标 binlog-do-db=HA#可以被从服务器复制的库,二进制需要同步的数据库名 binlog- ignore-db=mysq#不可以被从服务器复制的库 重启mysq〔如果重启卡死现象,k掉再启动) Systemctl restart mysqld 授权: mysql> grant replication slave on* * to slave@101010.64 identified by 123456 查看状态信息: mysql> show master status Fi I Position Binlog Do DB Binlog Ignore DB mysql-bin-master. 000001 259|HA 查看二进制日志: Is /usr/local/mysql/data/ root @xuegod63 - ] ls /usr/local/mysql/data/ mysql-bin. 000001 mysql-bin. 000006 model.err batal mysql-bin.000002 mysql-bin. 000007 performance schema b logfile mysql-bin. 000003 mysql-bin index xuegod63.err b logfile mysql-bin 000004 mysql-bin-master. 000001 xuegod63 pid /sCI mysql-bin. 000005 mysgl-bin-master index mysql> show binlog events www.eimhe.co美河学习在线收集分享 mysql> show binlog events\G mysql-bin-master. 000001 Pos: 4 Event type: Format desc Server id: 1 End log pos: 107 Info: Server ver: 5.5.32-log, Binlog ver: 4 太大大大大大大大大大文大文大2.rOW Log name: mysql-bin-master. 000001 Pos: 107 Event type: Query Server id: 1 End log_pos: 259 Info: grant replication slave on *. to slave@192.168.1.64 identified by "12345 2 rows in set (0.00 sec) 复制前要保证同步的数据库一致 mysqldump -uroot-p123456HA>HAsq#可以导出数据库 将导出的数据库传给从服务器 方法: scP HA.sql10.10.10.64:/root 配置从数据库服务器 XUEGOD64 两台数据库服务器mysq版本要一致 mysql> show variables like' %version%'; mysql> show variables like oversion% Variable name Value innodb version 5.7.20 protocol version 10 slave type conversions tls version TLSvl, TLSv1. 1 version 5.7.20-1og version comment My SQL Community Server (GPL) version compile machine X86_64 version compile os Linux 8 rows in set(0.01 sec) 测试连接到主服务器是否成功 mysql-uslave-p123456-h 10.10.10.63 www.eimhe.co美河学习在线收集分享 mysql> show databases; Database information schema|看不到HA数据 只有复制的权限,是看不到其他库的。正常 导入数据库,和主数据库服务器保持一致 mysql> create database ha mysql-uroot-p123456 HA<HA. sql 修改从服务器配置文件 从服务器没必要开启bin-log日志 service mysqld stop vim /etc/ my cnf server-id=2#从服务器D号,不要和主D相同,如果设置多个从服务器,每个从服务器必须有 个唯一的 server-id值,必须与主服务器的以及其它从服务器的不相同。可以认为 server-id值类似于IP 地址:这些ID值能唯一识别复制服务器群集中的每个服务器实例。 master-host=192168163#指定主服务器|P地址 master-user= slave#指定定在主服务器上可以进行同步的用户名 master- password=123456#密码 #master-port=3306 master- connect-rery=60#断点重新连接时间 文本框是mysq5.1的配置 mysql> stop slave;#亭止 slave mysql change master to master host=101010.63, master user=slave, master password=123456; mysq> start slave;#启动 slave www.eimhe.co美河学习在线收集分享 mysq> show slave status\G查看状态 mysql> show slave status\G 大大大大大大大大大大大大大大大大大大大大大大大大★1,rW大大大大大大大大大大大大大大大大大大大大大大大大大大 Slave Io state: waiting for master to send event Master Host: 192.168.1.63 Master User: slave Master port: 3306 onnect Retry: 6 Master Log File: mysql-bin-master. 000001 Read Master Log Pos: 259 Relay Log File: xuegod64-relay-bin. 000002 Relay Log Pos: 412 Relay Master Log File: mysql-bin-master. 000001 Slave Io Running: Yes Slave SQL Running: Yes 成功了 Slave| 0 Running:一个负责与主机的io通信 Slave SQL Running:负责自己的 slave myst进程 两个为YES就成功了! 再到主服务器上查看状态: ysql> show processlist (G mysql> show processlist \G 大实大实大大大大大大大大大实实文大大大大大大大大大大1.rw大大大实大实大大大大大大大大大大大大大大大大大 Td: 5 User: save Host:192.168.1.64:34341 db: NULL Command: Binlog Dump Time: 811 state: Master has sent all binlog to slave; waiting for binlog to be updated Info: NULL 插入数据测试同步 mysql> insert into T1 values (1, man); 从数据库上查看 mysql> select from T1 -=---+--=-- d name man 1 row in set (0.00 sec) www.eimhe.co美河学习在线收集分享 排错 如果遇到主从不同步,看一下主从bin-log的位置,然后再同步。 ysq1> show master status; I position Binlog Do DB Binlog Ignore DB I mysgl-bin-master. 000001 446|HA myst 在主服务器上看二进制日志事件列表 mysql> show binlog events \G 从服务器执行 MySQL命令下: mysql> stop slave #先停止 slave B mysql> change master to master log file='mysql-bin-master 000001', master log pos=1164 #根据上面主服务器的 show master status的结果,进行从服务器的二进制数据库记录回归,达到同步 的效果 mysql> slave start; #启动从服务器同步服务 mysql> show slave status\G: #用 show slave status\G看一下从服务器的同步情况 Slave lo Running: Yes Slave SQL Running: yes 如果都是yes,那代表已经在同步 重启从服务器,再查看状态 停止从服务器 slave stop 开启从服务器 slave start; 排错思路 、二进制日志没有开启 2、 IPTABLES没有放开端口

...展开详情
试读 24P MySQL 主从复制模式全面实践
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    • 至尊王者

      成功上传501个资源即可获取
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    MySQL 主从复制模式全面实践 31积分/C币 立即下载
    1/24
    MySQL 主从复制模式全面实践第1页
    MySQL 主从复制模式全面实践第2页
    MySQL 主从复制模式全面实践第3页
    MySQL 主从复制模式全面实践第4页
    MySQL 主从复制模式全面实践第5页
    MySQL 主从复制模式全面实践第6页
    MySQL 主从复制模式全面实践第7页
    MySQL 主从复制模式全面实践第8页

    试读已结束,剩余16页未读...

    31积分/C币 立即下载 >