您的位置:首页 > 数据库 > MySQL

MySQL 5.7.13 主从同步

2016-07-26 09:59 393 查看
环境

主服务器 10.211.55.8

从服务器 10.211.55.9

给主服务器数据库新增用户

mysql>set global validate_password_policy=0;#修改mysql密码级别
mysql>grant all  on *.* to jack@"%" identified by "admin666"


all         权限
*.*         某个数据库的某个表
jack        登录用户名
"%"         从哪台服务器登录,可以是IP地址
"admin666"  密码


开启binlog,记录所有的数据库变化操作(数据增删改,创建表等)

vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
log-bin=mysql-bin
server-id=1


然后重启mysql,在datadir目录中,查看binlog文件

mysql-bin.000001

mysql-bin.000002

binlog常用操作

mysql>show master status; #查看当前binlog日志
mysql>reset master; #清空所有的binlog日志
mysql>flush logs;   #启用一个新的binlog日志


创建测试表

create database test;
use test;
create table user(id int,name varchar(50));
insert into user values (1,"zhangsan");
insert into user values (2,"lisi");


备份主服务器的test数据库

#如果主服务器在使用用,可以锁定数据库禁止写入,配好后再解锁
mysql>flush tables with read lock;
mysql>unlock tables;


备份

mysqldump -uroot -p test -lF >/tmp/db.test.20160725.sql


【配置从服务器】

1.从服务器导入刚才的备份,确保2边数据一致

#scp root@10.211.55.8:/tmp/db.test.20160725.sql /tmp/


mysql>create database if not exits test;


#mysql -uroot -p test -f <'/tmp/db.test.20160725.sql'


2.清空主服务器所有的bin-log

mysql>reset master;


3.修改从服务器msyql配置文件

vi /etc/my.cnf

[mysqld]
log-bin=mysql-bin
server-id=2 #我们的主服务器是1


4.重启msyql

5.同步

mysql>change master to master_user='jack',master_password='admin666',master_host='10.211.55.8',master_port=3306;
mysql> start slave;


#如果要停止主从复制
mysql>stop slave;


如何判断是否连上主服务器?

mysql>show slave status\G;


正常

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: