mysql主从配置

MySQL的主从复制配置

允我心安 提交于 2020-01-01 02:46:28
1.准备两台数据库环境,或者单台多实例环境,能正常启动和登录。 数据库的安装和多实例配置请参考 https://www.cnblogs.com/qiuhom-1874/p/9757061.html 。 2.配置my.cnf文件 [root@qiuhom 3306]# egrep "log-bin|log_slave_update|server-id" ../3306/my.cnf log-bin = /mysql_multi_case/3306/mysqld-bin server-id = 1 [root@qiuhom 3306]# egrep "log-bin|log_slave_update|server-id" ../3307/my.cnf log-bin = /mysql_multi_case/3307/mysqld-bin log_slave_updates = 1 server-id = 2 [root@qiuhom 3306]# egrep "log-bin|log_slave_update|server-id" ../3308/my.cnf #log-bin = /mysql_multi_case/3308/mysqld-bin server-id = 3 主库配置log-bin和server-id参数,从库配置server-id,不能和主库相同以及其他从库相同

MySQL集群(二)之主主复制

被刻印的时光 ゝ 提交于 2020-01-01 02:45:21
前面介绍了主从复制,这一篇我将介绍的是主主复制,其实听名字就可以知道,主主复制其实就是两台服务器互为主节点与从节点。接下来我将详细的给大家介绍,怎么去配置主主复制! 一、主从复制中的问题 1.1、从节点占用了主节点的自增id   环境:     主节点:zyhserver1=1.0.0.3     从节点:udzyh1=1.0.0.5   第一步:我们在主节点中创建一个数据库db_love_1,在创建一个表tb_love(里面有id自增和name属性)。   create database db_love_1;   use db_love_1;   create table tb_love( id int primary key auto_increment, name varchar(30));   第二步:在主节点中添加一条数据,我们可以 在主从节点中都可以看到这条数据都有了 。   insert into tb_love(name)values('zhangsan');   第三步:如果我们在从节点中加入一条数据   insert into tb_love(name)values('lisi');     在从节点中: 在主节点中:     这是自然的因为我们是主从复制,只有主节点写的数据才能同步到从节点中,从节点中的数据是不能同步同主节点中的。因为从节点并没有二进制日志文件

mysql双机热备实现

与世无争的帅哥 提交于 2020-01-01 02:26:00
说明 机器A:(172.16.1.251),机器B:(172.16.1.252) 两台机器都创建数据库web: create database hello default charset utf8; 实现步骤 双向热备份:首先设置A上数据库为master,B上的备份数据库为slave;然后配置B上的数据库为master,A上数据库为slave (1)修改 A和B上的 配置文件my.cnf,加入以下内容 #机器A配置 server-id=7 # 主ID,与从ID不能相同 log-bin=mysql-0-bin #设定生成log文件名 binlog-do-db=web #设置同步数据库名 binlog- ignore-db=mysql #忽略同步mysql数据库 replicate-do-db=web # 两处web是一致的 replicate- ignore-db=mysql auto-increment-increment=10 # 插入id增长间隔 auto-increment-offset=1 #从1开始增长 #机器B配置 server-id=17 # 主ID,与从ID不能相同 log-bin=mysql-1-bin #设定生成log文件名 binlog-do-db=web #设置同步数据库名 binlog- ignore-db=mysql #忽略同步mysql数据库

高性能mysql主主架构

风流意气都作罢 提交于 2020-01-01 02:24:40
A、环境描述   服务器A(主) 192.168.0.105   服务器B(主) 192.168.0.108   Mysql版本: 5.6.21   System OS:CentOS release 6.5   主从需同步的数据库内容保持一致。  B、主主配置过程 (1)创建同步用户 在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICAITON SLAVE权限。 服务器A和服务器B互为主从,所以都要分别建立一个同步用户 mysql> grant replication client,replication slave on *.* to 'repluser'@'192.168.0.%' identified by '123456'; Query OK, 0 rows affected (0.22 sec) mysql> flush privileges; Query OK, 0 rows affected (0.24 sec) (2)修改mysql配置文件 服务器A [mysqld] server-id = 1 log-bin=mysql-bin-1 #binlog-do-db = test #需要同步的库 #binlog-ignore-db=mysql #忽略不同步的库 #主主需加入的部分 log-slave-updates sync_binlog=1 auto

mysql双机热备的实现

