一、系统环境html
系统 | IP | 主机名 | 说明 | server_id |
---|---|---|---|---|
centos6.7 | 192.168.0.173 | master | 数据库:主 | 173 |
centos6.7 | 192.168.0.174 | slave | 数据库:从 | 174 |
二、管理帐号mysql
linux服务器帐号/密码 | 数据库管理员帐号密码 | 主从复制帐号 |
---|---|---|
root/zxfly | zxfly/zxfly | zxfly_slave/zxfly |
三、检查mysql环境需求linux
mysql安装:http://www.cnblogs.com/feiren/p/7697767.html
sql
1)主库须要开启binlog参数数据库
#主库上查看
cat /etc/my.cnf|grep 'log_bin'
log_bin=mysql_bincentos
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=173ide
3)确保服务器正常运行测试
#监测方法有
ps -ef|grep mysql
ss -lntup|grep 3306
service mysqld statusspa
登陆mysql以root用户登陆:
mysql -uroot -pup366.com
一、添加并受权主从复制帐号
mysql>grant replication slave on *.* to 'zxfly_slave'@'192.168.0.%' identified by 'zxfly';
mysql>flush privileges;
二、查看数据库当前的位置点信息
#查看到的位置点要记录,下面会用到
mysql>show master status;
##若是主从不是新部署的环境,请执行如下操做。不然跳过
三、全备数据库
mysqldump -uroot -pzxfly -A -B -R --master-data=2 --events --single-transaction >/root/all.sql
四、将全备发送到从库
scp /root/all.sql 192.168.0.174:/root/
#主从非新部署环境请执行步骤1的操做,不然跳过。
一、导入全备,将主库的全备导入从库的数据库中。
mysql –uroot –pzxfly </root/all.sql
二、登录从库的数据库执行同步信息的帐号位置点的录入
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; #在主库上查看的最新的位置点
三、开始同步
mysql>start slave;
一、从库执行
mysql -uroot -p -e "show slave status\G"|egrep 'Slave_IO_Running:|Slave_SQL_Running:'
#过滤出来若是是两个yes及为同步成功
二、能够对主库进行测试,主要为增删改操做看从库是否同步。
三、报错信息一览
错误代码:
2003 #检查主从复制帐号是否输入错误,防火墙是否容许经过
1045 #查看帐号权限是否正常
1236 #查看binlog位置点是否错误,binlog日志名字是否错误