记录一下mariadb设置主从同步的过程[虚拟机测试]
背景:因为工作的关系,需要找寻实时同步数据到另外系统的服务器的数据库上,查询下来,用mariadb进行跨服务器的同步数据动作,用主从同步比较多,也比较保险
也有使用shell脚本的,定时定候的执行mysqldump的shell脚本,但是如果crontab坏掉了,或是被取消,甚至时间被更改,数据库被改动密码等等,就需要做更多的异动,
但是shell脚本还是on the table的,可以深刻的考虑一下。
下面呢,就开始这次主从同步的设置经验。
前置准备:
先要将需要同步的表格数据利用mysqldump做一个同步,再进行接下来的主从同步是能够保证新增的users能够实时的跑到另外一个服务器上去
同步命令:
(主)==> 导出数据:
mysqldump -uroot -pPassword database table > 1.sql
(从)==> 导入数据:
mysql -uroot -pPassword database < 1.sql
一、机器简介
主:192.168,60,130
从:192.168.60.129
OS版本:CentOS 7.4
mariaDB版本:5.5
二、配置主服务器
1)修改主服务器的mariadb配置文件
打开mariadb的配置文件/etc/my.cnf,在[mysqld]节点下添加如下的内容:
#表示主服务器
server-id = 1
#记录日志
log-bin=mysql-bin01
#提供数据同步服务的数据库,在此数据库下的数据可同步到从服务器中
binlog-do-db=#这里需要备份什么数据库就写什么数据库的名称
#设置在主服务器上不记录日志的数据库
binlog-ignore-db=mysql
#日志过期时间
expire_logs_days=10
注意: 如果配置文件已经存在了上述的项目,覆盖原有的即可
这里需要重启一下主服务器的数据库 ==> systemctl restart mariadb,要不然配置文件的修改不生效,无法继续下面的操作
2)查看主服务器的状态
此步骤要打开数据库命令行,输入命令:
MariaDB [mysql]> show master status;
+--------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mysql-bin01.000004 | 1243 | tcloud | mysql |
+--------------------+----------+--------------+------------------+
这部分需要记住File和Position的值,到之后的配置需要使用
3)查看log_bin的状态
数据库命令行中,输入命令:
MariaDB [mysql]> show variables like "%log_bin%";
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | ON |
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
此部分如果log_bin是ON,即表示正常开启。
4)创建主服务器用户及权限(专门为从服务器连接创建一个用户,和分配一个权限)
MariaDB [mysql] > grant replication slave on *.* to 'mysql'@'192.168.60.129' identified by '123456'; #解释: 这里是创建了一个mysql的用户,密码为123456,连接本机的数据库地址为从服务器的IP,即只允许该用户拥有从服务器的IP访问数据库并备份表的权限
这里还要注意一点:replication 属于grant权限,后面只能用*.*,不能指定某个数据库或者某个数据表,如果指定类似select等普通权限可具体到数据表。
5) 重启主服务器的mariadb
三、配置从服务器
1) 修改配置文件
打开配置文件/etc/my.cnf,在[mysqld]节点下增加如下内容:
#表示从服务器
server-id=2
#记录日志
log-bin=mysql-bin02
#同步的数据库
replicate-do-db=#要同步的数据库
#同步的数据库指定表
replicate-do-db=#要同步的表
#不记录日志的数据库
replicate-ignore-db=mysql
#日志过期时间
expire_logs_days=10
2) 打开命令行,执行一下命令,来设置master信息
change master to
master_host='192.168.60.130',#主服务器地址
master_user='mysql',#主服务器数据库用户名
master_password='123456',#主服务器数据库密码
master_log_file='mysql-bin01.000004', #填写步骤2(2)中File项的值
master_log_pos=1243; #填写步骤2(2)中Position的值
3) 重启从服务器mariadb
4) 执行启动从服务器命令(在从服务器数据库命令行进行)
MariaDB [mysql] > start slave;
5) 查看slave的运行状态命令
MariaDB [mysql] > start slave;
查看User值为system user的项,如果其State值为“Waiting for master to send event”和”Slave has read all relay log: waiting for the slave I/O thread to update it“,则从服务器已连接主服务器。
6) 查看slave运行状态
MariaDB [mysql] > show slave status;
如果Slave_IO_Running的值为Yes,Slave_SQL_Running的值为Yes,则从服务器正常运行。如果不正确,查看错误日志,一般位于data目录下。
四、测试
从服务器数据库中新建数据库pension,主服务器中新建表并插入数据,查看从服务器数据库,是否存在相同的数据库表及数据。
PS:
如果以上的修改没有正常,并且在中间出现的配置文件配置的问题,则需要先在从服务器的mariadb命令行里先stop slave,然后再修改其他的问题
修改完成后,去查看一下主服务器的状态是否已经改变 show master status(重点关注File和Position参数)
如果改变了要重新记下来,然后在slave的服务器上再次执行change master to .... ==> start slave (这样的过程)
记录一下mariadb设置主从同步的过程[虚拟机测试]的更多相关文章
- MySQL数据库主从同步实战过程
Linux系统MySQL数据库主从同步实战过程 安装环境说明 系统环境: [root@~]# cat /etc/redhat-release CentOS release 6.5 (Final) ...
- centos 6.5 中设置mysql 5.1.73 主从同步配置过程
本文章给大家介绍centos 6.5设置mysql主从同步过程记录,希望文章对各位会带来帮助. 涉及到的centos系统均为虚拟机,VM下安装的版本. 在centos 6.5上设置了mysql主从功 ...
- MySQL Replication 详解MySQL数据库设置主从同步的方法
MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的IO线程从主服务器(binl ...
- MySQL数据库设置主从同步
MySQL主从同步的机制: MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的I ...
- Linux 安装mysql,mariadb,mysql主从同步
myariadb安装 centos7 mariadb的学习 在企业里面,多半不会使用阿里云的mariadb版本,因为版本太低,安全性太低,公司会配置myariadb官方的yum仓库 1.手动创建mar ...
- mariadb配置主从同步遇到的问题
一:ERROR: No query specified 解决方案: \G后面不能再加分号;,因为\G在功能上等同于;,如果加了分号,那么就是;;(2个分号),SQL语法错误 二:主从同步不成功 Sla ...
- mysql设置主从同步
1.主从同步定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复制是异步进行的,所以从服 ...
- 搭建 mariadb 数据库主从同步
一.主(master)数据库配置 1. my.cnf 添加配置 [mariadb] log-bin server_id=1 log-basename=master1 binlog-format=mix ...
- 主从同步工作过程?(binlog日志)
在从数据库服务器的/var/lib/mysql/master.info 记录连接主数据库服务器信息文件mail-relay-bin.XXXXXX 中继日志文件(记录SQL)mail-relay ...
随机推荐
- 【BZOJ3622】已经没有什么好害怕的了(动态规划,容斥)
[BZOJ3622]已经没有什么好害怕的了(动态规划,容斥) 题面 BZOJ 题解 很明显的,这类问题是要从至少变成恰好的过程,直接容斥即可. 首先我们要求的是(糖果>药片)=(药片>糖果 ...
- java多线程 -- ReadWriteLock 读写锁
写一条线程,读多条线程能够提升效率. 写写/读写 需要“互斥”;读读 不需要互斥. ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作.只要没有 writer,读取锁 ...
- 用ladon框架封装Python为Webservice接口以及调用接口的方法
一.用ladon框架封装Python为Webservice接口 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json ...
- Tcp协议三次握手四次挥手
一.什么是TCP TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的.可靠的. 基于IP的传输层协议.TCP在IP报文的协议号是6. 二.什 ...
- 线性判别分析 LDA
点到判决面的距离 点\(x_0\)到决策面\(g(x)= w^Tx+w_0\)的距离:\(r={g(x)\over \|w\|}\) 广义线性判别函数 因任何非线性函数都可以通过级数展开转化为多项式函 ...
- git的一些常见问题
from:http://hi.baidu.com/mvp_xuan/blog/item/2ba062d8cd2c9fc939012fae.html 关于linux上建库等操作请看文章: http:// ...
- 关于NaN
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python 分布式进程体验
抽了点时间体验了一把python 分布式进程,有点像分布式计算的意思,不过我现在还没有这个需求,先把简单体验的脚本发出来,供路过的各位高手指教 注:需要先下载multiprocessing 的pyth ...
- Swift控制手电筒操作(iOS)
手电筒是iphone的一个常用功能,最常用的操作就是turn on和turn off,下面我们来实现一个简单的手电筒操作程序:一个按钮来控制iphone手电筒的On和Off,并且按钮的text也做相应 ...
- 即时新闻展示插件jQuery News Ticker,超级简单!
有时候我们为了节省页面空间,会在页面明显处放一小条,用来展示比较重要的即时新闻,一般以轮播的形式出现.今天要介绍的jQuery News Ticker插件就是用来实现这个即时新闻展示功能的,效果图如下 ...