mysql主从配置

MySQL主主同步

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 15:28:02
MySQL 主主同步方案 l MySQL 主主 +Keepalived l MySQL+DRBD+Heartbeat 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用 mysql 主 主 方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加 mysql 入口,增加高可用。 不过多主需要考虑自增长 ID 问题,这个需要特别设置配置文件,比如双主,可以使用奇偶 ,总之,主之间设置自增长 ID 相互不冲突就能完美解决自增长 ID 冲突问题。 主主方案实现思路 1、 两台 mysql 都可读写,互为主备 。 默认只使用一台 masterA 负责数据的写入,另一台 masterB 备用 处于备用状态 ; 2、 masterA 是 masterB 的主库, masterB 又是 masterA 的主库,它们互为主从; 3、 两台主库之间做高可用 , 可以采用 keepalived 等方案 , 使用 VIP 对外提供服务; 4、 所有提供服务的从服务器与 masterB 进行主从同步(双主多从) ; 5、 建议采用高可用策略的时候, masterA 或 masterB 均不因宕机恢复后而抢占 VIP (非抢占模式); 这样做可以在一定程度上保证主库的高可用 , 在一台主库 down 掉之后 ,

MMM实现Mysql高可用

a 夏天 提交于 2019-12-01 15:19:08
MySQL 主主同步方案 l MySQL 主主 +Keepalived l MySQL+DRBD+Heartbeat 在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用 mysql 主主方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加 mysql 入口,增加高可用。 不过多主需要考虑自增长 ID 问题,这个需要特别设置配置文件,比如双主,可以使用奇偶 ,总之,主之间设置自增长 ID 相互不冲突就能完美解决自增长 ID 冲突问题。 主主方案实现思路 1、 两台 mysql 都可读写,互为主备。默认只使用一台 masterA 负责数据的写入,另一台 masterB 备用处于备用状态; 2、 masterA 是 masterB 的主库, masterB 又是 masterA 的主库,它们互为主从; 3、 两台主库之间做高可用 , 可以采用 keepalived 等方案,使用 VIP 对外提供服务; 4 、所有提供服务的从服务器与 masterB 进行主从同步(双主多从) ; 5 、建议采用高可用策略的时候, masterA 或 masterB 均不因宕机恢复后而抢占 VIP (非抢占模式); 这样做可以在一定程度上保证主库的高可用 , 在一台主库 down 掉之后 , 可以在极短的时间内切换到另一台主库上

主从同步(多结构主从)

99封情书 提交于 2019-12-01 14:00:51
​ 可以实现数据自动同步的服务结构,大大提升了数据的安全可靠性,当正在提供服务的数据库实例宕机时,另外一台数据库实例也可以提供完整的可靠的数据。 主从前提:master必须启用binlog日志,设置server-id。 实现原理: ​ 在开启主从后,slave会开启两个进程,分别是Slave_IO、Slave_SQL。 Slave_IO: ​ 在master节点上添加一个角色并赋予replication slave权限,Slave_IO从节点slave会使用这个master授权账户去master主节点拷贝binlog日志SQL命令到slave的relay-log(中继日志)文件。会在该mysql的默认data目录生成 relay-log.info 记录了当前使用的中继日志文件名、偏移量、master的binlog文件名、偏移量等信息, 主机名-relay-bin.index ,中继日志文件索引文件 记录了当前使用的中继文件名。 主机名-relay-bin.XXXXXX 中继日志文件 记录了Slave_IO从master上拷过来的SQL语句。 Slave_SQL: ​ 执行本机relay-log文件里的SQL语句,实现与Master数据一致。 主从同步有三种结构:主从、链式复制(主从从)、一主多从、互为主从。 主从:至少两个数据库实例组成。A是主实例(master节点),B是从实例

mysql主从同步

喜夏-厌秋 提交于 2019-12-01 13:52:15
1. 介绍 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。 利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台认为主数据库,而其他为从数据库,实现主从同步。其中主数据库负责主动写的操作,而从数据库则只负责主动读的操作(slave从数据库仍然会被动的进行写操作,为了保持数据一致性),这样就可以很大程度上的避免数据丢失的问题,同时也可减少数据库的连接,减轻主数据库的负载。 下面让我们来看下一个图: 在上面的模型中,Mysql-A就是主服务器,即master,Mysql-B就是从服务器,即slave。 在Mysql-A的数据库事件(例如修改数据库的sql操作语句),都会存储到日志系统A中,在相应的端口(默认3306)通过网络发送给Mysql-B。Mysql-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库Mysql-B中完成。 日志系统A,是MYSQL的日志类型中的二进制日志,也就是专门用来保存修改数据库表的所有动作,即bin log,注意MYSQL会在执行语句之后,释放锁之前

Linux搭建MySQL主从

丶灬走出姿态 提交于 2019-12-01 13:51:42
实现目标 搭建两台MySQL服务器(一主一从),一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作。 工作流程概述 主服务器: 开启二进制日志 配置唯一的server-id 获得master二进制日志文件名及位置 创建一个用于slave和master通信的用户账号 从服务器: 配置唯一的server-id 使用master分配的用户账号读取master二进制日志 启用slave服务 准备工作 主从数据库版本最好一样 主从数据库内数据保持一致 主数据库:192.168.244.201 : 3306 从数据库:192.168.244.202 : 3306 开始配置 配置 Master 主服务器 找到主数据库的配置文件my.cnf(Windows中是my.ini),我的在/etc/my.cnf 在[mysqld]部分插入如下两行: [mysqld] log-bin=mysql-bin #开启二进制日志 server-id=201 #设置server-id,唯一值,标识主机 重启mysql服务 systemctl restart mysqld 创建用于主从同步的账号/密码 进入MySQL : mysql -u root -p 回车输入密码。 我创建的用户名叫“master_root”密码是“MySql@6688” 【注意

