首页 > 代码库 > Mysql主从同步

Mysql主从同步

主(Master)IP:192.168.1.101

从(Slave) IP:192.168.1.102


Master配置

1、首先登录数据库,创建复制账号

mysql -uroot -p

mysql>grant replication slave,reload,super on *.*to mysqler@’192.168.1.102’ identified by ‘123456’;

2、进入配置文件my.cnf中

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件加入如下值

server-id=1  #用于标识该语句最初是从哪个server写入的
log-bin=/var/log/mysql/mysql-bin.log  #日志路径

3、重启mysql服务器

service mysqld restart 或 /etc/init.d/mysqld restart (用于Ubuntu系统)

4、进入mysql下查看主机状态

show master status;

技术分享


Slave配置

1、进入配置文件my.cnf中

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件中加入如下值

server_id         = 2
relay_log         =mysql-relay-bin
replicate-do-db    =genecrab_report                               //指定的数据库名
log_bin          =/var/log/mysql/mysql-bin.log

2、进入mysql中

mysql>CHANGE MASTER TO                       

        MASTER_HOST=’192.168.1.101’,       //Master IP地址

        MASTER_USER=‘mysqler‘,               //数据库账号

        MASTER_PASSWORD=’123456’,          //对应的账号密码

        MASTER_LOG_FILE=‘mysql-bin.000001‘,   

        MASTER_LOG_POS=184677;                // MASTER_LOG_POS的值为0

注意

MASTER_LOG_FILE一定跟主中File 一致

MASTER_LOG_POS 一定跟主中Position一致

3、查看状态

show slave status\G

技术分享

4、开启同步

start slave

注:

1、主要是看:
                  Slave_IO_Running=Yes
                  Slave_SQL_Running=Yes

slave的I/O和SQL线程都已经开始运行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味着一些事件被获取并执行了。如果你在master上进行修改,你可以在slave上看到各种日志文件的位置的变化,同样,你也可以看到数据库中数据的变化。

你可查看masterslave上线程的状态。在master上,你可以看到slaveI/O线程创建的连接:

2、可能还用到的命令

slave stop   //停止从数据库配置

reset slave //复位从数据库配置


本文出自 “5311” 博客,请务必保留此出处http://cuis1.blog.51cto.com/8805022/1890626

Mysql主从同步