Relay

mysql复制

时光怂恿深爱的人放手 提交于 2020-08-18 20:49:24
[我会陆续推出有关mysql架构的文章,希望能给大家带来帮助!] 先贴张图,大家常见的。 环境: Centos5.2 Mysql 5.1.44 Master:192.168.x.166 Slaver:192.168.x.172 Master数据库安装操作 下载mysql http://dev.mysql.com/downloads/ 安装源码 参考INSTALL-SOURCE shell> groupadd mysql shell> useradd -g mysql mysql shell> gunzip < mysql-VERSION.tar.gz | tar -xvf - shell> cd mysql-VERSION shell> ./configure --prefix=/usr/local/mysql shell> make shell> make install shell> cp support-files/my-medium.cnf /etc/my.cnf shell> cd /usr/local/mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> bin/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R

【mysql 读写分离】读写分离实现

ε祈祈猫儿з 提交于 2020-08-18 08:23:00
一、读写分离(主从复制) 主从复制: 当主服务器有写入(insert/update/delete)语句时候,从服务器自动获取 读写分离: insert/update/delete语句操作一台服务器,select操作另一个服务器 从库生成两个线程,一个I/O线程,一个SQL线程; i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中; 主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog; SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致 二、bin-log日志 概念:binlog即二进制日志,它记录了数据库上的所有改变并以二进制的形式保存在磁盘中,它可以用来查看数据库的变更历史、数据库增量备份和恢复、Mysql的复制(主从数据库的复制)。 简单概括:binlog日志就是记录MySQL数据库增/删/改SQL语句 作用:实现主从复制、灾难恢复 1、开启binlog日志 步骤1:打开MySQL配置文件vi /etc/my.cnf并修改 步骤2:重启服务 步骤3:登录MySQL查看bin-log日志是否开启 2、查看binlog日志里面的内容 列表: show master logs 清空: reset master 刷新: flush logs

MySQL高可用架构之MHA

爱⌒轻易说出口 提交于 2020-08-17 03:28:47
简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点) 。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制

mysql主从复制原理

早过忘川 提交于 2020-08-17 03:28:32
转载马士兵连老师笔记 mysql主从复制原理 0、为什么需要主从复制? 1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。 2、做数据的热备 3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。 1、什么是mysql的主从复制? MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。 2、mysql复制原理 原理: (1)master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中; (2)slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件 (3)同时主节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至从节点本地的中继日志中

ubuntu docker mysql主从配置

老子叫甜甜 提交于 2020-08-16 10:28:42
1.拉取MySQL(最新版本)镜像到本地 docker pull mysql # 如果你只需要跑一个mysql实例,不做主从,那么执行以下命令即可,不用再做后面的参考步骤: docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest #然后用shell或客户端软件通过配置( 用户名:root 密码:132456 IP:你的本机ip 端口:3306)来登录即可 2. 准备MySQL配置文件 mysql安装后的默认配置文件在 /etc/mysql/my.cnf , 而自定义的配置文件一般放在 /etc/mysql/conf.d 这个路径下。 现在我们在本地host主机上自定义的某个目录(如 /data/mysql/conf/ ),先创建两个文件master.conf和slave.conf,分别用于配置主从两个节点。 /data/mysql/conf/master.conf [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] log_bin = log #开启二进制日志,用于从节点的历史复制回放 collation-server = utf8_unicode_ci init-connect='SET

实操题

