数据库的主从复制要如何使用

首先了解主从复制是什么 

主从复制是建立一个和主数据库一样的数据库,称为从数据库作用就是做数据的热备,作为后备数据库,在主数据库出现故障后,可以切换到数据库继续工作,避免数据丢失

读写分离,数据库可以支撑更多的并发

原理是数据库里面有一个bin-log 二进制文件 ,记录了所有的sql语句

从服务器的io 进程去获取主服务器的bin-log 二进制文件,将结果返回到中继日志relay-log 在从服务器的sql进程获取中继日志中的bin-log 二进制文件 ,并执行这些sql语句

在数据库主从复制的过程中,可以通过修改 `/etc/my.cnf` 文件来配置主从复制相关的设置。下面是一些常见的主从复制配置选项:

1. `server-id`: 设置数据库服务器的唯一标识符,主从服务器应该分别设置不同的值。
2. `log-bin`: 启用二进制日志,用于记录所有的数据库更新操作。
3. `binlog-do-db` 和 `binlog-ignore-db`: 设置要复制或忽略的数据库或表。
4. `relay-log`: 设置中继日志文件的路径和名称,用于从服务器接收和存储主服务器的二进制日志。
5. `replicate-do-db` 和 `replicate-ignore-db`: 设置要复制或忽略的数据库或表。

修改 `/etc/my.cnf` 后,需要重新启动 MySQL 服务器才能使配置生效。

请注意,对于不同的 MySQL 版本和发行版,配置文件的位置和名称可能会有所不同。因此,最好参考相应的文档或操作手册以确保正确的配置主从复制。

在主数据库中需要做的操作

进入配置文件加 log-bin 和 server-id 

创建授权账户

先进入数据库 mysql -u root -p密码 

在授权创建用户 grant all *.* to '用户名'@'主机或者%' identified by '密码';

all 是所有权限  第一个* 是所有库  第二个*是所有表 

权限有replication slave; 拥有这个权限可以查看从服务器 ,从主服务器读取二进制日志

 super  允许用户使用修改全局变量的set 语句 及change master 语句

reload 权限 必须拥有这个权限才可以执行 flush 刷新表日志 权限

刷新授权表 flush privileges ;   退出数据库

需要重启数据库服务 systemctl restart  mysqld

在进入主数据库 输入命令 show binlog events;

找到主数据库的binlog日志的log_name 的名字复制

在从数据库需要进行的操作

进入配置文件修改vi /etc/my.cnf

添加 log-bin 和 server-id

重启服务 systemctl restart mysqld

在进入从数据库

输入edit 回车

输入

change master to 

   master_host='主数据库的主机名',

   master_user='主服务器的用户名',

   master_password='密码',

   master_port=端口号,

   master_log_file='binlog中的log_name',

   master_log_pos=4, 日志位置

   master_connect_retry=10; 默认尝试次数

stop slave 

reset slave 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值