mysql主备库数据同步搭建

mysql版本5.5

服务器IP1      192.168.1.1   master 主库

服务器IP2      192.168.1.2   slave备库


1.修改主库 master   /etc/my.cnf    

对于部分mysql可能没有这个文件,我从官方下的就没有,找到安装目录下,任意*.cnf拷贝到/etc目录下即可

# vi /etc/my.cnf

[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
server-id=200  #使用ip端末尾为就好了  比如192.168.1.1 id就是1
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index

注意修改必须放在[mysqld]标签下,保存后重启mysql服务

# service  mysql restart


2.修改备库

slave /etc/my.cnf
#datadir=/var/lib/mysql

#socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
server-id=132
log-bin=mysql-bin
replicate-do-db=test   #test为要同步数据库名字,多个就加多条
log-slave-updates=1
重启mysql服务
# service  mysql restart

3.登录Slave mysql,然后执行下面命令:

mysql> stop slave;
mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456';
mysql> start slave;
mysql> show slave status\G;

查看这两项是否为YES,yes为正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

4.同步前,我是手动把两边数据同步一遍,可用mysqldump 导入 然后远程copy 再导入,就是在主备库开始同步之前,手动先将两边数据同步一下,空库可略过。。

5.对于 Slave_IO_Running 显示Connection ,检查网络、用户名密码、和mysql执行权限,可以在备库服务器上远程mysql 首先排除网,用户密码和账号的远程登录权限问题。
一开始我是出现 Slave_IO_Running 显示Connection,自作聪明 my.cnf 用户写了root,这就导致了root可能对mysql目录文件没有读写权限
使用chown+了权限后,修改了root,mysql,和自己新建的用户,始终显示conn,于是在备库服务器上用mysql -h 链接主库,发现用户没有加远程登录权限,切回主库添加权限后,last_error出现日志不一致问题,网上说删除bin-index,00001等等,并没有卵用

最后看到一篇
http://niutuku.com/tech/Mysql/237830.shtml

service_id 问题  进mysql查了一下,还真是不一致,我在排错过程中修改了server-id
登录mysql 
show variables like 'server_id'; 
分别看一下主备库的id与my.cnf设置的是否一致,如果不一致
set global server_id=2; #此处的数值和my.cnf里设置的一样就行 

再看备库
mysql> stop slave;
mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456';
mysql> start slave;
mysql> show slave status\G;

本以为事情到此结束了,回去发现一个数据库打不开,网上查了一下是数据库文件权限问题
chown -R mysql:mysql /var/lib/mysql/gps/

重启mysql,搞定











  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值