mysql主从配置

MySQL的高可用(MHA)

…衆ロ難τιáo~ 提交于 2019-12-17 20:05:21
MySQL的高可用(MHA) MHA简介 MHA:Master High Availability,对主节点进行监控,可实现自动故障转移至其他从节点;通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前MHA主要支持一主二从,即一台充当master,一台充当备用master,另外一台充当从数据库,出于机器成本的考虑,淘宝进行了改造,目前淘宝TMHA已经一主一从。 MHA架构 MHA的工作原理 MHA是由一台manager服务器远程监控主服务器,当主服务器挂了提升一台从服务器作为主服务器。 当主节点挂了,manager首先要查看哪台从节点,同步的数据最多,然后提升同步最多的从节点为主节点,再将其余的MySQL服务器对他做从节点。 如果原主节点没彻底死透,manager会让新的主机通过ssh协议远程连接到原先的主节点,拉取二进制日志进行同步。如果主节死透了那就放弃。   MHA搭建 环境准备 一、准备4台主机,管理节点1台,主节点MySQL服务器1台,从节点MySQL服务器2台 主机 IP Manager 192.168.73.111 Master 192.168.73.110 Slave1 192.168.73.112 Slave2 192.168.73.113 二、将Manager管理节点配置为时间服务器,向所有MySQL服务器提供时间同步。 1

MHA高可用群集

 ̄綄美尐妖づ 提交于 2019-12-17 19:18:47
MHA高可用集群 文章目录 一、MHA 简介: 二、部署 MHA: 第一步:三台主从服务器安装 mysql 第二步:修改 mysql 的主配置文件:/etc/my.cnf ,注意三台服务器的 server-id 不能一样 第三步:三台服务器启动 mysql 服务 第四步:配置 Mysql 主从同步(一主两从) 第五步:安装 MHA 第六步:启动 MHA 一、MHA 简介: MHA(Master High Availability) (1)简介 目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 (2)该软件由两部分组成: MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时

mysql-数据库的主从同步,实现读写分离

旧城冷巷雨未停 提交于 2019-12-17 08:01:36
mysql数据库的主从同步,实现读写分离 2018-08-14 20:55:57 叶梦_ 目录 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master主服务器的配置 2.1 配置文件my.cnf的修改 2.2 创建从服务器的用户和权限 2.3 重启mysql服务 2.4 查看主服务器状态 3 slave从服务器的配置 3.1 配置文件my.cnf的修改 3.2 重启mysql服务 3.3 连接master主服务器 3.4 启动slave数据同步 3.5 查看slave信息 4 测试 5 解决错误 6 总结 前言 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。 利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台认为主数据库,而其他为从数据库,实现主从同步。其中主数据库负责主动写的操作,而从数据库则只负责主动读的操作(slave从数据库仍然会被动的进行写操作,为了保持数据一致性),这样就可以很大程度上的避免数据丢失的问题,同时也可减少数据库的连接,减轻主数据库的负载

centos7安装mysql

假装没事ソ 提交于 2019-12-17 05:57:30
进入mysql官网: https://dev.mysql.com/downloads/mysql/ 选择对应系统和版本的mysql进行下载 我下载的版本: 下载完之后,使用xshell连接远程服务器,使用rz命令上传mysql-5.7.28-linux-glibc2.12-x86_64.tar上传到/usr/local目录下 ##大硬盘挂载到了 /opt/mysql 目录下,因此将文件存储到此目录,新建以下目录 /opt/mysql/log ##存储日志文件 /opt/mysql/tmp ##存储的好像是临时文件 /opt/mysql/data ##存储数据库数据文件 卸载系统自带Mariadb rpm -qa | grep mariadb rpm -e --nodeps 文件名 tar -xvf mysql-5.7.28-linux-glibc2.12-x86_64.tar ##初次解压得到.gz文件,还有一个带test的文件,干嘛的也不咋清楚二次解压别搞错就行了 tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz ##再次解压得到真实文件 mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql ##将目录重命名为mysql 后面配置文件会用到目录 创建配置文件: vim /etc/my

MySQL-5.5.49安装、多实例、主从复制

二次信任 提交于 2019-12-17 05:16:54
源码安装mysql yum install ncurses-devel libaio-devel -y mkdir /server/tools -p cd /server/tools wget https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure gmake gmake install which cmake /usr/local/bin/cmake cd .. useradd -s /sbin/nologin -M mysql wget https://downloads.mysql.com/archives/get/file/mysql-5.5.49.tar.gz tar xf mysql-5.5.49.tar.gz cd mysql-5.5.49 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.49 \ -DMYSQL_DATADIR=/application/mysql-5.5.49/data \ -DMYSQL_UNIX_ADDR=/application/mysql-5.5.49/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \

MySQL复制入门

