mysql replication原理及配置

一.原理

 

mysql replication 使用三个线程来执行复制功能:

主服务器:Binlog Dump       注:有多个从服务器的主服务器为每个当前连接的从服务器创建一个Binlog Dump线程。

从服务器:I/O线程、SQL线程。

二.配置

前提条件:主从服务器上最好安装相同版本的mysql数据库(因为复制的功能在持续的改进)。

主数据库的IP:192.168.1.100

从数据库的IP:192.168.1.101

1.在主服务器上的配置:

(1)修改主数据库服务器的配置文件my.cnf,并开启BINLOG

[mysqld]

log-bin =  /usr/local/mysql/log/mysql-bin.log

server-id = 1

(2)设置一个复制使用的账户,并授予REPLICATION SLAVE权限;

mysql>GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.1.101' IDENTIFIED BY 'my_password';

2.在从服务器上的配置:

(1)修改从数据库服务器的配置文件my.cnf

[mysqld]

server-id = 2

注:server-id的值必须是唯一的,不能和主数据库的server-id相同,如果有多个从数据库服务器,每个从数据库服务器必须有自己唯一的server-id值。

(2)指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置

mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_PORT='3306',MASTER_USER='replication',MASTER_PASSWORD='my_password',MASTER_LOG_FILE='mysql_bin.000039',MASTER_LOG_POS=102;

或者直接将以上信息写在配置文件my.cnf中。

(3)根据需要执行mysql>start slave;

 

就是这么简单