linux下mysql数据库单向同步配置方法分享

又叫做主从复制,是通过二进制日志文件完成的,注意:mysql 数据库的版本,两个数据库版本要相同

系统环境:
主服务器master IP: 192.168.0.88
从服务器slave IP: 192.168.0.99

单向同步
注意要点
1、只需要把需要同步的数据库备份传到从数据库上,其它任何东西都不需要
2、在从库上还原数据库时,一定先要建了同名数据库,否则还原会提示错误
3、在制定更新点时,一定要在同步进程还没启动前操作

主服务器上配置

对my.cnf进行修改需要重启动数据库设置才会生效,如果不想对指定数据库同步进行限制,直接跳过这步





[root@kt /]# service mysqld stop

停止Mysql服务

[root@kt /]# vim /etc/my.cnf

编辑Mysql配置文件添加下面字段,注意:这两个字段默认没有自己在server-id字段下面添加就可以了








binlog-do-db     = kangte  

二进制需要同步的kangte数据库

binlog-ignore-db = mysql    

二进制不想同步的MySQL数据库





[root@kt /]# service mysqld start

启动主服务器

建立远程同步用户

mysql> grant replication slave,replication client,reload,super on *.* to 'kt'@'192.168.0.99' identified by '123456'with grant option;








mysql> flush privileges;

更新数据库让用户生效

[root@zzh /]# mysql -h 192.168.0.88 -u kt -p

在备份服务器上测试一下建的用户是否可以登陆








mysql> flush tables with read lock;

设置读锁

mysql> show master status;

查看当前二进制日志名和偏移量值,从库按这个点开始进行数据恢复

查看结果如下:

+------------------+----------+--------------+------------------+

| File                 Position    Binlog_Do_DB  Binlog_Ignore_DB    |

+------------------+----------+--------------+------------------+

| mysql-bin.000006       656                                     |

+------------------+----------+--------------+------------------+











[root@zzh /]# mysqldump -u root -p kangte > /kangte.sql

备份指定数据库,也可以直接用物理备份

mysql> unlock tables;

解除读锁

[root@zzh /]# scp /kangte.sql root@192.168.0.99:/

把备份传到从数据库服务器



备份服务器配置

注意:如果数据库有相同的数据库把之前的库删除





[root@zzh /]# service mysqld stop

停止Mysql服务

[root@zzh /]# vim /etc/my.cnf

编辑Mysql配置文件添加下面字段,注意:这些字段默认没有自己在server-id字段下面添加就可以了


























server-id               = 2

注意:去掉注释,并把上面的server-id=1屏蔽

master-host =192.168.0.88

指定主服务器IP地址

master-user = kt

制定在主服务器上可以进行同步的用户名

master-password = 123456

密码

master-port = 3306

同步所用的端口

master-connect-retry = 60

断点重新连接时间

replicate-do-db = kangte

二进制需要同步的kangte数据库

replicate-ignore-db = mysql

二进制不想同步的MySQL数据库

启动从服务器

[root@zzh /]# /usr/local/mysql/bin/mysqld_safe --skip-slave-start &





--skip-slave-start

启动从数据库,不立即启动从数据库服务上的复制进程








mysql> create database kangte;

注意:一定要先创建kangte库否则还原不了

[root@zzh /]# mysql -u root -p kangte < /kangte.sql

恢复数据库

指定更新点(注意:执行下面指定更新点时,一定要在同步进程没有启动时才可以操作)

mysql> CHANGE MASTER TO

-> MASTER_LOG_FILE='mysql-bin.000006',        #在主服务器上查的二进制日志名

-> MASTER_LOG_POS=656;                        #在主服务器上查的偏移量值





mysql> start slave;

启动同步进程

检查同步连接性

mysql> show slave status\G;








Slave_IO_Running   : Yes

网络连接正常

Slave_SQL_Running: Yes

数据库结构正常



MySQL单向同步实现 命令行操作

实例主机:
dbasky=192.168.1.120
dbaskyback=192.168.1.121

目的:dbaskyback的主机去同步dbasky主机test库上的数据

安装mysql
[root@dbasky]#wget ftp://ftp.cronyx.ru/pub/FreeBSD/ports/distfiles/mysql-5.0.45.tar.gz
[root@dbasky]#cd /usr/local/mysql-5.0.45
[root@dbasky]#groupadd mysql
[root@dbasky]#useradd -g mysql mysql
[root@dbasky]#mkdir /opt/mysql-data
[root@dbasky]#CFLAGS="-O3 " CXX=gcc CXXFLAGS="-O3 -felide-constructors
-fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-charset=utf8 --with-extra-charsets=gbk,gb2312,latin1 --localstatedir=/opt/mysql-data --with-mysqld-user=mysql --enable-large-files --with-big-tables --without-debug --enable-thread-safe-client --with-fast-mutexes --with-innodb
[root@dbasky]#make
[root@dbasky]#make install
[root@dbasky]#cd /etc
[root@dbasky]#rz my.cnf
[root@dbasky]#chown -R mysql .
[root@dbasky]#chgrp -R mysql .
[root@dbasky]#chown -R mysql /opt/mysql-data
[root@dbasky]#chgrp -R mysql /opt/mysql-data
[root@dbasky]#bin/mysql_install_db --user=mysql
[root@dbasky]#chown -R root .
[root@dbasky]#bin/mysqld_safe --user=mysql &
[root@dbasky]#cd /usr/local/mysql
[root@dbasky]#echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
[root@dbasky]#echo "export PATH" >> /etc/profile
[root@dbasky]#echo "alias vi="vim"" >> /etc/profile
[root@dbasky]#echo "/usr/local/mysql/lib/mysql" > /etc/ld.so.conf.d/mysql.conf