懵懂的女人 提交于 2019-12-17 03:29:13
Ⅰ、复制类型 1.1 逻辑复制 记录每次逻辑操作 主从数据库可以不一致 1.2 物理逻辑复制 记录每次对于数据页的操作 主从数据物理严格一致 基于重做日志 说明: 如果一个块(页)修改了,就把这个修改发到远端 主从两端不仅仅是数据一致,而是物理上的一致,页都是一样的 1.3 复制选型与对比 简单的主从环境,两边同样的表,space_id不用一样,只要保证数据在逻辑内容上一致,物理上不用一样。也就是说,一张表的数据一致就行,不要求这些数据对应的表空间里面内容也一致 Oracle的优势 Oracle中commit时间是平均的,MySQL却不是 MySQL中事务越大commit越慢,binlog是事务执行完commit之后才写,从而产生延时的问题,Oracle中是物理逻辑复制,块的变化实时同步到从上 MySQL的优势 做大数据,把MySQL里面的数据变化传到数据仓库平台,MySQL做起来就很方便,Oralce做起来麻烦,物理日志要去解析是解析不出来行的变化的,但是有ogg工具可以同步到hive,不过偏商业 Ⅱ、典型关系型数据库复制对比 - MySQL Oracle Data Gurad SQL Server Mirroring 类型 逻辑复制 物理逻辑复制 物理逻辑复制 优点 灵活 复制速度快 复制速度快 缺点 配置不当易出错 要求物理数据严格一致 要求物理数据严格一致 问

MySQL - binlog日志简介及设置

无人久伴 提交于 2019-12-17 01:12:32
基本概念 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,记录了所有的DDL和DML(除了数据查询语句)语句,并以 事务 的形式保存在磁盘中,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。 作用主要有: 复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves并回放来达到master-slave数据一致的目的 数据恢复:通过mysqlbinlog工具恢复数据 增量备份 二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。 日志管理 开启binlog 修改配置文件 my.cnf 配置 log-bin 和 log-bin-index 的值,如果没有则自行加上去。 log-bin=mysql-bin log-bin-index=mysql-bin.index 这里的 log-bin 是指以后生成各 Binlog 文件的前缀

MySQL数据库初识

拥有回忆 提交于 2019-12-16 22:52:51
一 数据库概述 1. 数据库???   什么是数据库呢?   先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。   百度的貌似不好理解啊,让我说啊,数据库是存储数据的地方,超哥,你这不是废话么?这位同学,你你你你你说的对,哈哈,存数据的地方是存在哪里呢,存在硬盘上,为什么不是存在内存里面,因为内存无法永久保存。之前我们存数据都是使用的文件,在一个word文档里面写一些羞羞的网址,然后保存,就存储到硬盘上了。有同学就会说了,超哥,我这通过文件不是也将数据保存上了吗?是的,没毛病,但是你想,通过文件来操作数据,效率是不是很低,首先打开关闭就比较慢,其次是我们操作起来也比较麻烦,对不对,如果我想记录一条关于我个人信息的数据,我使用文档来存,是不是很不友好,并且我们要查数据的时候,看图1:图1是一个word里面记录的信息,如果我想查询出所有人的名字,这个操作是不是就很难搞定了,来来来,配合起来~~,你应该说是的,那我就接着说,有同学可能就会说了,老师我用excel啊,看图2,一列就搞定了,没毛病,但是你想打开操作excel效率低不低。并且通过你自己写的程序来操作这些文件是不是很麻烦

MySQL的binlog日志

末鹿安然 提交于 2019-12-16 15:55:07
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句(所有对数据库 修改 的操作语句),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 二进制有两个最重要的使用场景: 其一:MySQL Replication(复制)在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的(主从复制)。 其二:自然就是数据恢复了,通过使用mysql binlog工具来使恢复数据。 二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。 一、开启binlog日志: vi编辑打开mysql配置文件 # vi /usr/local/mysql/etc/my.cnf 在[mysqld] 区块 设置/添加 log-bin=mysql-bin 确认是打开状态(值 mysql-bin 是日志的基本名或前缀名); 重启mysqld服务使配置生效 # pkill mysqld # /usr/local/mysql/bin/mysqld_safe --user=mysql 二

lamp安装

那年仲夏 提交于 2019-12-16 15:43:44
安装mysql mysql版本 5.5.32 apache版本2.2.34 php版本5.3.27 1、解压 [root@NFS-31 ~]# tar zxf mysql-5.5.32-linux2.6-x86_64.tar.gz 2、移动 [root@NFS-31 ~]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql 3、进入目录 [root@NFS-31 ~]# cd /usr/local/mysql/ [root@NFS-31 mysql]# ls bin data include lib mysql-test scripts sql-bench COPYING docs INSTALL-BINARY man README share support-files [root@NFS-31 mysql]# 4、设置mysql数据的目录 [root@NFS-31 mysql]# mkdir /data/mysql –p 5、不创建家目录 [root@NFS-31 mysql]# useradd -s /sbin/nologin -M mysql 6、更改权限 [root@NFS-31 mysql]# chown -R mysql:mysql /data/mysql/ 7、拷贝配置文件 [root@NFS-31 mysql]#