返回顶部
首页 > 资讯 > 数据库 >MySQL 主从同步与分离
  • 670
分享到

MySQL 主从同步与分离

2024-04-02 19:04:59 670人浏览 独家记忆
摘要

说明:在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制的方式来同步数据,再通过读写

说明:
在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载 能力这样的方案来进行部署与实施。
MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。

.
.
模拟搭建使用的服务器拓扑图如下
MySQL 主从同步与分离
.
.
实验环境如下:
MySQL 主从同步与分离
服务器安装MySQL5.5版本
.
.
实验包下载地址:
链接: https://pan.baidu.com/s/16n0zJBGeB3iGyRvXzxL5xA 密码: tcsn
.
.
实验步骤如下:
.
.
1 . 在主服务器上
先关闭防火墙,并检查是否安装了ntp,这里是默认安装好的
systemctl stop firewalld.service
setenforce 0 #关闭防火墙
rpm -q ntp #检查是否安装ntp

.
.
2 . 进入配置文件进行配置
vim /etc/ntp.conf
server 127.127.200.0 #本地是时钟源
fudge 127.127.200.0 stratum 8 #设置时间层级为8

MySQL 主从同步与分离
systemctl start ntpd #开启时钟源
MySQL 主从同步与分离
.
.
3 .接下来在从服务器1和从服务2做相同的操作
systemctl stop firewalld.service
setenforce 0 #关闭防火墙
systemctl start ntpd #开启时钟源
/usr/sbin/ntpdate 192.168.200.133 #向master同步时间

MySQL 主从同步与分离
.
.
4 .回到主服务器
vim /etc/my.cnf #进行配置文件
server-id = 11 #服务器编号
......
log-bin=master-bin #更改日志名称,方便区别
log-slave-updates=true #允许从服务器日志文件同步主服务器日志文件

MySQL 主从同步与分离
MySQL 主从同步与分离
.
.
5 .进入数据库
GRANT REPLICATioN SLAVE ON . TO 'myslave'@'192.168.200.%' IDENTIFIED BY '123123'; #给予权限
FLUSH PRIVILEGES; #刷新,即时生效
show master status; #查看日志文件名

MySQL 主从同步与分离
.
.
6 .回到从服务器,两台从服务器做相同操作
vim /etc/my.cnf #进行配置文件
server-id = 22 #更改端口号。注意,从服务器2的端口号不能与主、从服务器1相同
relay-log=relay-log-bin #指定从服务器日志文件
relay-log-index=slave-relay-bin.index #指定文件名与位置,
systemctl restart mysqld.service #重启数据库

MySQL 主从同步与分离
MySQL 主从同步与分离
.
.
7 . 进入数据库
change master to master_host='192.168.200.133',master_user='myslave',master_passWord='123123',master_log_file='master-bin.000001',master_log_pos=339; #给凭证
start slave; #开启从服务器身份
show slave status \G; #查看同步状况
Slave_IO_Running: Yes
Slave_SQL_Running: Yes #显示yes 说明已经开始同步

MySQL 主从同步与分离
MySQL 主从同步与分离
.
.
8 .这时候就可以在主服务器数据库中,新建一个数据库,验证是否同步
MySQL 主从同步与分离
MySQL 主从同步与分离
MySQL 主从同步与分离
同步成功
.
.
主从同步做好后,下面进行读写分离操作
.
.
1 .进入代理服务器——amoeba,首先还是老一步操作
systemctl stop firewalld.service
setenforce 0 #关闭防火墙
mkdir /ooo #创建一个目录,挂载用
mount.cifs //192.168.200.1/gx /ooo/ #将文件挂载到目录内
cd /ooo/ #进入目录
cp jdk-6u14-linux-x64.bin /usr/local/ #拷贝到系统文件下,让系统能识别
cd /usr/local/
./jdk-6u14-linux-x64.bin #安装java环境包

