1.在主db服务器上建立复制帐号。 create user ‘repl’@ip 段 identified by ‘pwd’; create user repl@'192.168.1.%' identified by 'repl'; 授权 grant replication slave on *.* to ‘repl’@ip 段; grant replication slave on *.* to repl@'192.168.1.%'; 2.配置主数据库服务器。 bin_log=mysql-bin 启用二进制日志,并指定日志名字。 server_id =100 需要指定serverid,在复制集群中必须唯一。 3.从服务器配置。 bin_log=mysql-bin server_id=101 # 中继日志 relay_log=mysql-relay-bin # 可选参数,是否把中继日志记录到当前的二进制日志中, #如果需要把当前从服务器,作为其他从服务器的复制源,则需要配置。 log_slave_update=on # 安全配置参数,防止从写入 read_only=on 4.初始化从服务器的数据 mysqldump ,此方法需要加锁。 参数: –single-transaction :保证数据事务一致性,需要对数据库加锁,会造成阻塞。 -master-data=2 : 记录主库二进制文件的偏移量信息。 xtrabackup –slave-info 热备工具。 使用innodb存储引擎是不会阻塞。 mysqldump -uroot -p -p3308 --single-transaction --master-data --triggers --routines --all-databases >> all.sql 从服务器导入数据 mysql -uroot -p -p3309 master_user='repl', -> master_password='repl', -> master_log_file='mysql-bin.000005', master_log_pos=2162; 这段可以在导出的文件中查找。 show slave status \g 查看复制链路状态。 启动复制链路 start slave; 使用show processlist 查看服务线程。 一个io线程,一个sql线程。 主服务器查看 启动了一个dump线程。 6.验证复制效果: 在节点a执行。 1.创建一个表。 2.插入两条记录。 在从服务器上查询。 发现数据同步了。