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

MySQL5.7主从配置

2017-03-11 16:36 399 查看
安装环境:

Master:10.211.55.11,Redhat6.5,MySQL5.7.12

Slave: 10.211.55.12,Redhat6.5,MySQL5.7.12

Master的my.cnf配置:



Slave的my.cnf配置:



可指定那些database需要复制,哪些不需要复制,如在我的my.cnf配置中注释掉的内容,我默认是全部都复制。修改完my.cnf配置文件后,两台机器都将mysql服务重启:service mysqld restart,接下来的操作比较重要:

Master机器的mysql配置

1. mysql -u root -p 登录;

2. 执行以下指令,意思是将授予10.211.55.12的root复制权限和File权限,当然你也另外建一个用户来操作,不一定是root,123456表示密码。

GRANT FILE ON *.* TO 'root'@'10.211.55.12' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'root'@'10.211.55.12' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;


3.执行show master status指令,如图:



Slave机器的mysql配置

1. mysql -u root -p 登录;

2. 依次执行以下指令:

mysql> stop slave;
mysql> change master to master_host='10.211.55.11',master_user='root',master_password='123456',master_log_file='mysql-bin.000003', master_log_pos=154;
mysql> start slave;


注意:

master_log_file与master_log_pos中的值要与Master机器的show master status结果中(如上图)的值相对应。

3. 查看salve状态,show slave status\G; 注意这里的”\G”是为了显示格式化的结果,如果没有错误的话,slave的状态结果如图所示:



测试:

在Master中创建一个数据库:

mysql> create database test;
mysql> create table t1 (id int,name varchar(200),createtime timestamp,key(id));
mysql> insert into t1 values (1,'aa',now());
mysql> insert into t1 values (3,'bb',now());


执行完上述操作后,切换到Salve机器看看是否同步过去,不出意外的话,应该是会马上同步过去的。

我的机器显示如下:

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