mysql主从配置

MMM高可用架构

◇◆丶佛笑我妖孽 提交于 2020-01-10 17:38:01
MMM高可用架构 MMM(Master-Master replication manager for MySQL) 是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,可以说是mysql主主复制管理器。虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。 MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移

数据读写分离 、 MySQL多实例

时光怂恿深爱的人放手 提交于 2020-01-10 15:22:29
读写分离原理 由MySQL代理面向客户提供服务 案例1:实现MySQL读写分离 1.1 问题 搭建一主一从结构 配置maxscale代理服务器 测试配置 使用4台虚拟机,如图-1所示。其中192.168.4.51和192.168.4.52,分别提供读、写服务,均衡流量,通过主从复制保持数据一致性,由MySQL代理192.168.4.57面向客户端提供服务,收到SQL写请求时,交给主服务器处理,收到SQL读请求时,交给从服务器处理。在客户机192.168.4.50测试配置。 步骤一:搭建MySQL一主一从同步结构 配置主服务器192.168.4.51 ] # vim /etc/my.cnf [mysqld] server_id=51 / / 指定服务器ID号 log - bin=master51 / / 启用binlog日志,并指定文件名前缀 . . . [root@master10 ~] # systemctl restart mysqld //重启mysqld 主服务器授权用户,并查看binlog日志信息 ] # mysql -uroot -p123456 mysql> grant all on * . * to 'repluser' @ '%' identified by '123456' ; Query OK , 0 rows affected , 1 warning ( 0

Mysql——读写分离

我们两清 提交于 2020-01-10 14:00:40
文章目录 一、MySQL读写分离原理 二、应用场景 三、读写分离示例 1、配置 2、验证 一、MySQL读写分离原理 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,而从数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 二、应用场景 在企业用户中,在大量的数据请求下,单台数据库将无法承担所有的读写操作 配置多台数据库服务器以实现读写分离 在主从复制的基础上实现读写分离 三、读写分离示例 环境: 1、3台Mysql服务器,部署好mysql服务(1台主服务器,2台从服务器) 2、3台服务器间搭建主从复制:https://blog.csdn.net/ML908/article/details/103914159 3、1台amoeba代理服务器 4、1台客户机 5、所有服务器关闭防火墙 思路: 需要有三个账户 1、从服务器找主服务器同步数据用的账户 2、amoeba访问mysql用的账户 3、客户端访问amoeba用的账户 主服务器(master) 192.168.17.157 从服务器(slave 1) 192.168.17.150 从服务器(slave 2) 192.168.17.135 代理服务器(amoeba) 192.168.17.130 客户机(client) 192.168.17.158 1、配置

Mysql——主从复制

微笑、不失礼 提交于 2020-01-10 08:20:24
文章目录 一、什么是主从复制 二、主从复制应用场景 三、MySQL主从复制的类型 四、主从复制的工作过程 五、主从复制示例 1、主服务器配置 2、从服务器(slave 1)配置 3、从服务器(slave 2)配置 4、主从复制验证 一、什么是主从复制 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。 二、主从复制应用场景 在企业网站中,后端MySQL数据库只有一台时,会存在以下问题: 单点故障,服务不可用 无法处理大量的并发数据请求(导致效率慢,访问超时) 数据丢失 解决方案: 增加MySQL数据库服务器,对数据进行备份,形成主备 确保主备MySQL数据库服务器数据是一样的 主服务宕机了,备份服务器继续工作,数据有保障 解决方案(高级): MySQL主从复制与读写分离是密切相关的 通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力 三、MySQL主从复制的类型 基于语句的复制(默认) 在主服务器上执行的语句,从服务器执行同样的语句 基于行的复制 把改变的内容复制到从服务器 混合类型的复制 一旦发现基于语句无法精确复制时,就会采用基于行的复制

MySQL 主从配置

霸气de小男生 提交于 2020-01-10 03:51:23
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1、主从服务器分别作以下操作 : 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码 2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=222 //[必须]服务器唯一ID,默认是1,一般取IP最后一段 3、修改从服务器slave: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[不是必须]启用二进制日志 server-id=226 //[必须]服务器唯一ID,默认是1,一般取IP最后一段 4、重启两台服务器的mysql /etc/init.d/mysql restart 5、在主服务器上建立帐户并授权slave: #/usr/local/mysql/bin/mysql -uroot -pmttang mysql> GRANT REPLICATION SLAVE ON *.* to 'zxf330301'@'192.168.5.113' identified by '#zhangXF3303'; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.5

mysql主从复制

喜你入骨 提交于 2020-01-10 02:26:24
主从服务器说明不止一台服务器,这就需要mysql进行远程连接,所以 切记 关防火墙 关防火墙 关防火墙 1、主从服务器分别作以下操作 : 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码 2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=222 //[必须]服务器唯一ID,默认是1,一般取IP最后一段 3、修改从服务器slave: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[不是必须]启用二进制日志 server-id=226 //[必须]服务器唯一ID,默认是1,一般取IP最后一段 4、重启两台服务器的mysql /etc/init.d/mysql restart 5、在主服务器上建立帐户并授权slave: #/usr/local/mysql/bin/mysql -uroot -proot mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456';//一般不用root帐号,%表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替, 如192.168.145.226

mysql主从复制

冷暖自知 提交于 2020-01-10 02:24:15
mysql主从数据库配置 如何配置mysql主从数据库 首先确保主从服务器上的Mysql版本相同 主数据库服务器配置: 1. 修改主数据库的配置文件 my.ini, 修改之后重启 Mysql 服务。 [mysqld] port=3306 server-id=10 #与从数据库不同 log-bin=c:\log-bin.log #日志文件 binlog-do-db=tpceshi #这里设置需要在主服务器记录日志的数据库,只有在这里设置了的数据库才能被复制到从服务器 binlog-ignore-db=mysql #这里设置在主服务器上不记度日志的数据库 2. 打开 mysql 命令行登陆 mysql, , 设置一个从数据库的账户,给从数据库分配复制权限 mysql>GRANT REPLICATION SLAVE ON *.* TO slave001'@'192.168.0.99' IDENTIFIED BY '123456'; slave001: 用户名 192.168.0.99 :IP 123456 :密码 3.show masterstatus; 显示主数据库状态 File: 数据库日志文件 Position: 日志位置 这2个选项用于在从数据库服务器中配置 //////////////// 从数据库数据同步 //////////////// 好了,现在可以停止主数据的的更新操作

mysql主从复制

允我心安 提交于 2020-01-10 02:23:43
一. 准备工作 本实验在两台ubuntu14上实验,用的是mysql5.6,进行主从备份的前提条件必须是mysql版本相同,并且有相同的初始数据 主服务器IP:192.168.0.221 从服务器IP:192.168.0.222 卸载老版本mysql apt-get autoremove --purge mysql-server-5.* apt-get remove mysql-common dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P #清除残留数据 安装mysql5.6 apt-get install -y mysql-server-5.6 mysql-client-5.6 libmysqlclient-dev 二. 主服务器上设置mysql 1. 在主服务上,设置一个复制使用的账户,并授予REPLICATION SLAVE权限,这里创建一个用户rep1, 可以从192.168.0.222 (从服务器ip) 的主机进行连接 mysql > grant replication slave on *.* to 'rep1'@'192.168.0.222' identified by '123'; 注意: 1)如果想允许所有主机连接主数据库,把后面的IP地址改为"%" 2)在主数据库里导入数据库时,要导入到rep1用户中

MySQL读写分离

爱⌒轻易说出口 提交于 2020-01-09 23:51:43
MySQL读写分离 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,从而数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 案例实施 所有服务器关闭firewalld或者进行规则设置 搭建mysql主从复制环境 Amoeba服务器环境安装 配置amoeba读写分离,两个slave读负载均衡 mysql1、mysql2和mysql3中执行以下操作开放权限给Amoeba 修改amoeba配置文件 /usr/local/amoeba/conf/amoeba.xml /usr/local/amoeba/conf/dbServers.xml 启动Amoeba软件 测试读负载均衡 客户机访问数据库 在数据库db_test中创建zang,并自动同步到2台从服务器 两台从服务器数据库中关闭主从复制 分别在mysql1、mysql2、mysql3的zang表中上插入不同的数据 实操 在amoeba服务器上安装amoeba需要先安装jdk依赖包 cp jdk-6u14-linux-x64.bin /usr/local [root@amoeba abc]# cd /usr/local [root@amoeba local]# ls bin etc include lib libexec share tomcat9 boost_1_59_0

MySQL系列(七)--SQL优化的步骤

自闭症网瘾萝莉.ら 提交于 2020-01-08 21:52:16
  前面讲了如何设计数据库表结构、存储引擎、索引优化等内存,这篇文章会讲述如何进行SQL优化,也是面试中关于数据库肯定会被问到的, 这些内容不仅仅是为了面试,更重要的是付诸实践,最终用到工作当中   之前的MySQL内存地址: MySQL系列内容 如何获取存在性能的SQL: 1、通过生产环境用户、测试人员反馈的应用响应速度较慢,可能就是SQL性能较差导致的 2、通过慢查询日志获取 3、实时获取存在性能问题的SQL MySQL慢查日志: 参数:   1、slow_query_log  是否启动慢查询日志,默认不开启,on/off,动态参数,运行时通过set global slow_query_log=on设置,也可以 通过脚本定时开关   2、slow_query_log_file  日志存储和数据存储的文件名和路径,最好是自己设置,而不是默认,日志和数据文件要区分开   3、long_query_time  慢查询日志SQL执行时间的阈值,单位s,默认10s,超过这个执行时间的SQL都会被记录下来,无论是查询还是修改, 还是记录已经回滚的SQL,最大精确到微妙ms,可以设置为1s比较合适   4、log_queries_not_using_indexes  是否记录未使用索引的SQL 设置参数:   1、my.cnf,永久生效   2、通过SET GLOBAL设置参数,例如SET