Linux下MySQL主从数据库配置

主从服务器利用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器产生,从服务器响应获取同步数据库。

环境配置:

操作系统:CentOS-7 64位

基于VM虚拟机安装

网络模式:桥接

master数据库IP:172.16.110.37

slave数据库IP:172.16.110.39

mysql版本:5.7.20


master:主服务器 作为写数据库

slave:从服务器    作为读数据库


操作步骤:

前置操作:安装mysql等相关流程  详见mysql安装

  克隆虚拟机中的操作系统


1、 向master服务器添加新用户test

添加了test用户密码为password

赋予权限:REPLICATION SLAVE

	CREATE USER 'test'@'%' IDENTIFIED BY 'password';
	GRANT REPLICATION SLAVE ON *.* TO 'test'@'%';

2、 修改master配置

linux下mysql配置文件在  /etc/my.cnf

如果找不到可以使用查找一下

	find / -name my.cnf
修改内容如下:

	server-id=37 //该id可以随便写,我使用的ip末段为id
	binlog-do-db=world //仅同步该数据库
	log-bin=mysql-bin  //打开日志(主机需要打开),这个mysql-bin也可以自定义,这里也可以加上路径,如:/home/www/mysql_bin_log/mysql-bin  
	       replicate-ignore-db=test //忽略同步的数据库这个我没设置,因为我只选择了同步一个库
重启mysql服务:service mysqld restart

执行show mastr status 记住 file名称和position值

mysql-bin.000002 154

3、切到slave服务器

配置文件添加如下内容

	server-id=39
	binlog-do-db = mydb //指定mysql的binlog日志记录哪个db
	log-bin=mysql-bin

执行

  CHANGE MASTER TO

MASTER_HOST='172.16.110.37',

MASTER_USER='test',

MASTER_PASSWORD='password',

MASTER_LOG_FILE='mysql-bin.000002',

MASTER_LOG_POS=154;

执行:START slave;坑看下面

查看slave状态:show slave status\G

如果你遇到slave_io_running为no

那么不是你的网络不通

就是权限没设置好,

我装了三次,都是因为权限和网络引起的


里有个坑,因为是克隆的 uuid此时是相同的可能引起复制开启失败

我们删掉这个auto.cnf 文件,重启mysql即可生成新的

[root@linux bin]#  cat /var/lib/mysql/auto.cnf 
[auto]
server-uuid=df715735-c9aa-11e7-a58b-000c29a4990d

auto具体位置如不一致可以查找一下


没啥大问题了



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值