首页 > 代码库 > 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上看到各种日志文件的位置的变化,同样,你也可以看到数据库中数据的变化。
你可查看master和slave上线程的状态。在master上,你可以看到slave的I/O线程创建的连接:
2、可能还用到的命令
slave stop //停止从数据库配置
reset slave //复位从数据库配置
本文出自 “5311” 博客,请务必保留此出处http://cuis1.blog.51cto.com/8805022/1890626
Mysql主从同步