Ubuntu 14.04 MySQL同步

主服务器:192.168.2.212

从服务器:192.168.2.211
 
主服务器(192.168.2.212):
先到/etc/mysql/my.cnf下 将
bind-address 127.0.0.1

注释掉

#bind-address 127.0.0.1

允许非本机访问。

登陆mysql

mysql -uroot -p
grant replication slave,reload,super on *.* to slave@192.168.2.211 identified by 123456

可以在从服务器(192.168.2.211)远程测试一下

mysql -uslave -h192.168.2.212 -p

修改主服务器my.cnf

sudo nano /etc/mysql/my.cnf

以下内容必须在[mysqld]模块中

server-id=1
log_bin=/var/log/mysql/mysql-bin.log
binlog_do_db=ccs
binlog_ignore_db=mysql

do_db和ignore_db分别是同步的数据库和不同步的数据库,有多条就写多行。

重启mysql

sudo /etc/init.d/mysql restart

进mysql

mysql -uroot -p
show variables like log%;

log_bin应该为ON

show master status;

则能看到对应得file position 信息,这些在从机设置的时候要用到。

 

从服务器(192.168.2.211):

配置my.cnf

server-id=2
log_bin=/var/log/mysql/mysql-bin.log
replicate_do_db=ccs

重启mysql

sudo /etc/init.d/mysql restart

进mysql:

mysql -uroot -p
stop slave;

 然后设置从master复制日志配置

CHANGE MASTER TO
MASTER_HOST=192.168.2.212,
MASTER_USER=slave,
MASTER_PASSWORD=123456,
MASTER_PORT=3306,
MASTER_LOG_FILE=mysql-bin.000006,
MASTER_LOG_POS=277,
MASTER_CONNECT_RETRY=10;

LOG_FILE和LOG_POS则是在master下show master status时候看到的file position信息。

CONNECT_RETRY是每次重连的时间间隔

start slave;
show slave status\G

在出现的信息中找到 Slave_IO_Running/Slave_SQL_Running ,都为YES则成功了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。