mysql是当前常用的数据库,但如果发生故障,数据将会丢失。 为了保证mysql数据库的可靠性。 需要提高可靠性的技术。
主从复印的原理如下。
slave (从服务器) )。
主服务器
mysql主从是异步复制过程
主机打开坦率的储物柜-log功能,日志文件用于记录数据库读写的添加和删除
必须打开三个线程。 主IO线程,从属打开IO线程SQL线程,
Slave通过IO线程连接到master,要求坦率的储物柜-log,position之后的内容。
MASTER服务器从slave IO线程接收日志请求信息,io线程将坦率的存储箱-log内容、位置返回给slave IO线程。
实时服务器接收坦率的储物柜-log日志内容,将坦率的储物柜-log日志内容写入relay-log中继日志,master ip用户名和密码master坦率的储物柜-log名称,坦率的储物柜- log poog
在slave端打开SQL线程,实时监视relay-log日志的内容是否有更新,解析文件中的SQL语句,并在slave数据库中执行。
看看字多一点的图吧。
你一定明白了吧。 在、
准备两个mysql,一个拍,一个从机。 防火墙、selinux必须全部关闭,可以ping对方
主服务器配置: vi/etc/ntp.conf
添加:
服务器127.127.1.0
fudge 127.127.1.0 stratum 8
service ntpd start #还同步用于同步数据的两个服务的时间。
稍后从服务器运行以同步时间
vi/etc/my.cnf
配置文件49行
其他内容可以保持默认值。
------------- -请参阅
在主服务器上登录mysql,并向从属服务器授予许可。
mysqlgrantreplicationslaveon *.* tozs @ ' 192.168.43.% ' identified by ' 123456 ';
许可证用户zs的密码为123456,允许网络连接192.168.43.0,稍后将在slave中使用此帐户
------------- -请参阅
显示主状态; #此命令显示主服务器的坦率储物柜-日志文件名和位置点
从服务器开始是这个文件maste-坦率的储物柜. 000001 (随着MySQL的添加删除日志文件名也有可能发生变化)和107 ) position点的主服务器的添加删除修改也发生变化),所以从现在开始主服务器
mysqldump-uroot-p---opt---all-databases/all _ databases.SQL #导出主数据库中的数据
使用scp-r/all _ databases.SQL root @ 192.168.43.2:/# scp将数据复制到从服务器。
因为主从复制是在主从关系建立结束后进行同步的。 这意味着无法复制当前position 107之前的内容,因此手动复制主以前的数据并将其从数据库中导入。
从服务器配置:/usr/s坦率的储物柜/ntpdate 192.168.43.22 #与主服务器同步时间。 192.168.43.22主服务器ip
MySQL-uroot-p/all _ databases.SQL #导入数据
vi /etc/my.cnf
更改后,重新启动mysql服务并从服务器进入mysql
changemastertomaster_ host=' 192.168.43.22 ',master_user='zs ',master_password='123456 ',master _
开始平板; 打开SQL线程
show slave statusG; 显示服务器状态
请注意,如果两者都是“是”,则是正常的。
看看效果,在主服务器上创建一个库吧。
也来自数据库
删除数据库也会从数据库中复制。
从主库中删除数据库。
库里也没有了。 所以备份数据库。
结束了。 我希望对你有帮助。 再见。