MySQL主从同步
参考教程:【千峰教育】
1、架设两个虚拟服务器,都安装好mysql。
2、关闭防火墙和Selinux。
service iptables stop
setenforce 0
3、修改/etc/my.cnf
server-id = 1 #主机可以设置为1,从机可设置为IP最后一段(保证唯一性)
log-bin=mysql-bin #主从服务的核心
service mysqld restart #重启服务器
4、主服务器上和从服务器数据库和表保存一致
(1)登录数据库服务器
mysql -uroot -p
(2)创建测试数据库
create database test
(3)选择test数据库
use test;
(4)创建用于主从测试的数据库表user
create table user(id int(11) auto_increment primary key,name varchar(20)
)engine=innodb,default charset=utf8;
5、主服务器配置(创建一个专门用来同步数据的账户
grant replication slave on *.* to 'mysync'@'%' identified by '12345678';
show master status; #查看状态,此后不要进行任何操作,从服务配置需要显示的信息。
6、从服务器进行配置:
change master to master_host='10.0.166.17',master_user='mysync',
master_password='12345678',master_log_file='mysql-bin.[File]',master_log_pos=[Position];
[File]和[Position]要与主机状态显示的一致,上面的是完整的一句话。
start slave; #开启从服务
show slave statusG #查看从服务状态,如下两个选项都为yes表明主从成功
Slave_IO_Running: yes
Slave_SQL_Running: yes
7、主服务器上进行数据测试:
insert into user(name) values('zhang san');
从服务器上查看:select * from user;