10分钟搞定Mysql主从部署配置

mysql · 浏览次数 : 0

小编点评

**Master数据库安装** 1. 修改/etc/my.cnf[mysqld]server-id=1 2. 创建用户synch,IP地址必须绑定Slave服务器IP 3. 对账号的数据库和数据表进行授权,授权全部库即可 4. 刷新权限flush privileges **Slave数据库安装** 1. 修改/etc/my.cnf[mysqld]server-id=2 2. 创建用户synch,IP地址必须绑定Slave服务器IP 3. 对账号的数据库和数据表进行授权,授权全部库即可 4. 刷新权限flush privileges **配置Master数据库** 1. 启动mysqld服务 2. 修改/etc/my.cnf[mysqld]server-id=1 3. 设置ID为1 4. 添加同步使用的用户(不能用root) 5. 创建用户synch,设置IP地址和数据库权限 **配置Slave数据库网络信息** 1. 设置Master数据库IP 2. 设置Slave数据库IP **配置Master数据库** 1. 添加同步使用的用户 2. 对账号的数据库和数据表进行授权 3. 刷新权限flush privileges **查看数据库状态** 1. 查看log-bin日志位置 2. 查看当前bin日志的位置

正文

流程

  1. Master数据库安装
  2. Slave数据库安装
  3. 配置Master数据库
  4. 配置Slave数据库

网络信息

  1. Master数据库IP:192.168.198.133
  2. Slave数据库IP:192.168.198.132

配置Master数据库

在Master数据库安装完毕后,修改/etc/my.cnf

[mysqld]
server-id=1 \\指定ID,主从的两台虚拟机ID必须不同
log-bin=mysql-bin \\mysql根据配置自动设置指定的二进制文件名

修改完配置文件,重启数据库主库

systemctl restart mysqld

在Master库中添加同步使用的用户(不能用root)

-- 创建用户synch,IP地址必须绑定Slave服务器IP,否则Slave无法通过此账号来访问
create user 'synch'@'192.168.198.132' identified by '123456';  
-- 对账号的数据库和数据表进行授权,授权全部库即可
grant replication slave on *.* to 'synch'@'192.168.198.132';
-- 刷新权限
flush privileges;

查看住数据库状态,确定日志File名和当前bin日志的位置,提供给从库做配置使用。下图中的Position指的是log-bin日志的位置,一般这里写什么,从库中就写什么。从库中写了该信息后,同步将从此日志位置开始

也就是说,在同步之前,你的主库和从库状态必须是一致的。否则在从库配置该属性的时候,就要配置为0

配置Slave数据库

你有几个Slave就配置几个,咱们这以一个Slave数据库举例。同样先修改/etc/my.cnf

[mysqld]
server-id=2
replicate-do-db=test \\指定要复制的数据库

修改完重启数据库

systemctl restart mysqld

进入从库的交互模式

mysql -uroot -p
-- 输入密码

-- 停掉同步
stop slave;

-- 修改同步的配置,注意:以下配置每一行后面一定不能有空格,否则识别可能不通过
change
master to
master_host='192.168.198.133', 
master_port=3306,
master_user='synch',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=3558;

-- master_host:主库的IP
-- master_user:同步用户,就是上一环节创建的用户
-- master_password:用户密码,就是上一环境创建的用户密码
-- master_log_file:上一环节看到的日志文件名
-- master_log_pos: 从哪一行开始同步

-- 开启同步
start slave;

-- 查看从库同步信息和状态
show slave status\G;

从库同步信息和状态中,只要Slave_IO_Running和Slave_SQL_Running 都是Yes,就证明同步正常了

注意事项

  1. 对从库进行配置前,建议在从库服务器上,使用同步账号通过mysql命令进行一次访问,来确保两台服务器之间可以相互访问
mysql -h 192.168.198.133 -u synch -p
-- 输入密码
  1. 同步前强烈建议先把主库和从库需要同步的数据库调整为一致,否则如果主库数据里大,会进行漫长的同步等待

