mysql主从数据库简单实现

想要配置主从数据库,首先要有两台机器(没有物理机,拿虚机充数也可),没有的同学就不用往下看了。

我们的实验环境为centos操作系统。

假设我们有两台机器(多台原理相同);
ip分别如下(这两台机器要预装mysql服务):
192.168.88.128
192.168.88.129

我们可以拿192.168.88.128当做主数据库,把192.168.88.129当做从数据库。

配置主库

首先我们要对192.168.88.128(主数据库)进行配置。
我们先找到my.cnf文件。因为使用的式yum安装的方式,没有对my.cnf位置文件进行特殊指定,所以我的my.cnf文件在/etc文件夹下。

我们打开my.cnf配置文件:
默认配置内容如下图:
这里写图片描述

我们添加如下配置:

log-bin=binlog_bin
server-id=1
binlog-do-db=test
binlog-ignore-db=information-schema
binlog-ignore-db=mysql
binlog-ignore-db=cluster
expire_logs_days=2

修改后my.cnf配置内容如下图:
这里写图片描述

注意:添加的配置内容要在mysqld下面。

然后登陆root给主数据库授权一个可以进行复制的用户,执行如下命令:

grant replication slave on *.* to 'slave'@'%' identified by '123';

执行后如下图(执行这句话时用root登陆):
这里写图片描述

然后执行如下命令:

flush privileges;

执行结果如下图:
这里写图片描述

然后从启mysql

service mysqld restart;

然后锁主库表:

flush tables with read lock; 

然后查询主库信息(这个信息一会从库配置时要用到)

show master status;

执行后如下图:
这里写图片描述
如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。

配置从库:
从库和主库实验环境是相同的,直接找到my.cnf,然后添加如下配置:

server-id=2
master-host=192.168.88.128
master-user=slave
master-password=123
master-port=3306
master-connect-retry=60
replicate-do-db=test
replicate-ignore-db=mysql
replicate-ignore-db=information_schema

添加配置后如下图:
这里写图片描述
注意:添加的配置内容要在mysqld下面。

然后从启mysql

service mysqld restart;

登陆root之后执行如下命令

mysql> slave start;

然后执行如下命令:

show slave status/G;

如果结果没有类似下图错误,则直接去主库建表验证是否可以同步了:
这里写图片描述
错误原因:是因为两个库不一致导致。
解决办法:执行如下命令进行同步:

mysql> slave stop;
mysql> change master to master_host='192.168.2.119',master_user='root',master_password='pfingo',master_log_file='mysql-bin.000001', master_log_pos=98;
mysql> slave start;

注意:此处的master_log_file和master_log_pos的值取上面在主库查到的值。

这是我们在回到主库的机器:
执行如下代码(解锁数据库):

mysql> unlock tables;

好,所有的配置都已经完成,最后我们验证下:

验证
在主库建立一张表,然后看是否能在从库查到。如能查到,大功告成,如不可以,再去检查配置把。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值