(编辑:jimmy 日期: 2024/11/11 浏览:2)
MySQL5.7主从配置实现方法,具体内容如下
安装环境:
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机器看看是否同步过去,不出意外的话,应该是会马上同步过去的。
我的机器显示如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。