(五)MySQL 主从复制

1. 复制的基本原理

1)slave 会从 master 读取 binlog 来进行数据同步

2)MySQL 复制过程分为三步:

  • master 将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;
  • slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)
  • slave 重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL 复制是异步的且串行化的。

2. 复制的基本原则

  • 每个 slave 只有一个 master
  • 每个 slave 只能有一个唯一的服务器 ID
  • 每个 master 可以有多个 salve

3. 复制的最大问题

延时

4. 一主一从常见配置

下面来搭建一个  mysql Windows 下为主机,虚拟机下为从机的主从复制。

1)mysql 版本一致且后台以服务运行

linux 和 window 下的 mysql 最好版本一致。

window 下查看版本:登录就去其实它就可以看到版本了。实在要查,命令 status 或者 select version();  都可。

查看两边 ip,然后 ping 连接看网络是否互通。

window:

linux:

2)配置文件

主从都配置在 [mysqld] 结点下,都是小写

①windows 下,主机修改my.ini配置文件

  • [必须]主服务器唯一ID:server-id=1
  • [必须]启用二进制日志:log-bin=自己本地的路径/data/mysqlbin   如:log-bin=D:/devSoft/MySQLServer5.5/data/mysqlbin
  • [可选]启用错误日志:log-err=自己本地的路径/data/mysqlerr  如: log-err=D:/devSoft/MySQLServer5.5/data/mysqlerr
  • [可选]根目录:basedir="自己本地路径"  如:basedir="D:/devSoft/MySQLServer5.5/"
  • [可选]临时目录:tmpdir="自己本地路径"  如:tmpdir="D:/devSoft/MySQLServer5.5/"
  • [可选]数据目录:datadir="自己本地路径/Data/"   如:datadir="D:/devSoft/MySQLServer5.5/Data/"
  • read-only=0 :主机,读写都可以
  • [可选]设置不要复制的数据库 :binlog-ignore-db=mysql
  • [可选]设置需要复制的数据库:binlog-do-db=需要复制的主数据库名字

②liux下:从机修改my.cnf配置文件

  • [必须]从服务器唯一ID
  • [可选]启用二进制日志

vim /etc/my.cnf

因修改过配置文件,请主机+从机都重启后台 mysql 服务

3)主机从机都关闭防火墙

windows手动关闭

关闭虚拟机linux防火墙 :   service iptables stop

4)在Windows主机上建立帐户并授权 slave

①GRANT REPLICATION SLAVE ON *.* TO 'zhangsan'@'从机器数据库IP' IDENTIFIED BY '123456';  (这句话的意思就是:授权给从机,允许从机以“zhangsan”的账户登录,密码为“123456”来登录主机。)

②写入命令之后刷新一下:flush privileges;

③查询master的状态:show master status;


记录下 File 和 Position 的值

执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

5)在Linux从机上配置需要复制的主机

CHANGE MASTER TO MASTER_HOST='主机IP',MASTER_USER='zhangsan',MASTER_PASSWORD='123456',MASTER_LOG_FILE='File名字',MASTER_LOG_POS=Position数字;

启动从服务器复制功能:start slave;

show slave status\G:

下面两个参数都是Yes,则说明主从配置成功!

  •     Slave_IO_Running: Yes
  •     Slave_SQL_Running: Yes

6)主机新建库、新建表、insert记录,从机复制

7)如何停止从服务复制功能

stop slave;

发布了48 篇原创文章 · 获赞 18 · 访问量 2786

猜你喜欢

转载自blog.csdn.net/weixin_44210965/article/details/105548528