mysql主从配置,亲测可用!

1.准备工作

主服务器:192.168.6.31

从服务器:192.168.1.58

我的mysql版本是5.6,关闭防火墙,确保服务器能相互ping通。

2.配置master

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

bind_address 		    = 0.0.0.0
server-id               = 31            #唯一id不能重复       				
log_bin                 = mysql-bin		#开启binlog 日志  
expire_logs_days        = 10            #日志的缓存时间        			
max_binlog_size     	= 200M          #日志的最大大小           		
binlog_do_db            = xex_plus      #需要同步的数据库		
binlog_ignore_db        = mysql         ##忽略同步的数据库 

然后重启master数据库,service mysqld restart;

3.配置slave

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

bind_address 		 = 0.0.0.0
server-id               = 58   		        	
expire_logs_days        = 10  				
max_binlog_size         = 200M  			
replicate_do_db         = xex_plus
replicate_ignore_db     = mysql 

4.在master上创建一个同步权限的账户 用来同步数据

进入master的mysql,mysql -uroot -p

GRANT REPLICATION SLAVE,FILE ON *.* TO 'slave'@'192.168.1.58' IDENTIFIED BY '123456';
flush  privileges;

show master status;

得到如下信息,其中filr和position下面需要用到; 

5. 配置从库,进入slave数据库输入:

CHANGE MASTER TO
MASTER_HOST='192.168.6.31',
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=668,
MASTER_CONNECT_RETRY=10;

然后启动slave,输入start slave;如果需要停止输入stop slave;

然后show slave status;得到下面的数据:

如果Slave_IO_Running和Slave_SQL_Runing都是yes则表示成功了,可以同步数据了。

6.测试 

在master上的xex_plus(需要同步的数据库)上添加一张表,看slave上是否对应的生成该表。

你可能感兴趣的:(mysql,mysql主从配置)