mysql主从复制之同步部分库表
这里以mariadb为例,和mysql一样的配置
系统:centos7
主服务器:192.168.0.1:3305(两台服务器都做过时间同步)
从服务器:192.168.0.2:3306(两台服务器都做过时间同步)
同步的库表:testadmin库下的user表和order表
*安装mariadb
#卸载旧数据库
yum remove mysql mysql-server mysql-libs compat-mysql51
#添加mariadb源
vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.1/centos7-amd64/
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
#安装mariadb
yum -y install MariaDB-server MariaDB-client
#启动
systemctl start mariadb
*设置数据库密码和远程登录
#root密码为123456
mysqladmin -u root password 123456
#设置远程登录
mysql -uroot -p123456
>grant all on *.* to root@'%' identified by '' with grant option;
>flush privileges;
*主服务器(192.168.0.1)
[mysqld]
port=3305 #这里的端口如果不是默认的3306,那么在从服务器上执行的命令就会加上master_port=3305
bind-address=0.0.0.0
server-id=1 #设置优先级,主必须小于从
log-bin=mysql-bin
log-slave-updates=true
#重启
systemctl restart mariadb
#配置连接从服务器,连接的用户是test,密码为123
mysql -uroot -p123456
>grant replication client,replication slave on *.* to test@'192.168.0.2' identified by ''; #这里地址可以写成192.168.0.%,表示这个网段的从数据库都可以连接到
>flush privileges;
>show master status; #记下file和Position,下面从服务器配置需要,例如mysql-bin.000006 600
*从服务器(192.168.0.2)
[mysqld]
bind-address=0.0.0.0
server-id=2
relay-log=relay-bin
#需要同步的表
replicate-wild-do-table = testadmin.user
replicate-wild-do-table = testadmin.order
#重启
systemctl restart mariadb
#配置连接主服务器
mysql -uroot -p123456
>change master to master_host='192.168.0.1',master_user='test',master_password='',master_port=3305,MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=600; #一般默认是3306,可以不写这个端口配置,只是遇到特殊情况就需要加上master_port
>flush privileges;
*验证
#从服务器上
mysql -uroot -p123456
>start slave; #若要重新设置连接,必须要先停掉stop slave
>show slave status \G;
.
.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
.
.
#表示连接成功
#然后再到主数据库指定库里操作指定表,从数据库上的表也会跟着改变,但是如果修改其他未指定的库或者表,从数据库上并不会同步修改,当然,如果是直接在从数据库上修改任何表,主数据库并不会有任何变化
*其他操作
#如果同步出现某个错误,但是想要忽略当前这个错误,那么执行
stop slave;
set global sql_slave_skip_counter=;
start slave; #如果想要一直忽略某种错误,就更新这样的配置并重启
[mysqld]
slave_skip_errors = ,, #表示忽略code为1062、1032和1049的错误
mysql主从复制之同步部分库表的更多相关文章
- mysql主从只同步部分库或表
同步部分数据有两个思路,1.master只发送需要的:2.slave只接收想要的. master端: binlog-do-db 二进制日志记录的数据库(多数据库用逗号,隔开)binlog-i ...
- MySQL系列详解六:MySQL主从复制/半同步演示-技术流ken
前言 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时数据库集群就很好的解决了这个问题了.采用MySQL分布式集群,能够搭建一个高并发.负载均衡的集群服务器.在 ...
- Linux下 MYSQL 主从复制、同步
mysql从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式(A->B),互相备份模式(A<=>B)的功能. 主从模式(A->B)的配置过程 ...
- MySQL主从复制半同步复制原理及搭建
在MySQL5.5之前的版本中,MySQL的复制是异步复制,主库和从库的数据之间存在一定的延迟,比如网络故障等各种原因,这样子容易存在隐患就是:当在主库写入一个事务成功后并提交了,但是由于从库延迟没有 ...
- MySQL 手动主从同步不锁表
有时候MySQL主从同步不一致比较严重的时候,需要手动同步. 然而网上看大很多需要锁表的同步的方法基本如下 1.先对主库锁表 FLUSH TABLES WITH READ LOCK; 2.备份数据 m ...
- Mysql-5.5版本搭建实例的部分库的从库
由于业务需要在Mysql实例中创建部分库的从库,已有的Mysql实例的版本是mysql-5.5.49,是一个非常老的版本. 本文档涉及到服务器中运行多实例和构建实例中部分库的从库. 服务器 mysql ...
- 重新学习Mysql数据13:Mysql主从复制,读写分离,分表分库策略与实践
一.MySQL扩展具体的实现方式 随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量. 关于数据库的扩展主要包括:业务拆分.主从复制.读写分离.数据库分库 ...
- MySQL主从复制&读写分离&分库分表
MySQL主从复制 MySQL的主从复制只能保证主机对外提供服务,从机是不提供服务的,只是在后台为主机进行备份数据 首先我们说说主从复制的原理,这个是必须要理解的玩意儿: 理解: MySQL之间的数据 ...
- mysql主从读写分离,分库分表
1.分表 当项目上线后,数据将会几何级的增长,当数据很多的时候,读取性能将会下降,更新表数据的时候也需要更新索引,所以我们需要分表,当数据量再大的时候就需要分库了. a.水平拆分:数据分成多个表 b. ...
随机推荐
- 记一次肉机事件--yam
背景: 研发同事反应他自己的测试机器,有一个yum程序占用cpu很多,接近100%,然后他就将这个程序kill了.我一看他给我发的截图,原来不是“yum”,而是“yam”,第一反应就是让人当肉机了.上 ...
- SSH不允许Root登陆的方法
不允许Root登陆的方法如下: vim /etc/ssh/sshd_config 把PermitRootLogin yes 改成: PermitRootLogin no 然后重启sshd服务: Ser ...
- File:isctype.c Line 68
刚接触DSP,拿来别人的代码,编译时,发现如下错误: 百思不得琪姐,一番调查之后,发现自己的工程worksapce中有中文路径,怎一个fuck了得.
- spring下,druid,c3p0,proxool,dbcp四个数据连接池的使用和配置
由于那天Oracle的数据连接是只能使用dbcp的数据库连接池才连接上了,所以决定试一下当下所有得数据库连接池连接orcale和mysql,先上代码 配置文件的代码 #================ ...
- 【转】 Pro Android学习笔记(二八):用户界面和控制(16):GridLayout
网格布局:GridLayout 我个人觉得GridLayout的设计还不很完善,每个网格的大小,由填充的cell决定,即默认是wrap很容易整个GridLayout超出屏幕.下面是一个例子: < ...
- 转载:oracle用户创建及权限设置
权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...
- delphi 线程教学第一节:初识多线程
第一节:初识多线程 1.为什么要学习多线程编程? 多线程(多个线程同时运行)编程,亦可称之为异步编程. 有了多线程,主界面才不会因为耗时代码而造成“假死“状态. 有了多线程,才能使多个任务同时 ...
- js中Math.round、parseInt、Math.floor和Math.ceil小数取整总结(转)
js中Math.round.parseInt.Math.floor和Math.ceil小数取整总结 Math.round.parseInt.Math.floor和Math.ceil 都可以返回一个整数 ...
- Java解析XML:Jdom解析和SAX解析
今天看了Java解析XML的几种方法,记录一下 1.Jdom解析 (1)读取XML内容 private static void readXML() { // TODO Auto-generated m ...
- Jmeter分布式测试需要注意事项
Jmeter分布式测试需要注意事项: 1. 如果脚本中有用到CSV Data Set Config,则所有的模拟机都必须在相应的目录下存在该文件.如下图,则必须所有模拟机的F盘下都有user.txt文 ...