mysql主从部署

  • 时间:2017-12-08
  • 分类:数据库/系统
  • 526 人浏览

一.安装环境

1、系统环境

centos6.7 192.168.0.173 master 数据库:主 173  centos6.7 192.168.0.174 slave 数据库:从 174

2、管理账号

root/zxfly zxfly/zxfly zxfly_slave/zxfly

3、检查mysql环境需求

mysql安装:http://www.cnblogs.com/feiren/p/7697767.html

1)主库需要开启binlog参数

#主库上查看
cat /etc/my.cnf|grep 'log_bin'
log_bin=mysql_bin

2)确保服务器的server_id的值唯一

#MySQL-master
cat /etc/my.cnf|grep 'server-id'
server-id=173
#MySQL-slave
cat /etc/my.cnf|grep 'server-id'
server-id=173

3)确保服务器正常运行

#监测方法有
ps -ef|grep mysql
ss -lntup|grep 3306
service mysqld status

二.部署过程 #master上的操作

登录mysql以root用户登录:

mysql -uroot -pup366.com

1、添加并授权主从复制账号

mysql>grant replication slave on *.* to 'zxfly_slave'@'192.168.0.%' identified by 'zxfly';
mysql>flush privileges;

2、查看数据库当前的位置点信息

#查看到的位置点要记录,下面会用到
mysql>show master status;

##如果主从不是新部署的环境,请执行以下操作。否则跳过

3、全备数据库

mysqldump -uroot -pzxfly -A -B -R --master-data=2 --events --single-transaction >/root/all.sql

4、将全备发送到从库

scp /root/all.sql 192.168.0.174:/root/

#slave上的操作

#主从非新部署环境请执行步骤1的操作,否则跳过。

1、导入全备,将主库的全备导入从库的数据库中。

mysql –uroot –pzxfly </root/all.sql

2、登陆从库的数据库执行同步信息的账号位置点的录入

change master to
master_host='192.168.0.173', #主库所在主机IP
master_port=3306, #主库端口
master_user='zxfly_slave', #授权的同步账号
master_password='zxfly', #授权账号的密码
MASTER_LOG_FILE='mysql_bin.000001', #在主库上查看的最新的binlog
MASTER_LOG_POS=120; #在主库上查看的最新的位置点

3、开始同步

mysql>start slave;

三.验证

1、从库执行

mysql -uroot -p -e "show slave statusG"|egrep 'Slave_IO_Running:|Slave_SQL_Running:'

#过滤出来如果是两个yes及为同步成功

2、可以对主库进行测试,主要为增删改操作看从库是否同步。

3、报错信息一览

错误代码:

2003   #检查主从复制账号是否输入错误,防火墙是否允许通过

1045  #查看账号权限是否正常

1236  #查看binlog位置点是否错误,binlog日志名字是否错误

来源:本文为线上采编,如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除!