linux mysql停止主从_MySQL主从复制

主在执行sql语句后,记录一个二进制log文件(bin-log),从连接主,并获取到bin-log,存在到本地的relay-log上,并从上一次记录的位置执行sql,当遇到错误则停止同步。

PS:主从并不是实时同步,存在瞬间连接;当在网络断开后,正常后批量同步;修改从上的数据容易导致主上的bin-log错误而停止同步,所以从上的数据注意修改。

一,主从服务器安装Mysql,具体参考Mysql配置

二、配置主从

1.在从salve端配置vim /etc/my.cnf

datadir = /data/mysql      ##此处为安装时定义的位置

server-id=2

replicate-do-db=db1,db2   ##需要同步的库

replicate-ignore-db=db1,db2  ##不需要同步的库

##PS 同步库的参数2选1,需对应主的my.cnf配置是哪个参数

屏蔽以下参数,不需要使用:

skip-bdb

skip-networking

log-bin=node1-bin

binlog-ignore-db=test,mysql

master-host=XXXXXXX

master-password=XXXXXX

master-connect-retry=XXX

mysql.server以及mysqld_safe模块的内容屏蔽

##配置从的启动配置文件

vim /etc/init.d/mysqld      ##修改2行参数

basedir=/usr/local/mysql

datadir=/data/mysql

2.在主master端,修改配置文件vim /etc/my.cnf

##开启以下参数:

server-id         =1

log-bin=mysql-bin

binlog-do-db=db1,db2   ##需要同步的库

binlog-ignore-db=db1,db2  ##不需要同步的库

##同步库的参数2选1,或可都不使用,按实际需求

##使用mysql命令,repl、ip、密码均为为从slave的账号、IP以及密码I

grant replication slave on *.* to‘repl’@192.168.137.111’identified by‘123456’;

##创建后,可以测试slave端是否可以链接到主master端,在salve使用命令:

mysql -urepl–p123456–h主Master的IP

##若加上-P为指定端口,默认为3306

##回到主master端,锁表

flush tables with read lock;

show master status;         ##需记下file、Position列的值

quit

##备份数据库db1为数据库名称,并cp到从slave上

mysqldump–uroot–p123456 db1 > 1.sql

scp–P36000 1.sql root@192.168.137.111:/root/   ##拷贝到从上的root目录下-P为指定端口

3.在从slave端上:

##创建db1的库

mysql -uroot -e“create database db1;”

mysql -urootdb1 

##使用mysql命令,mysql操作

mysql

slave stop;

change master to master_host=’192.168.137.110’,master_port=3306,master_user=’repl’,master_password=’123456’, master_log_file=’主master端记录的file列值’, master_log_pos=’主master端记录的position的列值’

##PS如果这段运行报错,把/data/mysql目录的XXbinXX的文件删掉即可回到slave stop继续

slave start;

###回到主master端

mysql–uroot–e“unlock tables;”

###回到从slave端

mysql -uroot –e“show slave status\G;”

若Slave_IO_Running以及Slave_SQL_Running都为YES表示成功,否则为失败

4.测试主从

在主端创建表、删除表等等,在从端可查询

5.注意

主从配置起来很简单,但是这种机制也是非常脆弱的,一旦我们不小心在从上写了数据,那么主从也就被破坏了。另外如果重启master,务必要先把slave停掉,也就是说需要在slave上去执行slave stop命令,然后再去重启master的mysql服务,否则很有可能就会中断了。当然重启完后,还需要把slave给开启slave start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值