在dbasky机器上
建立用户
mysql>create database test;
mysql>grant all on *.* to xu@192.168.1.121 identified by 123456;

[root@dbasky]#vi /etc/my.cnf
server-id=1 #为master
log-bin=/var/log/mysql/mysql.log
添加
binlog-do-db=test #要同步的数据库名字

重新启动mysql
用 mysql>show master status 查看

在dbaskyback机器上
dbaskyback#vi /etc/my.cnf
  server-id=2 #为slave
  master-host=192.168.1.120
  master-user=xu
  master-password=123456
  master-port=3306
  master-connect-retry=60 #间隔60秒重新设置
  replicate-do-db=test

用mysql>show slave status 看同步情况,如果有错误也可以看得出来.

(0)

相关推荐

  • linux下mysql数据库单向同步配置方法分享

    又叫做主从复制,是通过二进制日志文件完成的,注意:mysql 数据库的版本,两个数据库版本要相同 系统环境: 主服务器master IP: 192.168.0.88 从服务器slave IP: 192.168.0.99 单向同步 注意要点 1.只需要把需要同步的数据库备份传到从数据库上,其它任何东西都不需要 2.在从库上还原数据库时,一定先要建了同名数据库,否则还原会提示错误 3.在制定更新点时,一定要在同步进程还没启动前操作 主服务器上配置 对my.cnf进行修改需要重启动数据库设置才会生效,

  • linux下mysql数据库的操作的方法

    ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的配置,那么当然源码安装的灵活性要高一些. 但是这种安装方式需要管理员自己处理好于系统的依赖关系. 而rpm安装是已经经过编译的二进制文件,然而这种方式仍然对于处理依赖关系很麻烦,于是 产生了一种基于rpm包的前端管理软件yum,yum可以从特点的镜像源下载rpm包并进行自动安装,配置和移除以及在线更新. 而作为linux新手,又是centos用户.我当然选择yum安装. 一般情况下cento

  • mysql数据库互为主从配置方法分享

    mysql主从配置小记: 共有四台机器:A(10.1.10.28),B(10.1.10.29),C(10.1.10.30),D(10.1.10.31). 配置后结果:A-C互为主从,B为A的slave,D为C的slave. 0)准备工作 在四台机器上面安装好mysql后,创建用于同步的账号. 添加账户: 复制代码 代码如下: INSERT INTO user (Host,User, Password,Select_priv,Insert_priv,Update_priv,Delete_priv,

  • Linux下MySQL数据库的主从同步复制配置

    Linux下MySQL数据库的主从同步配置的好处是可以把这个方式当做是一个备份的方法,用来实现读写分离,缓解一个数据库的压力.让运行海量数据的时候无论是从速度还是效率上都大大提高,Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务.这个就是MySQL主从备份原理.下面我们来看下具体同步配置的流程. 我们先来看下小编测试的环境: CentOS 6.5 MySQL主从同步,MySQL版本5.6.25 主服务器:cent

  • 深入解析Linux下MySQL数据库的备份与还原

    深入解析Linux下MySQL数据库的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可. 2. 还原法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>&

  • Linux下Docker及portainer相关配置方法

    一.安装使用Docer CE 本文以CentOS 7为例,安装docker CE版本,docker有两种版本,社区版本CE和企业版本EE,此处学习研究以CE版本为例, 两种安装方式可选:1.使用yum安装,2.使用脚本自动安装 系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定. 卸载旧版本 旧版本的 Do

  • Linux下mysql数据库的创建导入导出 及一些基本指令

    首先linux 下查看mysql相关目录 查看 mysql 的安装路径 执行查询 SQL mysql>show variables like '%dir%'; datadir 就是数据路径 确定了运行路径,执行导入.导出mysql数据库命令 一.导出数据库用mysqldump命令 (注意:先cd到mysql的运行路径下,再执行一下命令): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql 注意 我的服务器配置权限特殊 因此需要用 muysqldu

  • mysql数据库 主从复制的配置方法

    MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维 护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那 时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 为什么使用主从复制? 1.主服务器/从服务器设置增加了健壮性.主服务器出现问题时,你可以切换到从服务器作为备份. 2.通过在主服务器和从服务器之间切分处理

  • win7下MySql 5.7安装配置方法图文教程

    上学的时候经常使用MySql,当时也没想其他,主要是MySql对电脑的要求比较低,负载比较小.工作后一直在使用Oracle,现在因为项目的需要,重新安装MySql,发现变化有点多. 本经验适用于安装MySql最新版本数据库. 具体实现步骤: 下载MySql,作者通过度娘搜索MySql,找到文件mysql-installer-community-5.7.3.0-m13.2063434697.msi,虽然这一个文件比较大,但是不用我们可以的区分64位还是32位,如图 双击安装包,会出现安装前准备,当

  • Linux下mysql异地自动备份的方法

    前言: 基本上不管是对于我们自己使用,还是给客户部署服务器,,mysql备份都是必不可少的一部分,这里给大家分享一下我是如何实现linux上做异地自动备份的. mysql_backup.sh 用于备份数据 mysql_restore.sh 用于恢复数据 remove_backup.sh 用于删除一段时间以前的备份文件 一.数据备份准备 1.1创建备份目录 注:这里我是吧备份文件放在/data/backup/mysql下面,把脚本放在 /data/backup 下面 些创建一个文件夹(如果创建过请

随机推荐