【mysql】mysql的数据库主从(一主一从)

在搭建mysql的数据库主从之前,我们在两台不同的服务器上搭建mysql数据库,安装的步骤在下面的博客中:

linux安装mysql :https://blog.csdn.net/wangyunzhao007/article/details/104230509

然后我们正式开始做数据库主从:

一、主机配置(主机ip:192.168.157.130)

1.打开配置文件

vim /etc/my.cnf

2.在配置文件中写入我们的配置

#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库,可以不写,这样就除了不要复制的,剩下的都复制
binlog-do-db=数据库名称
#设置logbin格式
binlog_format=STATEMENT

 

二、从机配置(从机ip:192.168.157.129)

1.打开配置文件

vim /etc/my.cnf

2.在配置文件中写入我们的配置

修改配置文件: vim /etc/my.cnf
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

三、主机,从机都重启mysql服务

#重启mysql服务器
systemctl restart mysqld
#查看mysql的状态
systemctl status mysqld

 重启mysql服务器,查看mysql的状态,如下如是启动成功的状态,代表重启成功;

四、主机从机都关闭防火墙或者将3306端口打开 

1.关闭防火墙

#关闭防火墙
service firewalld stop/systemctl stop firewalld  
#开启防火墙
service firewalld start/systemctl start firewalld
#查看防火墙的状态
systemctl status firewalld

关闭防火墙之后我们需要查看防火墙的状态,下图分别使我们开启防火墙之后和关闭防火墙之后分查看防火墙的状态:

2.在防火墙开端口 (如果选择了关闭防火墙就不用做这步了

#开3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp

添加成功如下图所示,这时候还需要重新载入防火墙才能生效 

#防火墙重新载入
firewall-cmd --reload

重新载入防火墙成功 

然后验证是否添加成功

#查看是否添加成功
firewall-cmd --zone=public --query-port=3306/tcp

验证成功,已经添加完毕 

 

五、在主机上建立账户并授权给从机(给从机分配链接的账号,用来备份)

1.在liunx系统中登录mysql的主机

#u后是root账户,-p后密码是123456
mysql -uroot -p123456

2.给从机分配一个账号用来做主从复制 

#在主机MySQL里执行授权命令
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';

 3.查看master的状态

#查询master的状态
show master status;

输入命令后我们可以看到一下几个信息 :

记录下File和Position的值
执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化

六、在从机配置需要复制的主机

1.在liunx系统中登录mysql的从机

#u后是root账户,-p后密码是123456
mysql -uroot -p123456

2.配置复制的主机

2.1停止主从复制(不论有没有开启)

#停止从服务器复制功能
stop slave;

2.2重新配置主从

reset master;

2.3配置复制主机 的信息(汉字需要改成上图master中的值)

#复制主机的命令
CHANGE MASTER TO MASTER_HOST='主机的IP地址',
MASTER_USER='slave',
MASTER_PASSWORD='123123',
MASTER_LOG_FILE='mysql-bin.日志具体数字',MASTER_LOG_POS=位点具体值;

示例,这是根据我的信息写的命令:

CHANGE MASTER TO MASTER_HOST='192.168.157.130',
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=2635;

 2.4启动复制

start slave;

2. 5查看主从复制的状态

#查看从服务器状态
show slave status\G;

看到下面两个参数都是Yes,则说明主从配置成功!

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

则证明主从复制成功了。 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值