蹲街弑〆低调 提交于 2020-01-01 02:24:17
转: http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中。实现mysql数据库的热备份。 要想实现双机的热备,首先要了解主从数据库服务器的版本的需求。要实现热备mysql的版本都高于3.2。还有一个基本的原则就是作为从数据库的数据版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。 当然要实现mysql双机热备,除了mysql本身自带的REPLICATION功能可以实现外,也可以用Heartbeat这个开源软件来实现。不过本文主要还是讲如何用mysql自带的REPLICATION来实现mysql双机热备的功能。 1. 准备服务器 由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能高于从服务器版本。 本次我用于测试的两台服务器版本都是Mysql-5.5.17。 2. Mysql 建立主-从服务器双机热备配置步骤 2.1环境描述 A服务器(主服务器Master):59.151.15.36

mysql双机热备的实现

旧城冷巷雨未停 提交于 2020-01-01 02:23:15
转: http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中。实现mysql数据库的热备份。 要想实现双机的热备,首先要了解主从数据库服务器的版本的需求。要实现热备mysql的版本都高于3.2。还有一个基本的原则就是作为从数据库的数据版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。 当然要实现mysql双机热备,除了mysql本身自带的REPLICATION功能可以实现外,也可以用Heartbeat这个开源软件来实现。不过本文主要还是讲如何用mysql自带的REPLICATION来实现mysql双机热备的功能。 1. 准备服务器 由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能高于从服务器版本。 本次我用于测试的两台服务器版本都是Mysql-5.5.17。 2. Mysql 建立主-从服务器双机热备配置步骤 2.1环境描述 A服务器(主服务器Master):59.151.15.36

mysql主从复制搭建

帅比萌擦擦* 提交于 2020-01-01 02:20:08
MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。 下图就描述了一个多个数据库间主从复制与读写分离的模型(来源网络): 在一主多从的数据库体系中,多个从服务器采用异步的方式更新主数据库的变化,业务服务器在执行写或者相关修改数据库的操作是在主服务器上进行的,读操作则是在各从服务器上进行。如果配置了多个从服务器或者多个主服务器又涉及到相应的负载均衡问题,关于负载均衡具体的技术细节还没有研究过,今天就先简单的实现一主一从的主从复制功能。 Mysql主从复制的实现原理图大致如下(来源网络): MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复制。 实现MySQL主从复制需要进行的配置: 主服务器: 开启二进制日志

Docker Mysql主从同步配置搭建Demo

我与影子孤独终老i 提交于 2020-01-01 02:19:06
 进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: 1 --mysql 2 --master 3 --data 4 --conf 5 --my.cnf 6 --slaver 7 --data 8 --conf 9 --my.cnf View Code 1、主从配置文件 Master: my.cnf    1 [mysqld] 2 3 server_id = 1 4 5 log-bin= mysql-bin 6 7 read-only=0 8 9 binlog-do-db=blogging 10 11 replicate-ignore-db=mysql 12 13 replicate-ignore-db=sys 14 15 replicate-ignore-db=information_schema 16 17 replicate-ignore-db=performance_schema 18 19 20 21 !includedir /etc/mysql/conf.d/ 22 23 !includedir /etc/mysql/mysql.conf.d/ View Code Slaver: my.cnf 1 [mysqld] 2 3 server_id = 2 4 5 log-bin= mysql-bin 6 7 read-only=1

Linux系统 MySQL-5.6 主从

你说的曾经没有我的故事 提交于 2020-01-01 02:18:53
mysql数据库版本 1.选择 GA版本,稳定5.5或5.6并且在6个月以上 2.前后几个月无大bug修复或无大量bug修复版本 创建用户名 # groupadd mysql # useradd -r -g mysql mysql # mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql 数据库安装 # /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 拷贝文件 # cp -r /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf # cp -r /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld # cp -r /usr/local/mysql/bin/mysql /usr/bin/ 修改权限 # chown -R mysql.mysql /usr/local/mysql # mkdir /var/lib/mysql # chown -R mysql:mysql /var/lib/mysql #

【Keepalived+MySQL】MySQL双主互备+高可用

痴心易碎 提交于 2020-01-01 02:18:37
一、基本信息说明 【DB1】 IP: 192.168.102.144 hostname: LVS-Real1 【DB2】 IP: 192.168.102.145 hostname: LVS-Real2 【VIP】 IP: 192.168.102.146 二、MySQL配置主主互备 1.配置DB1和DB2的/etc/my.cnf 【DB1】 [root@LVS-Real1 ~]# more /etc/my.cnf [client] port = 3306 socket = /tmp/mysql.sock [mysqld] user=mysql port = 3306 server_id = 1 #需保证唯一性 socket=/tmp/mysql.sock basedir =/usr/local/mysql datadir =/usr/local/mysql/data pid-file=/usr/local/mysql/data/mysqld.pid log-error=/usr/local/mysql/log/mysql-error.log log-bin=mysql-bin #开启二进制日志 relay-log=mysql-relay-bin replicate-wild-ignore-table=mysql.% #忽略复制mysql数据库下的所有对象,以下依次类推