mysql主主同步

mysql主主同步配置

北战南征 提交于 2020-04-12 17:34:40
mysql的主主同步实际上就是两台服务器之间互为主从,所以基本原理和mysql主从是一样的,所以可以先按我的这篇博客 mysql主从同步配置 配置主从同步后, 再按以下步骤配置反向的主从同步即可,具体如下: 登录原来的从机,即Ip为192.168.0.105的服务器 在原来的从机上本置一个用于同步的用户,如下: GRANT REPLICATION SLAVE ON *.* to 'mysync'@'192.168.0.101' identified by 'q123456'; 2. 锁定数据库,如下 mysql> flush tables with read lock; Query OK, 0 rows affected (0.03 sec) 3. 查看主机的当前状态(因为这时候把原来的从机当作了主机): mysql> show master status; +------------------+----------+--------------+------------------+--------------- ----+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_ Set | +------------------+----------+--------------+-------

centos7单机上搭建mysql5.7一主多从模式

99封情书 提交于 2020-03-18 08:03:47
虽然只是一名撸码小哥,但是毕竟常常和数据库要打交道,免不了多少得知道些数据库的配置和架构只是,所以自己参考官方文档在单机上搭了个mysql的主从,当作笔记,避免年纪大了不记事儿。 本文只写如何搭建主从的结构,不涉及原理和应用场景,内容浅显,不喜勿喷。 基本环境: centos7 x64 mysql 5.7.20(压缩版) 下载mysql 5.7.20(去官网下载了传到linux或直接wget),如图 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 添加用户组mysql: groupadd mysql 添加用户mysql且该用户不能登陆: useradd -g mysql mysql -s /bin/false 创建用户组和用户非强制性要求,可以直接用root搞,不过还是养成良好习惯,不同用户干不同事儿,免得一直用着root为所欲为,稍微手滑一切go die... 新建一个文件夹,待下载完成后解压到里面,并复制两份,做一主两从用,新建data目录,conf目录,logs目录,sock目录(建立这四个目录非强制要求,这里仅仅是为了区分各文件,便于管理),如图: 进入conf目录,新建3306.cnf,3307.cnf,3308.cnf,如图:

CentOS7下RPM模式搭建MySQL5.7.28主从复制

好久不见. 提交于 2020-03-16 00:32:54
CentOS7下RPM模式搭建MySQL5.7.28主从复制 一、配置文件: 主库(192.168.128.111): [client] port=3306 socket=/approot/data/mysql/mysql.sock default-character-set=utf8 [mysql] port=3306 # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #Mysql服务的唯一编号 每个mysql服务Id需唯一 server-id=111 # 只能用IP地址检查客户端的登录,不用主机名 # skip_name_resolve=0 # 设置3306端口 port=3306 # 设置mysql数据库的数据的存放目录 #datadir=/var/lib/mysql #datadir=/approot/data/mysql/data datadir=/approot/data/mysql log-error=/var/log/mysqld.log #socket=/var/lib/mysql/mysql.sock socket=/approot/data/mysql/mysql.sock pid-file=/var/run/mysqld/mysqld.pid # 支持符号链接 symbolic-links=0 #

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

