MySQL5.7简单主从配置
1、环境
Master:192.168.70.112,CentOS7.2,MySQL5.7.19Slave: 192.168.70.113,CentOS7.2,MySQL5.7.19
2、首先在主从两台服务器安装上MySQL5.7.19,这个是前提条件。
3、配置主从两台服务器的my.cnf
根据各自的环境找到这个文件,这里使用rpm包安装的mysql,故在/etc/my.cnf# vi /etc/my.cnf #在最后加上下面两行内容
server-id=112 #数据库服务的唯一标识,一般为服务器Ip的末尾号
log-bin=mysql-bin
注:如需要指定哪些database复制或不复制,可再添加下面的内容
binlog-do-db=keyboard #同步的数据库
binlog-ignore-db=mysql #不需要同步的数据库
replicate-do-db=keyboard #需要同步的表
replicate-ignore-db=mysql #不需要同步的表
修改完my.cnf文件后重启Mysql服务
# systemctl restart mysqld
4、Master机器配置
登录到mysql,将授权192.168.70.113的root复制权限和File权限# mysql -uroot -p
mysql> GRANT FILE ON *.* TO 'root'@'192.168.70.113' IDENTIFIED BY 'mysql123';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.70.113' IDENTIFIED BY 'mysql123';
mysql> FLUSH PRI5、VILEGES;
查看master状态
mysql> show master status;
5、slave机器配置
登录到mysql# mysql -uroot -p
执行下面的命令
mysql> stop slave;
mysql> change master to master_host='192.168.70.112',master_user='root',master_password='mysql123',master_log_file='mysql-bin.000001', master_log_pos=885;
mysql> start slave;
注:其中的master_log_file和master_log_pos要和刚刚主库查询到的值一致。
查看slave状态、
mysql> show slave status\G;
到此主从配置完成了。
6、主从测试
首先在master创建一个数据库和表,然后往表插入数据mysql> create database mtest;
mysql> create table mtest.t1 (id int,name varchar(30),createtime timestamp,key(id));
mysql> insert into mtest.t1 values (1,'张三',now());
mysql> insert into mtest.t1 values (2,'李四',now());
mysql> insert into mtest.t1 values (3,'test',now());
mysql> insert into mtest.t1 values (4,'abc',now());
查看t1表的数据
mysql> select * from mtest.t1;
然后看一下从库是否有这个表,查看数据是否一样
mysql> show databases;
mysql> show tables;
mysql> use mtest;
mysql> select * from t1;
可以看到,从库的数据和主库的数据一样,证明主从搭建成功。