主数据库和从数据库配置的好处就是你可以进行读写分离、实时备份、故障快速恢复,提高数据库的可用性和安全性。废话不多说,mysql数据库自带的主从配置非常简单,下面我们一步步来演示。

一、主从主机IP(linux centos7环境)

  • master(主数据库):192.168.67.128
  • slave(从数据库):192.168.67.129

二、master主数据库配置(避免内容过多,本文不涉及数据库安装,这里只展示核心配置)

1.主数据库配置启用二进制日志和服务器标识

打开主数据库的配置文件mysqld.cnf(比如/etc/mysql/mysql.conf.d/mysqld.cnf)

输入内容:

[mysqld]log-bin=mysql-bin    #[必须]启用二进制日志server-id=1          #[必须]服务器标识ID,每台服务器唯一

重启数据库

2.查看主数据库状态并赋予从数据库权限

  • 在数据库连接客户端或者控制台输入命令查看状态
show master status;
91b6908e2b0a88e296e11ab7945a9090.png

主数据库状态

注意:其中的FIle列和Position列在从数据库配置的地方需要用到

  • 赋予从节点权限,执行以下两条命令
grant replication slave,replication client on *.* to root@'192.168.67.129' identified by "123456";flush privileges;

说明:root@'192.168.67.129'是从数据库ip和账号,123456是从数据库的密码

三、slave从数据库配置(避免内容过多,本文不涉及数据库安装,这里只展示核心配置)

1.从数据库配置启用二进制日志和服务器标识

打开主数据库的配置文件mysqld.cnf(比如/etc/mysql/mysql.conf.d/mysqld.cnf)

输入内容:

[mysqld]log-bin=mysql-bin    #[必须]启用二进制日志server-id=2          #[必须]服务器标识ID,每台服务器唯一

重启数据库

2.授权并连接主节点

  • 在数据库连接客户端或者控制台输入命令授权并暂时停止从节点状态
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'root'@'%';flush privileges;stop slave;
  • 执行命令连接主数据库
change master tomaster_host='192.168.67.128',master_user='root',master_log_file='mysql-bin.000003',master_log_pos=154,master_port=3306,master_password='123456',master_connect_retry=30;

说明

master_host:主数据库ip

master_user:主数据库账号

master_log_file:主数据库show master status;命令获取的FIle列数据

master_log_pos:主数据库show master status;命令获取的Position列数据

master_port:主数据库端口

master_password:主数据库密码

master_connect_retry:x(当丢失主数据库x秒后发起重连)

  • 重新启动从节点
start slave;
  • 查看从节点状态
show slave status;
7248feab0eacbda7a6ae81e450e11f26.png

说明:当Slave_IO_Running和Slave_SQL_Running都为yes时代表成功了

Slave_IO_Running:代表和主数据库的通讯状态

Slave_SQL_Running:代表从数据库运行状态

注意不要在从数据库写数据

  • 查看效果

在主节点创建数据库db1和表t1,会自动同步到从节点上

5e2ca21a64c1a0e8207157c098d93f0d.png

主从效果图

觉得对你有帮助的话小手点个关注或赞哦

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