那年仲夏 提交于 2020-03-08 11:41:40
1.问题描述 当我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后或者其他原因导致MySQL无法同步了。 2.Slave两个关键进程 mysql replication 中slave机器上有两个关键的进程,死一个都不行,一个是 slave_sql_running ,一个是 Slave_IO_Running ,一个负责与主机的io通信,一个负责自己的slave mysql进程。 3.如果是Slave_SQL_Running:no: 解决办法如下: MariaDB [ ( none ) ] > stop slave ; MariaDB [ ( none ) ] > SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ; START SLAVE ; MariaDB [ ( none ) ] > start slave ; MariaDB [ ( none ) ] > show slave status \G 4.如果是slave_io_running:no 解决办法如下: 1、查看主服务器: MariaDB [ ( none ) ] > show master status \G 2、在从服务器上查看: 问题所在:发现Master_Log_File没有对应。 3、出现Slave_IO_Running: No的机器上操作: MariaDB [ (

mysql主从复制(一主一从)

百般思念 提交于 2020-03-01 21:11:03
概念         MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复制。 安装mysql(一主一从)   192.168.138.187  主机   192.168.138.188  丛机   步骤一:检查虚拟机中是否有mysql环境,并将其卸载,命令如下 rpm -qa | grep -i mysql          如果有使用【rpm -e --nodeps MySQL-client-5.5.44-1.linux2.6.x86_64】命令将其删除;      使用【find / -name mysql】命令查看是否有相关的mysql文件夹            有的话,使用【rm -rf 文件名】删除相关文件或文件夹          步骤二:在【/usr/local】目录下使用命令【mkdir mysql

Mysql主从配置,一主一从

十年热恋 提交于 2020-02-26 00:41:21
主库IP:192.168.1.156 Hostname:CNDB01 从库IP:192.168.1.157 Hostname:CNDB02 系统:Centos7.4 Mysql:Mariadb 5.7 1.安装: yum -y install mysql 2.配置主服务器mysql文件: #vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid [mysqld] server-id = 1 #主为1 log-bin = mysql-bin #开启二进制日志 skip-gran-tables #开启无密码登录,不启用会有可能连接不上 !includedir /etc/my.cnf.d 3.配置数据库参数,创建sync同步账户,并且授权slave权限 #systemctl start mysql #mysql -u root -p MySQL [(none)]> grant replication slave on . to 'sync'@'192.168.1.156' identified by

MySQL高可用之KeepAlived+双主

元气小坏坏 提交于 2020-02-25 23:36:25
MySQL高可用之KeepAlived双主 生产环境中一台mysql主机存在单点故障,所以要确保mysql的高可用性,即两台MySQL服务器。如果其中有一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 主要介绍利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样。 基本思路 两台MySQL互为主从关系,通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用。 环境 Mysql版本:mysql 5.7 Keepalived: keepalived-1.2.20 主机 操作系统 mysql-VIP IP地址 mysql-master01 CentOS 7 192.168.10.100 192.168.1.1 mysql-master02 CentOS 7 192.168.10.100 192.168.1.8 一、配置两台服务器主主同步 该过程的第一部分就是master记录二进制日志

MySQL高可用方案——双主

我的未来我决定 提交于 2020-02-05 18:06:21
MySQL的高可用方案有很多种,双主、MHA、MMM等等,这里只是写下最简单的双主这种高可用方案。 一、配置MySQL互为主从 1、环境准备 系统 IP 主机名 服务 Centos 7.5 192.168.20.2 mysql01 MySQL+keepalived Centos 7.5 192.168.20.3 mysql02 MySQL+keepalived 注:MySQL已部署完成,可参考博文 Centos部署MySQL 5.7 进行部署。 2、开启二进制日志及中继日志 #主机mysql01配置文件如下: [root@mysql01 ~]# cat /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 server_id=1 #server_id必须唯一 socket=/usr/local/mysql/mysql.sock log-error=/usr/local/mysql/data/mysqld.err log-bin=/usr/local/mysql/data/log_bin #指定二进制日志文件 relay-log=/usr/local/mysql/data/relay-bin #指定中继日志 relay-log-index=relay-bin

MySQL主

梦想与她 提交于 2020-01-31 17:42:26
1)、什么是MySQL主从复制 MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个MySQL数据库从节点。MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库。 2)、MySQL主从复制作用 一、数据热备 作为备数据库,当主数据库服务器发生故障后,可切换到从数据库继续工作,避免数据丢失。 二、读写分离 可支持MySQL数据库服务器支持更大的并发。数据读写操作可分配在不同的服务器间进行。如操作报表中尤其重要,由于部分报表SQL语句非常的慢,会导致锁表,影响前台服务。使用主从复制,前台使用master,负责写,报表使用slave,负责读,那么报表SQL将不会造成前台锁表,保证了前台正常运行。 三、架构扩展 随着业务量越来越大,I/O访问频率过高,单机可能无法满足。此时做多库的存储,如一主多从方式,以降低磁盘I/O访问,提高单个机器的I/O性能。 MySQL主从复制原理 MySQL数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master节点,数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信

MySql5.7-多源复制(多主单从)

天涯浪子 提交于 2020-01-29 16:24:49
1.1.主库配置 my.cnf #确保唯一 server-id=1 #作为Master要开启binlog log-bin=mysql-bin #binlog format有三种形式:Statement、Mixed、Row,默认设置为mixed binlog-format=mixed #需要同步的库,不指定默认同步全部库 binlog-do-db=radius #不需要同步的库 binlog-ignore-db=mysql binlog-ignore-db=information_schema binlog-ignore-db=performance_schema binlog-ignore-db=sys #这个比较重要,直接影响同步的性能 延时等问题.mysql5.7多源复制参数,5.7之前版本可不加 sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #GTID模式 gtid-mode=on enforce-gtid-consistency 1.2创建主库授权从库同步的用户 mysql> grant replication slave on *.* to 'slave'@'192.168.100.%'