MySQL 主从同步与分离
.
.
2 . 将文件移动或复制到/usr/目录下
mv jdk1.6.0_14/ /usr/local/jdk1.6 #移动至系统文件下
vim /etc/profile #进入配置文件,在末尾添加如下环境变量,系统可以用安装文件中的命令与函数:
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/bin
export AMOEBA_HOME=/usr/local/amoeba
export PATH=$PATH:$AMOEBA_HOME/bin

MySQL 主从同步与分离
source /etc/profile #刷新生效
.
.
3 . 解压文件到指定目录下
mkdir /usr/local/amoeba #创建一个文件夹
cd /ooo/
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/ #将压缩文件解压到此目录文件下

MySQL 主从同步与分离
.
.
4 . 给予文件相对的权限
chmod -R 755 /usr/local/amoeba/
/usr/local/amoeba/bin/amoeba
amoeba start|stop #代表安装成功

MySQL 主从同步与分离
.
.
5 . 在三台Mysql上添加权限开放给amoeba访问
grant all on . to 'test'@'192.168.201.%' identified by '123123';#amoeba使用test帐户访问三台数据库

MySQL 主从同步与分离
.
.

6 . 然后回到代理服务器,进行配置文件的操作
cd /usr/local/amoeba
vim conf/amoeba.xml
30行---
<property name="amoeba">root</property> #更改用户名
32行---
<property name="password">123123</property> #密码
MySQL 主从同步与分离
115行--117-
<property name="defaultPool">master</property> #最大权限 给master
<property name="writePool">master</property> #写入权限 给master
<property name="readPool">slaves</property> #读取权限

MySQL 主从同步与分离
.
.
7 . 进入下一个配置文件,进行配置
vim conf/dbServers.xml
--26--29---去掉注释
<property name="user">test</property> #登录身份
<property name="password">123.com</property> #登录密码
MySQL 主从同步与分离
--42-47---主服务器
< dbServer name="master" parent="abstractServer"> #主服务为master
< property name="ipAddress">192.168.201.131</property> #主服务器ip地址
--50-54--从服务器1
< dbServer name="slave1" parent="abstractServer"> #从服务器1
<property name="ipAddress">192.168.201.129</property> #ip地址
复制6行做从服务2
MySQL 主从同步与分离
--63---
< dbServer name="slaves" virtual="true"> #从服务器池
--70---
<property name="poolNames">slave1,slave2</property> #定义两台从服务

MySQL 主从同步与分离
.
.
8 . 到此,就可以开启服务了
/usr/local/amoeba/bin/amoeba start& #开启amoeba服务

MySQL 主从同步与分离
.
.
9 .进入客户端
systemctl stop firewalld.service
setenforce 0 #关闭防火墙
yum install mysql -y #安装MySQL命令

MySQL 主从同步与分离
.
.
10 .mysql -u amoeba -p123123 -h 192.168.200.131 -P8066 #登录到群集数据库
MySQL 主从同步与分离
.
.
此时,从服务器只能读取主服务器,客户端能读取从服务器,写入到主服务器

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 主从同步与分离

