mysql主从配置

Mysql主从复制

£可爱£侵袭症+ 提交于 2020-02-02 04:47:52
1. 复制原理 master将改变记录到二进制日志(binary log),这个记录过程叫二进制日志事件(binary log events)。 slave将master的binary log events拷贝到它的中继日志(relay log)。 slave重做中继日志中的事件,将改变应用到自己的数据库中,Mysql复制是异步且串行化的。 2. 配置(基于mysql 8.x) 2.1 master配置文件修改 [mysqld] # 设置主机Id server-id=1 # 启用二进制日志 log-bin=E:\\Software\\mysql-8.0.19\\data\\logbin 2.2 slave配置文件修改 [mysqld] # 设置从机Id server-id=2 # 启用二进制日志 log-bin=/var/run/mysqld/logbin 2.3 具体操作 主机IP:192.168.1.104 从机IP:192.168.25.103 主节点创建用户并授权 create user 'repl' @' 192.168 .1 .104 ' identified with mysql_native_password by ' 123456 '; grant replication slave on *.* to ' repl '@' 192.168 .1 .104 ' ;

当删库时如何避免跑路

牧云@^-^@ 提交于 2020-02-01 22:00:22
延时节点解决方案 删库跑路也是个老梗了,可见在运维数据库的过程中误删除数据,或者开发的代码有bug,造成数据的误删除屡见不鲜。不过现在也有许多用于恢复或预防误删除的方案,例如SQL管理系统,将要执行的SQL先交由管理员审核,然后由管理员备份一个镜像数据库,在镜像上执行该SQL,并在执行后还原镜像。这样经过层层把关就可以大大减小出现误操作的几率。 另外,利用binlog日志也可以恢复误操作的数据,所以线上运行的数据库都会开启binlog日志功能。还有就是本小节要介绍的延时节点:在Replication集群中,可以设置一个延时节点,该节点的数据同步时间要慢于集群中的其他节点,当其他节点出现误操作后,若延时节点的数据还没有被影响就可以从延时节点进行恢复。 但如果现有的数据库组建的都是PXC集群,没有Replication集群可以采用该方案吗?也是可以的,PXC集群与Replication集群并非是互斥的,我们可以将PXC集群中的某个节点设置为Master,然后增加一个延时节点设置为Slave,让这两个节点构成Replication集群进行数据同步即可。如下所示: 本小节就简单演示一下如何搭建这种异构集群下的延时节点,我这里已经事先准备好了一个PXC集群和一个用作延时节点的数据库: 这里使用PXC集群中的 PXC-Node3 作为Master,让其与 DelayNode 组成主从,而

开启MySQL的binlog日志

青春壹個敷衍的年華 提交于 2020-02-01 02:24:59
在my.inf主配置文件中直接添加三行 log_bin=ON log_bin_basename=/var/lib/mysql/mysql-bin log_bin_index=/var/lib/mysql/mysql-bin.index 三个参数来指定, 第一个参数是打开binlog日志 第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件 第三个参数指定的是binlog文件的索引文件,这个文件管理了所有的binlog文件的目录 当然也有一种简单的配置,一个参数就可以搞定 log-bin=/var/lib/mysql/mysql-bin 这一个参数的作用和上面三个的作用是相同的,mysql会根据这个配置自动设置log_bin为on状态,自动设置log_bin_index文件为你指定的文件名后跟.index 5.7及以上版本加上 server-id=123454 随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了 有了上述的配置之后,我们就可以重新启动我们的mysql了 service mysqld restart 启动成功之后,我们可以登陆查看 我们的配置是否起作用 show variables like '%log_bin%' binlog有两大作用,一个是使用binlog恢复数据,另一个就是用来做主从复制。 来源: CSDN

搭建mysql主从复制