amoeba 读写分离

二次信任 提交于 2019-12-01 13:40:27
实验环境: MySQL amoeba:192.168.200.116 MySQL-master:192.168.200.111 MySQL-slave1:192.168.200.112 MySQL-slave2:192.168.200.113 MySQL client:192.168.200.100 先实现MySQL数据库的主从复制,方法见上一篇。 1.安装Amoeba上安装java环境(推荐jdk1.5或1.6) [root@localhost ~]# ls amoeba-mysql-binary-2.2.0.tar.gz initial-setup-ks.cfg nohup.out anaconda-ks.cfg jdk-6u14-linux-x64.bin yum.sh [root@localhost ~]# chmod +x jdk-6u14-linux-x64.bin [root@localhost ~]# jdk-6u14-linux-x64.bin 一路空格,输入yes,回车完成 [root@localhost ~]# mv jdk1.6.0_14/ /usr/local/jdk1.6 [root@localhost ~]# vim /etc/profile 末行添加 export JAVA_HOME=/usr/local/jdk1.6 export

部署MySQL-主从异步复制

孤街醉人 提交于 2019-12-01 13:36:09
实验环境 三台虚拟机 一主两从 主: 192.168.200.111 从1: 192.168.200.112 从2: 192.168.200.113 [root@localhost ~]# iptables -F [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 建立三台服务器时间同步环境 ,在主服务器上安装配置NTP时间同步服务器 [root@localhost ~]# yum -y install ntp [root@localhost ~]# vim /etc/ntp.conf 末行添加 server 127.127.1.0 fudge 127.127.1.0 startum 8 [root@localhost ~]# systemctl restart ntpd 在两台从服务器上同步时间 [root@localhost ~]# yum -y install ntpdate [root@localhost ~]# ntpdate 192.168.200.111 15 Oct 12:02:12 ntpdate[10406]: adjust time server 192.168.200.111 offset 0.008413 sec

MySQL主从复制及读写分离

谁都会走 提交于 2019-12-01 13:19:03
MySQL Replication 概述 mysql在互联网领域用的如此广泛很大一部分原因是是源于它的replication机制,简单实用,几台PC机子,很容易提高性能,乃中小网站必备良方。 首先什么情况下要扩展数据库,建个网站,建个数据库,某一天网站火了,访问量暴增,意味着从你服务器上读网页的连接多了,IO瓶颈来了,自然想多加几台机子来分担压力,但是数据还要跟源主机上的数据库内数据保持一致,这时候就是开始扩展数据库的时候,replication就开始派上用场了。 MySQL Replication 俗称MySQL AB复制或主从复制,是MySQL官方推荐的数据同步技术。数据同步基本过程为从数据库会实时去读取主数据库的二进制日志文件,按照日志中记录对从库进行同样的操作,以达到数据同步效果。 MySQL Replication优点: 通过增加从服务器来提高数据库平台的可靠性能。在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的数量,从而调整数据库平台的高性能。 提高数据安全性,因为数据已复制到从服务器,主数据库数据异常时,可以将从服务器复制进程终止来达到保护数据完整性的特点。 在主服务器上生成实时数据,而在从服务器上分析这些数据,从而缓解主服务器的性能。 MySQL复制类型 异步复制(Asynchronous replication )

MySQL主从异步复制备份案例及Amoeba是实现读写分离

£可爱£侵袭症+ 提交于 2019-12-01 13:15:01
实验1 (MySQL主从异步复制备份案例)环境 一主两从 MySQL-master 192.168.200.111 MySQL-slave1 192.168.200.112 MySQL-slave2 192.168.200.113 所有服务器关闭防火墙 所有服务器安装 yum -y install mariadb mariadb-server systemctl start mariadb //启动mariadb 建立时间同步环境,在主服务器上安装配置NTP时间同步服务器 主: yum -y install ntpdate vim /etc/ntp.conf server 127.127.1.0 fudge 127.127.1.0 startum 8 systemctl start ntpd 修改配置文件: vim /etc/my.cnf [mysqld] server_id=1 log-bin=mysql-binlog log-slave-updates=true systemctl restart mariadb mysql 登录数据库 给从服务器授权 MariaDB [(none)]> grant replication slave on *.* to 'slave'@'192.168.200.%' identified by '123123'; MariaDB [(none

(转)MySQL日志系统

☆樱花仙子☆ 提交于 2019-12-01 13:09:39
原文: https://www.cnblogs.com/roverliang/p/6414457.html MySQL 日志系统 做过大型系统的都知道,日志的作用不用小觑,往往到了项目中后期,对项目进行优化升级都是依据日志做出升级优化的决策的。那么学习MySQL,日志部分当然不能错过。我们面试中实际应用的所谈到的优化都是要从日志中得出来的。系统的学习mysql的日志,有助于我们准确的定位问题,提高自己的工作水平。此外,后面的一系列日志会重点从DBA的运维方面进行着手,系统的去理解MySQL各方面的配置,做到知己知彼,让MySQL成为自己得心应手的数据仓库。 一、MySQL的日志类型 默认情况下,所有的MySQL日志以文件的方式存放在数据库根目录下: [root@roverliang data]# pwd /usr/local/webserver/extend_lib/mysql/data [root@roverliang data]# ls auto.cnf ibdata1 ib_logfile0 ib_logfile1 mysql mytest performance_schema roverliang roverliang.err roverliang.pid test MySQL的日志类型有以下几种: 1. 错误日志(error),MySQL服务实例启动