本文链接: https://lsjlt.com/news/42528.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL 主从同步与分离
    说明:在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制的方式来同步数据,再通过读写...
    99+
    2024-04-02
  • redis主从同步与读写分离
    一、原理Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从复制的一些特点:...
    99+
    2024-04-02
  • MySQL数据库的主从同步配置与读写分离
    使用mysql主从复制的好处有: 1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务。 2、在主从服务器上分开处理用户的请求,可以提升数据处理效率。 3、将主服...
    99+
    2024-04-02
  • mysql主从同步分库分表同步
    一、mysql数据库的安装分别在master 和slave上源码安装mysql数据库1.1 安装相关包1.1.1 cmake软件cd /home/oldboy/tools/tar xf cmake-2.8....
    99+
    2024-04-02
  • 6\MySQL 主从同步 、 MySQL 读写分离 、 MySQL 性能调优
    day06一、mysql主从同步 二、数据读写分离三、MySQL优化++++++++++++++++++++++++++++++++一、mysql主从同步 1.1 主从同步介绍?从库服务器自动同步主库上数...
    99+
    2024-04-02
  • DBA成长之路---mysql主从同步,读写分离
    主从同步什么是主从同步: 让其他的数据库服务器自动同步正在提供服务的数据库服务器上 的数据。        1 添加授权用户&...
    99+
    2024-04-02
  • MySQL主从同步和读写分离如何配置
    这篇文章主要为大家展示了“MySQL主从同步和读写分离如何配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL主从同步和读写分离如何配置”这篇文章吧。 ...
    99+
    2024-04-02
  • mysql主从同步
    #!/bin/bash . /etc/rc.d/init.d/functions if [ $# -ne 0 ];then    echo "Usage:sh `basename $0`"    exit 1 fi #MASTER V...
    99+
    2017-01-13
    mysql主从同步
  • MySQL 主从同步
    一、概述     原理图如下:     功能: BinLog:二进制文件,存储MasterDB(主数据库)中修改数据的内容,存储内容的格式有Statement,Row,Mixed。 Relay Log:功能作用与Binl...
    99+
    2018-11-12
    MySQL 主从同步
  • MySQL 主从同步。
    Mysql 数据库安装: 服务器IP 地址规划:主服务器 IP 172.20.2.46 从服务器 IP 172.20.2.47 二、安装mysql服务器 1.将下载好的安装到解压到/usr/loca...
    99+
    2024-04-02
  • Mysql——主从同步
    一、什么是Binlog Mysql的二进制日志可以是Mysql最重要的日志, 记录了所有的DDL和DML语句(除了数据查询语句之外的语句)语句,以事件形式记录,还包含语句所执行的消耗时间,Mysql的二进制日志是事务安全型的。 二进制日志包...
    99+
    2023-10-26
    mysql 数据库 sql
  • MySQL 主从复制与读写分离
             在实际生产环境中,如果对数据库的读写都在同一块数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个...
    99+
    2024-04-02
  • SQL Server搭建主从同步实现读写分离
    一、概念简介 1.1、基本概念 1)读写分离概念:是把对数据库的读操作和写操作分离开。在一定程度上,读写分离可以缓解读写操作并发时产生锁的问题。 2)读写分离原理:是让主数据库处理事务性增、删、改操作(INSERT、DELETE、UPDA...
    99+
    2016-01-18
    SQL Server搭建主从同步实现读写分离
  • MYSQL的主从复制与读写分离
    在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是安全性,高可用性,还是高并发性等各个方面都是不能满足实际需求,因此,一般来说都是通过主从复制的方式来同步诗句,再通过读写分离来提升数...
    99+
    2024-04-02
  • MySQL主从不同步问题分析与处理思路
    之前部署了Mysql主从复制环境(MySQL主从复制环境部署【http://blog.itpub.net/31015730/viewspace-2153251/】)以及总结了mysql主从复制的原理和...
    99+
    2024-04-02
  • mysql 5.7 主从同步 gtid
    环境:1、(主) linux centOS 7 64位2、(从) linux centOS 7 64位3、(mysql)最好要求版本一致,从库不能比主库版本高 建议5.7 centos 7 默然安装mar...
    99+
    2024-04-02
  • MySQL主从同步部署
    主从同步部署1、两台相同版本的mysql数据库,一台做主库,一台从库 主库开启binlog在配置文件中的[mysqld]模块中添加log-bin=mysql-bin和server-id=1,一定要保证两台主...
    99+
    2024-04-02
  • mysql主从同步异常
    查看主从状态主服务器mysql> show master status;+------------------+-----------+--------------+-----------------...
    99+
    2024-04-02
  • 部署mysql主从同步
    部署mysql主从同步一、什么是mysql主从同步主:正在被客户端访问的数据库服务器,被称作主库服务器。从:自动同步主库上的数据的数据库服务器,被称作从库服务器。 二、配置mysql主从同步2.1 拓扑图数...
    99+
    2024-04-02
  • MySQL主从同步配置
    Mysql 主从同步原理 就是基于数据库里面的那个 binlog 文件进行数据同步 具体步骤: step1:master将数据改变记录到二进制日志(binary log)中。step2: 当slav...
    99+
    2023-09-09
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作