有些话、适合烂在心里 提交于 2020-08-16 05:25:00
实操题 网络管理 1、在eNSP中使用S5700交换机进行配置,通过一条命令划分vlan2、vlan3、vlan1004,通过端口组的方式配置端口1-5为access模式,并添加至vlan2中。配置端口10为trunk模式,并放行vlan3。创建三层vlan2,配置IP地址为:172.16.2.1/24,创建三层vlan1004,配置IP地址为:192.168.4.2/30。通过命令添加默认路由,下一跳为192.168.4.1。(使用完整命令) [Huawei]vlan batch 2 3 1004 [Huawei]port-group 1 [Huawei-port-group-1]group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/5 [Huawei-port-group-1]port link-type access [Huawei-port-group-1]port default vlan 2 [Huawei]interface GigabitEthernet 0/0/10 [Huawei-GigabitEthernet0/0/10]port link-type trunk [Huawei-GigabitEthernet0/0/10]port trunk allow-pass vlan 3 [Huawei

Linux运维必会的MySQL企业面试题大全

荒凉一梦 提交于 2020-08-14 15:28:18
#一、基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld startservice mysqld startsystemctl start mysqld 2.检测端口是否运行 lsof -i :3306netstat -lntup |grep 3306 3.为MySQL设置密码或者修改密码 设置密码 mysql -uroot -ppassword -e "set passowrd for root = passowrd('passowrd')" mysqladmin -uroot passowrd "NEWPASSWORD" 更改密码 mysqladmin -uroot passowrd oldpassowrd "NEWPASSWORD"use mysql;update user set passowrd = PASSWORD('newpassword') where user = 'root';flush privileges; msyql 5.7以上版本修改默认密码命令 alter user 'root'@'localhost' identified by 'root' 4.登陆MySQL数据库 mysql -uroot -ppassword 5.查看当前数据库的字符集 show create database DB_NAME; 6

MySQL 双主单写,主库偶尔出现大量延迟的原因

Deadly 提交于 2020-08-14 04:18:23
作者:高鹏(网名八怪),《深入理解MySQL主从原理32讲》系列的作者。 系列链接:https://www.jianshu.com/nb/43148932 版本:5.7.29 水平有限有误请谅解 一、问题来源 这是来自我们线上数据库的一个问题。我们是双主单写,这里约定写入的库为主库,没有写入的库为从库。我们的falcon偶尔会进行报警如下(频率很低): 这是非常奇怪的,按理说我是单写的从库没有做任何操作(除了应用Event以外),主库哪来的延迟,并且延迟这么大。 在我映像中有朋友问过这个问题,当时没有细细研究。 二、延迟计算的规则 我们还是要看看主从计算延迟的伪代码: /* The pseudo code to compute Seconds_Behind_Master: if (SQL thread is running) //如果SQL线程启动了 { if (SQL thread processed all the available relay log) //如果SQL线程已经应用完了所有的IO线程写入的Event { if (IO thread is running) //如果IO线程启动了 print 0; //设置延迟为0 else print NULL; //否则为空值 } else compute Seconds_Behind_Master; /

p2p打洞技术原理

廉价感情. 提交于 2020-08-13 09:22:15
什么是打洞,为什么要打洞 由于Internet的快速发展 IPV4(网际协议版本4)地址不够用,不能每个主机分到一个公网IP 所以使用NAT地址转换 一般来说都是由私网内主机主动发起连接,数据包经过NAT地址转换后送给公网上的服务器,连接建立以后可双向传送数据,NAT设备允许私网内主机主动向公网内主机发送数据,但却禁止反方向的主动传递,但在一些特殊的场合需要不同私网内的主机进行互联(例如P2P软件、网络会议、视频传输等),TCP穿越NAT的问题必须解决。 nat的几种类型 现在基本使用这种,又分为对称和锥型NAT。 锥型NAT ,有完全锥型、受限制锥型、端口受限制锥型三种: a) Full Cone NAT (完全圆锥型) :从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000 ,192.168.0.8可以收到任意外部主机发到1.2.3.4:62000的数据报。 b) Address Restricted Cone NAT (地址限制圆锥型) :从同一私网地址端口192.168.0.8:4000发至公网的所有请求都映射成同一个公网地址端口1.2.3.4:62000,只有当内部主机192.168.0.8先给服务器C 6.7.8.9发送一个数据报后,192.168.0.8才能收到6.7.8.9发送到1.2.3.4

DHCP协议与配置

假装没事ソ 提交于 2020-08-12 20:25:45
一.DHCP协议工作过程 1.客服端通过广播发送DHCP discover 报文寻找服务器。 2.服务器通过单播DHCP offer 报文向客服端提供IP地址等网络信息。 3.客服端通过广播DHCP request 报文告知服务器端本地选择使用哪个IP地址。 4.服务器通过DHCP ack 报文告知客服端IP地址是合法可用的。 5.当IP地址租期剩余50%的时候,客服端发送单播DHCP request报文向服务器提出续约请求。 6.如果上一步续约没有成功,客服端则在IP地址租期剩余12.5%时,发送广播DHCP request 报文向服务区提出续约请求。 7.如果上一步续约仍然没有成功,客服端讲放弃使用现有的IP地址,重新发送DHCP discover报文,请求新的IP地址。 二.配置DHCP 1.在R1上配置接口IP [r1]interface GigabitEthernet 0/0/0 [r1-GigabitEthernet0/0/0]ip address 10.1.1.1 24 [r1-GigabitEthernet0/0/0]quit 2.配置DHCP server [R1]dhcp enable [R1]ip pool dhcp1 [R1-ip-pool-dhcp1]network 10.1.1.0 mask 255.255.255.0 [R1-ip-pool-dhcp1