原理:

1master开启bin-log功能,日志文件用于记录数据库的读写增删
2需要开启3个线程,master IO线程,slave开启 IO线程 SQL线程,
3Slave 通过IO线程连接master,并且请求某个bin-log,position之后的内容。
4MASTER服务器收到slave IO线程发来的日志请求信息,io线程去将bin-log内容,position返回给slave IO线程。
5slave服务器收到bin-log日志内容,将bin-log日志内容写入relay-log中继日志,创建一个master.info的文件,该文件记录了master ip 用户名 密码 master bin-log名称,bin-log position。
6slave端开启SQL线程,实时监控relay-log日志内容是否有更新,解析文件中的SQL语句,在slave数据库中去执行。

步骤一:

准备两个mysql,一个做主,一个做从。防火墙,selinux都要关闭,保证可以ping通对方

主服务器配置:
vi/etc/ntp.conf

添加:

server 127.127.1.0

fudge 127.127.1.0 stratum 8

service ntpd start    #因为同步数据 两个服务器的时间也要同步。

稍后要在从服务器执行来同步时间

vi/etc/my.cnf

在配置文件49行

其他内容都可以保持默认。

步骤二:在主服务器登录mysql 给从服务器授权。

mysql> grant replication slave on *.* to zs@'192.168.43.%' identified by '123456';

授权用户zs 密码为123456 允许192.168.43.0的网络连接 一会儿要在slave上使用这个账号

show master status;    #此命令查看主服务器的bin-log日志文件名称和position点

从服务器就是要指定这个文件maste-bin.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/sbin/ntpdate 192.168.43.22  #和主服务器同步时间。192.168.43.22为主服务器ip

mysql -u root -p  </all_databases.sql   #导入数据

vi /etc/my.cnf

步骤四:修改后重启mysql服务

进入从服务器的mysql

change master to master_host='192.168.43.22',master_user='zs',master_password='123456',master_log_file='maste-bin.000001',master_log_pos=107;

start slave;  #开启SQL线程

show slave status\G;    查看从服务器状态

注意两个都要是yes才是正常。

步骤五:查看效果

在主服务器上创建个库看看。

从数据库也会有

同样删掉数据库从数据库也会复制。

主库上删除一个数据库。

从库上也没了。

最新文章

  1. EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射
  2. Switch&NAT 测试
  3. CSS3判断手机横屏竖屏
  4. linux iostat 性能指标说明
  5. 思科产品选型pdf
  6. history命令显示出详细时间
  7. CLLocationManager 位置定位
  8. vi快捷键必知必会
  9. 使用POI创建Excel文件下载
  10. Gulp自动构建前端开发一体化
  11. C语言集成开发环境vs2017的使用技巧之修改快捷键
  12. 增强遍历和Object多参数遍历
  13. Oracle数据库知识要点
  14. 一、Win10搭建IIS
  15. Cmder--cmd的替代工具
  16. python 链表表达式 map、filter易读版
  17. java泛型的作用及实现原理
  18. BZOJ 2810 [Apio2012]kunai
  19. 一个vue请求接口渲染页面的例子
  20. java发送get,post请求

热门文章

  1. 深入理解Java自动装箱拆箱机制
  2. CSS 定位 四种定位
  3. CSS设置元素的隐藏和显示
  4. 一个SAP顾问的回忆:我过去很胖!
  5. python 把函数的值赋给变量
  6. C# 修改Config文件,增删查改
  7. SSO单点登录 与 CAS
  8. 将windows当做linux/Mac来用 scoop强大的包管理工具
  9. webpack Uncaught ReferenceError: Swiper is not defined
  10. [zhuanzai]Bean对象注入失败 .NoSuchBeanDefinitionException: No qualifying bean of type..