落花浮王杯 提交于 2020-02-01 01:54:51
1、准备两台机器 两台linux虚拟机,安装好mysql数据库。主从复制原理:从机通过读取主机的binlog日志写入自身的中继日志来实现同步。 ps :不建议安装好一台mysql后,复制到另一台,会出现mysql的server-uuid=06905c59-2d3b-11ea-8f21-000c29942721一致导致主从复制失败。 vim data / auto . cnf 2、主机配置 my.cnf配置 port=3306 default - time_zone= '+8:00' sql_mode=NO_ENGINE_SUBSTITUTION , STRICT_TRANS_TABLES basedir= / usr / local / mysql - 5 . 6 . 46 datadir= / usr / local / mysql - 5 . 6 . 46 / data log - error= / usr / local / mysql - 5 . 6 . 46 / log / error . log server - id=1 #binlog日志格式,mysql默认采用statement,建议使用mixed binlog_format=statement ##binlog日志文件 log - bin= / usr / local / mysql - 5 . 6 . 46 /

centos7用docker安装mysql5.7.24后配置主从

痞子三分冷 提交于 2020-01-31 22:24:48
1)使用docker安装完成mysql5.7.24,我规划的是3台: 192.168.0.170(Master) 192.168.0.169(Slave) 192.168.0.168(Slave) 2)配置三台机器的my.cnf配置文件 我三台机器的配置文件都是/usr/local/mysql/conf/my.cnf 3)设置三台主从服务器配置 vi /usr/local/mysql/conf/my.cnf [mysql] default-character-set=utf8 [mysqld] interactive_timeout = 120 wait_timeout = 120 max_allowed_packet = 32M log-bin=mysql-bin server-id=170 character-set-server=utf8 vi /usr/local/mysql/conf/my.cnf [mysql] default-character-set=utf8 [mysqld] interactive_timeout = 120 wait_timeout = 120 max_allowed_packet = 32M log-bin=mysql-bin server-id=169 character-set-server=utf8 vi /usr/local

MMM高可用实验

最后都变了- 提交于 2020-01-31 22:16:36
1 环境: 1.1 OS and MYSQL verson: [root@mysql01 ~]# uname -a Linux mysql01 3.10.0-327.18.2.el7.x86_64 #1 SMP Thu May 12 11:03:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@mysql01 ~]# /opt/mysql7/bin/mysql --version /opt/mysql7/bin/mysql Ver 14.14 Distrib 5.7.28, for el7 (x86_64) using EditLine wrapper 1.2 IP 规划: 192.168.1.201 mysql01 #master1 192.168.1.202 mysql02 #master2 192.168.1.247 slave1 #slave 192.168.1.243 monitor #monitor 2 MySQL安装: #在所有SERVER上安装MYSQL #准备my.cnf, 注意所有SERVER的my.cnf中,server-id要不同 # cat my.cnf [client] default-character-set = utf8 port = 3309 socket = /data/57.3309/mysql

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线程与主服务器保持通信

mysql配置主从架构步骤

血红的双手。 提交于 2020-01-29 16:26:07
1、安装数据库服务(安装mysql),创建需要同步的数据库(management) 2、修改主服务器的配置文件,设定同步数据库和不同步数据库,修改后需重启(/etc/my.cnf) 在[mysqld]下添加如下配置: server-id = 100 #100表示主服务器 log-bin = mysql-bin #启用MySQL二进制日志系统 binlog_do_db = management #指定需要同步的数据库 binlog_ignore_db = mysql #无需同步的数据库 binlog_ignore_db = information_schema #无需同步的数据库 3、创建主从同步账户,授权 4、记录Mysql二进制文件的file和position值 5、添加从数据库的配置(/etc/my.cnf) server-id=1000#最好和主服务器的id号差距大点 log-bin=mysql-bin #启用MySQL二进制日志系统 read_only=1 #设定从服务器只读 log_slave_updates=1 #如果数据库作为其他数据库的从库,那么从主库复制数据时,将写入日志 6、在从库设定指向主库的配置 change master to master_host='192.168.100.20',master_user='slave',master_password=

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.%'

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

非 Y 不嫁゛ 提交于 2020-01-29 16:24:29
原文: MySql5.7-多源复制(多主单从) 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