mysql-主从复制

分类: MySQL

复制的基本原理

slave会从master读取binlog来进行数据同步
三步骤:
1.master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events.
2.slave将master的binary log events拷贝到它的中继日志(relay log);
3.slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的。

图片1.png

复制的基本原则

每个slave只有一个master
每个slave之鞥呢有一个唯一的服务器ID
每个master可以有多个salve

复制最大的问题

延时

一主一从常见配置

mysql版本一直且后台以服务运行
主从配置在[mysqld]节点下,都是小写
windows主机修改my.ini配置文件
1.【必须】主服务器唯一ID:server-id=1
2.【必须】启用二进制日志:log-bin=自己本地的路径/mysqlbin
3.【可选】启用错误日志:log-err=自己本地的路径/mysqlerr
4.【可选】根目录:basedir=自己本地路径
5.【可选】临时目录:tmpdir=自己本地路径
6.【可选】数据目录:datadir=自己本地路径
7.read-only=0:主机,读写都可以
8.【可选】设置不要复制的数据库:binlog-ignore-db=mysql
9.【可选】设置需要复制的数据库:binlog-do-db=yourdbname
linux从机修改my.cnf配置文件
1.【必须】从服务器唯一ID
2.【可选】启用二进制日志
因修改过配置文件,主机从机都需要重启后台mysql服务
在windows主机上建立账户并授权slave(
1. grant replication slave on . to 'zhangsan'@'从机ip' identified by 'yourpwd';
2.show master status;记住file 和position)
在linux从机上配置需要配置的主机
(1.change master to master_host='主机ip',master_user='zhangsan',master_password='yourpwd',master_log_file='mysqlbin.具体数字',master_log_pos=具体值;2.start slave;3.show slave status;如果slave_io_running,slave_sql_running都是yes,则配置成功)
主机新建数据

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注


Warning: error_log(/www/wwwroot/codegulu.cn/wp-content/plugins/spider-analyser/#log/log-1105.txt): Failed to open stream: Permission denied in /www/wwwroot/codegulu.cn/wp-content/plugins/spider-analyser/spider.class.php on line 2969