> 데이터 베이스 > MySQL 튜토리얼 > MySql主从同步设立

MySql主从同步设立

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 16:24:01
원래의
1127명이 탐색했습니다.

MySql主从同步设置 主MySql服务器A:192.168.1.3 从MySql服务器B:192.168.1.4 ? 1、编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加 ? log-bin=mysql-bin //开启MYSQL二进制日志server-id=1 //服务器ID不能重复binlog-do-db=lsnphp //需要主从同步的

MySql主从同步设置

主MySql服务器A:192.168.1.3

从MySql服务器B:192.168.1.4

?

1、编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加

?

log-bin=mysql-bin //开启MYSQL二进制日志

server-id=1 //服务器ID不能重复

binlog-do-db=lsnphp //需要主从同步的数据库,需要同步多个数据库,复制多次这个参数

binlog-ignore-db=mysql //不需要主从同步的数据库

expire-logs-days = 10 //二进制日志保留时间
로그인 후 복사

?

2、在 A 上添加一个用于主从同步的帐号:

?

GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.1.4' IDENTIFIED BY '123456';
로그인 후 복사

?

3、重启MySql

?

/etc/init.d/mysql restart
로그인 후 복사

?

4、登录MySql,将数据库设置为只读模式:

?

FLUSH TABLES WITH READ LOCK;
로그인 후 복사

?

5、执行下面命令,记录下file及position的值

?

show master status;
로그인 후 복사

?

6、导出需要备份的数据库

?

mysqldumop -uroot -ppwd lsnphp > /home/sqlbak/lsnphp.sql
로그인 후 복사

?

7、编辑B的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加

?

server-id=2 //服务器ID不能重复

replicate-do-db=lsnphp //需要做主从同步的数据库

replicate-ignore-db=mysql //不需要同步的数据库
로그인 후 복사

?

?

8、在B服务器上导入备份数据

?

set names utf8;
source /home/sqlbak/lsnphp.php;
로그인 후 복사

?

9、重启B服务器的MySql服务

?

10、登录B服务器,执行下面的命令,设置连接信息,file及position的值是之前记录下来,position的值没有单引号,其他的值要单引号:

?

change master to master_host='192.168.1.3', 
master_user='rep1', 
master_password='123456', 
master_log_file='file的值', 
master_log_pos=position的值;
로그인 후 복사

?

11、启动从库连接,执行下面的命令:

?

start slave; //启动从库连接
로그인 후 복사

?

12、查看从库状态:

?

 show slave status\G;
로그인 후 복사

?

13、到这里MySql的主从同步设置就完成了,可以在主服务器上插入一条记录,然后去从服务器上验证下是否已经同步。

?

?

?

?

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