与10分钟搞定Mysql主从部署配置相似的内容:

10分钟搞定Mysql主从部署配置

流程 Master数据库安装 Slave数据库安装 配置Master数据库 配置Slave数据库 网络信息 Master数据库IP:192.168.198.133 Slave数据库IP:192.168.198.132 配置Master数据库 在Master数据库安装完毕后,修改/etc/my.cnf

[转帖]Redis的高并发及高可用,到底该如何保证?

https://zhuanlan.zhihu.com/p/404481762 一、redis如何通过读写分享来承载读请求QPS超过10万+ 1、redis高并发跟整个系统的高并发之间的关系 redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好 mysql,高并发,做到了,那么也是通过一系列

一文搞懂5种内存溢出案例,内含完整源码

本文分享自华为云社区《10分钟搞懂各种内存溢出案例!!(含完整源码,建议收藏)》,作者:冰 河。 作为程序员,多多少少都会遇到一些内存溢出的场景,如果你还没遇到,说明你工作的年限可能比较短,或者你根本就是个假程序员!哈哈,开个玩笑。今天,我们就以Java代码的方式来列举几个典型的内存溢出案例,希望大

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(10.A)- FlexSPI NAND启动时间(RT1170)

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是**恩智浦i.MX RT1170 FlexSPI NAND启动时间**。 本篇是 i.MXRT1170 启动时间评测第四弹,前三篇分别给大家评测了 [Raw NAND 启动时间](https://www.cnblogs.com/henj

[转帖]把VIM打造成一个真正的IDE(1)

http://www.vimer.cn/2009/10/15/ba-vimda-zao-cheng-yi-ge-zhen-zheng-de-ide-1/ 这里所说的IDE主要是指C/C++开发,但是由于笔者之前也搞java和c#开发,所以对这两种语言也会有所兼顾。 这个话题可能要分好几篇文章来写了,

白话区块链是什么

国庆放假倒计时,无心恋战,分享点儿东西,也算做点儿贡献。 起因是,我老婆的公司最近技术上在搞“区块链溯源”,ppt里言必称无法篡改,客观公正,可确保真实安全。她表示听不懂,于是问我 “到底什么是区块链?”。 “自己查啊”。 “查了,看不懂。”…… 按说区块链从比特币火起来之后,现在已经快10年了,火

[转帖]用了这18种方案,接口性能提高了100倍!

https://juejin.cn/post/7167153109158854687 前言 大家好,我是捡田螺的小男孩。 之前工作中,遇到一个504超时问题。原因是因为接口耗时过长,超过nginx配置的10秒。然后 真枪实弹搞了一次接口性能优化,最后接口从11.3s降为170ms。本文将跟小伙伴们分

10分钟掌握Python缓存

全文速览 python的不同缓存组件的使用场景和使用样例 cachetools的使用 项目背景 代码检查项目,需要存储每一步检查的中间结果,最终把结果汇总并写入文件中 在中间结果的存储中 可以使用context进行上下文的传递,但是整体对代码改动比较大,违背了开闭原则 也可以利用缓存存储,处理完成之

10分钟了解Flink SQL使用

Flink 是一个流处理和批处理统一的大数据框架,专门为高吞吐量和低延迟而设计。开发者可以使用SQL进行流批统一处理,大大简化了数据处理的复杂性。本文将介绍Flink SQL的基本原理、使用方法、流批统一,并通过几个例子进行实践。 1、Flink SQL基本原理 Flink SQL建立在Apache

10分钟带你徒手做个Java线程池

摘要:花10分钟开发一个极简版的Java线程池,让小伙伴们更好的理解线程池的核心原理。 本文分享自华为云社区《放大招了,冰河带你10分钟手撸Java线程池,yyds,赶快收藏吧》,作者:冰 河。 Java线程池核心原理 看过Java线程池源码的小伙伴都知道,在Java线程池中最核心的类就是Threa