记录一下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 ...
随机推荐
- FFT常数优化(共轭优化)
最近闲着无聊研究了下\(FFT\)的常数优化,大概就是各种\(3\)次变\(2or1.5\)次之类的,不过没见过啥题卡这个的吧. 关于\(FFT\)可以看这里:浅谈FFT&NTT. 关于复数 ...
- 使用Java连接HBASE过程中问题总结
本文是我个人在连接服务器的HBASE过程的一些问题总结. 一.用户和主机名的设置 1.1 报错:Insufficient permissions(user=Administartor) 原因:本地ho ...
- 【bzoj4804】欧拉心算 解题报告
[bzoj4804]欧拉心算 Description 给出一个数字\(N\),计算 \[\sum_{i=1}^n\sum_{j=1}^n \varphi(\gcd(i,j))\] Input 第一行为 ...
- HDU.2147 kiki's game (博弈论 PN分析)
HDU.2147 kiki's game (博弈论 PN分析) 题意分析 简单的PN分析 博弈论快速入门 代码总览 #include <bits/stdc++.h> using names ...
- 滴滴打车CTO张博:生死战役,技术和时间赛跑
三款产品背后的架构变迁 滴滴打车成立初衷是为了解决司机与乘客之间的信息不对称的问题,通过移动互联网和智能手机来打破信息的壁垒.从打车到专车再到顺风车,滴滴打车三款产品的背后是架构的挑战和系统的变迁. ...
- 解题:NOI 2014 购票
题面 观察一下部分分,我们发现链上的部分分是这样一个DP: $dp[i]=min(dp[i],dp[j]+dis(i,j)*p[i]+q[i])(dis(i,j)<=lim[i]\&\& ...
- bzoj 1539: [POI2005]Dwu-Double-row
假设一列交换表示为1,不换表示为0. 身高相同的两个人相当于给其中两列了一个限制条件,要么是两个必须相等,要么一个为零一个为一. 有了关系后我们就可以把每列当成一个点建边,边权为0表示必须相同,1为必 ...
- Python常见初级错误
一.常见错误(编辑器:Geany) 1.错误原因:或因不兼容中文注释 2.错误原因:vehicles变量前面有多余的空格 3.错误原因:没有正确的缩进(indent)
- python的filter函数的使用方法详解以及使用案例,是否以什么结尾,是否大于什么(判断是True,则留下来)
1.总共有3个人看电影,有2个人看电影经常说话,我们把他们两个过滤出去 move_people=["gouguoqi","beiye_sb","xiu ...
- html5 +css3 点击后水波纹扩散效果 兼容移动端
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...