一、Mysql主从介绍

1、用于Mysql的实时备份或读写分离,在A上写数据,B机器也跟着写数据,实时同步。

二、配置主

1、修改/etc/my.cnf文件

datadir=/data/mysql
socket=/tmp/mysql.sock
server-id=130
log_bin=aminglinux1

2、重启mysql服务

/etc/init.d/mysqld restart

3、备份一个数据库,在创建一个数据库,将之前备份的zrlog.sql恢复到aming库

mysqldump -uroot -paminglinux zrlog > /tmp/zrlog.sql

mysql -uroot -paminglinux -e "create database aming"

mysql -uroot -paminglinux aming < /tmp/zrlog.sql

4、创建用户

grant replication slave on *.* to 'repl'@'192.168.134.150' identified by 'nihaoma';   给予权限

flush tables with read lock;  锁表,不再写数据

show master status;

5、备份数据库

mysqldump -uroot -paminglinux mysql2 > /tmp/mysql2.sql

mysqldump -uroot -paminglinux test > /tmp/test.sql

三、配置从

1、配置 /etc/my.cnf

basedir = /usr/local/mysql
datadir = /data/mysql
server-id=150

2、复制主机上的备份文件到从上

scp 192.168.134.130:/tmp/*.sql /tmp

3、创建相应库并恢复

create database aming;   mysql -uroot aming < /tmp/zrlog.sql

create database mysql2; mysql -uroot  mysql2 < /tmp/mysql2.sql 

create database test;      mysql -uroot  test < /tmp/test.sql 

create database zrlog;    mysql -uroot  zrlog < /tmp/zrlog.sql

4、在从库上执行以下命令:

stop slave;

change master to master_host='192.168.134.130', master_user='repl', master_password='nihaoma', master_log_file='amingl
inux1.000001', master_log_pos=10570;

start slave;

5、查看是否配置成功,有两个yes则成功。

show slave status\G

6、回到主机打开表

unlock tables;  恢复写操作

四、主从测试

1、左边图为主Mysql,右边图为从Mysql

清空 help_topic 表的数据,在从机器上看也被清空了

  

删除主mysql上的help_topic表后,从表上也没有了。

 

2、如果误操作,先删除或者清空了从mysql的数据,导致主从不同步。如下图:

可以先尝试  stop slave;  start slave;  如果还是不行,则重新开始做主从。

首先执行 show master status;查看数据。然后在从mysql上从change 语句开始操作就可以了。

 

posted on 2018-04-03 00:50  天梭  阅读(101)  评论(0编辑  收藏  举报