什么叫mysql复制? 关于mysql复制,我是这样理解的:将某一台主机上的Mysql数据复制到其它主机(slaves)上,并重新执行一遍从而实现当前主机上的mysql数据与(master)主机上数据保持一致的过程我们可以称为复制。 复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。下面我们就来看看相关的配置:
一、架设两个虚拟服务器,都安装好mysql
二、关闭iptables和SELinux
service iptables stop setenforce 0
三、修改/etc/my.cnf
server-id = 1#注:主机可以设置为1,从机可以设置为IP最后一段,避免重复 log-bin=mysql-bin#主从服务的核心 service mysqld restart #重启服务器
四、主服务器和从服务器上数据库和表保持一致
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(30) engine=innodb,default charset=utf8);
五、主服务器配置(创建一个专门用来同步数据的账号)
1、grant replication slave on *.* to 'mysync'@'%' identified by '123456';
show master status;#查看状态,此后不要在进行任何操作
六、从服务器上进行配置:
change master to master_host='192.168.29.88',master_user='mysync', master_password='123456',master_log_file='mysql-bin.000006',master_log_pos=807;
注:[File]和[Position]要与主机状态显示的一致
start slave;#开启从服务 show slave status\G;#查看从服务状态,如下两个选项都为yes表明主从成功: Slave_IO_Running:Yes Slave_SQL_Runnong:Yes
七、主服务器上进行插入数据测试
insert into user(name) values('xiaoming'); 从服务器查看:select * from user;
免责声明:本文来源于,由网友提供或网络搜集,仅供个人研究、交流学习使用,不涉及商业盈利目的。如有版权问题,请联系本站管理员予以更改或删除。优知网会定期发布程序开发相关趋势文章,包括 PHP、 Linux、 Mysql 等领域,敬请关注!最后大家可以扫描下方的赞赏码支持我,感谢大家!