1. 复制的基本原理
- slave从master读取binlog来进行数据同步
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. 一主一从常见配置
- 主机修改my.ini配置文件[mysqld]节点下
server-id=1
log-bin=本地路径/mysqlbin
log-err=本地路径/mysqlerr
basedir=本地路径
tmpdir=本地路径
datadir=本地路径
read-only=0
binlog-ignore-db=mysql
binglog-do--db
- 从机配置my.cnf文件
server-id=2
主机授权给从机
grant replication slave on *.* to 'username'@'从机数据库IP' identified by 'password';
flush privileges;
#查询master状态
show master status;
#记录下File和Position的值
从机配置
change master to master_host='主机IP',master_user='username',master_password='password',master_log_file='file',master_log_pos=position;
start slave;
show slave status\G;
#停止从服务复制功能
stop slave;