mysql集群--基于centos7
1 MySQL主从备份
主机:192.168.43.8
从机:192.168.43.6
条件:主机和从机都安装了mysql,开启了二进制日志
安装mysql (mysql 和 mysql-server) 参考:https://www.cnblogs.com/CloudComputing-binbin/p/14458826.html
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm #下载包
rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-server
其他linux发行版的可以直接:
yum install mysql mysql-server
第一步:主机和从机都开启二进制日志
vi /etc/my.cnf
在[mysqld]后加上下面两行
log-bin=mysql-bin
server-id=6 //server-id 为ip地址最后一段

我的主机server-id=8 , 从机server-id=6
systemctl restart mysqld
第二步:在主服务器上授权,从服务器保存授权的信息主服务器 192.168.43.8
grant replication slave on *.* to slave@'192.168.43.6' identified by '123456'; //用户,密码,ip为从机的
show master status; //要用到file 和 position

第三步:接受授权
从服务器 192.168.43.6
change master to master_user='slave',
master_password='123456',
master_host='192.168.43.8',
master_log_file='mysql-bin.000001',
master_log_pos=330;

在/var/lib/mysql 目录下会生成 master.info 文件
开启从服务器并查看
start slave; //进入mysql
show slave status\G; //下图双yes即成功,第一个为解析文件,第二个为解析sql语法

一主多从也是如此
测试在主服务器创建一个新的数据库,看看从机有没有
主从服务器:
1 备份的作用
2 从服务器分摊主服务器的查询压力(负载均衡)
2 主主备份 (相当于互为主从)
主主服务器: 均摊写压力
/etc/my.cnf 配置文件
log-bin=mysql-bin //开启二进制文件
server-id=8
replicate-do-db=text //需要写入二进制文件(需要备份)
binlog-ignore-db=mysql //不需要写人二进制文件(不需要备份)
binlog-ignore-db=information_schema
auto-increment-increment=2 //防止主键冲突,数据id从1开始,每次加2,即1,3,5...
auto-increment-offset=1
两台主服务器都配置一样的,并且相互授权(都执行第一,二步)
两边都执行,就是说,互为主从
3 一主多从一个主服务器授权给两个从服务器
从服务器都执行第三步
4 多主一从从服务器开通两个线程(给两个端口),一个给一个主,另一个给另一个主
两主服务器:开启bin-log 以及增加授权(第一,二步)
从服务器:配置/etc/my.cnf 在最后面加
[mysqld_multi]
mysqld=/usr/bin/mysqld_safe
mysqladmin=/usr/bin/mysqladmin
log=/tmp/multi.log
#下面为两个线程,除了server-id相同,其他都不同
[mysqld10]
port=3306
datadir=/var/lib/mysqla/
pid-file=/var/lib/mysqla/mysqld.pid
socket=/var/lib/mysqla/mysql.sock
user=mysql
server-id=30 [mysqld20]
port=3307
datadir=/var/lib/mysqlb/
pid-file=/var/lib/mysqlb/mysqld.pid
socket=/var/lib/mysqlb/mysql.sock
user=mysql
server-id=30
初始化数据库,生成目录mysqla, mysqlb
mysql_install_db --datadir=/var/lib/mysqla --user=mysql //初始化数据库,生成mysqla
mysql_install_db --datadir=/var/lib/mysqlb --user=mysql //初始化数据库,生成mysqlb
设置mysqla, mysqlb目录及以下目录文件的属主为mysql(防止出现权限问题)
chown -R mysql /var/lib/mysqla/
chown -R mysql /var/lib/mysqb/
启动从服务器线程
mysqld_multi --defaults-file=/etc/my.cnf start 8
netstat -anpt //查看tcp端口是否开放3306
mysqld_multi --defaults-file=/etc/my.cnf start 9
netstat -anpt //查看端口是否开放3307
//后面的数值对应主机的server-id
登录并保存授权信息
mysql -u root -p -P 3306 -S /var/lib/mysqla/mysql.sock
进入mysql后
change master to master_user='slave',master_password='123456',master_host='192.168.43.8',master_log_file='mysql-bin.000001',master_log_pos=330;
start slave;
show slave status\G;
// -S, --socket=name #连接服务器的sockey文件
换 3307再来一遍
mysql -u root -p -P 3307 -S /var/lib/mysqla/mysql.sock
进入mysql后 change master to master_user='slave',master_password='123456',master_host='192.168.43.8',master_log_file='mysql-bin.000001',master_log_pos=330;
start slave;
show slave status\G;
测试:
分别在两主服务器创建数据库,然后进入从服务器的相应端口查看是否存在新创建的数据库
进入从服务器数据库
mysql -u root -p -P 3306 -S /var/lib/mysqla/mysql.sock
mysql -u root -p -P 3307 -S /var/lib/mysqla/mysql.sock
mysql集群--基于centos7的更多相关文章
- mysql集群基于docker 在centos上
新博客https://blog.koreyoshi.work/ mysql集群(PXC)基于docker 在centos上 常用设计方案 Replication(复制) 速度快 弱一致性 低价值 场景 ...
- docker搭建基于percona-xtradb-cluster方案的mysql集群
一.部署环境 序号 hostname ip 备注 1 manager107 10.0.3.107 centos7;3.10.0-957.1.3.el7.x86_64 2 worker68 10.0.3 ...
- MySQL集群架构:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken
MHA简介 MHA可以自动化实现主服务器故障转移,这样就可以快速将从服务器晋级为主服务器(通常在10-30s),而不影响复制的一致性,不需要花钱买更多的新服务器,不会有性能损耗,容易安装,不必更改现有 ...
- mysql集群搭建--韩国庆
按照我给大家提供的步骤,一步一步来,你就能配好mysql集群环境 什么是mycat 简单的说,MyCAT就是: •一个彻底开源的,面向企业应用开发的“大数据库集群” •支持事务.ACID.可以替代My ...
- MySQL集群-PXC搭建以及使用innobackupex工具进行全局备份和增量备份
环境:centos7 vm1:10.154.47.236 vm2:10.154.52.189 vm3:10.105.12.50 目的:pxc使用三个节点构建mysql集群,使用innobackupex ...
- Mycat搭建负载均衡,读写分离的Mysql集群
Mycat搭建负载均衡,读写分离的Mysql集群 准备环境 1.mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 2.Mycat-server-1.6.7.4-te ...
- 京东分布式MySQL集群方案介绍
背景 数据库作为一个非常基础的系统,任何一家互联网公司都会使用,数据库产品也很多,有Oracle.SQL Server .MySQL.PostgeSQL.MariaDB等,像SQLServer/Ora ...
- 高可用性、负载均衡的mysql集群解决方案
高可用性.负载均衡的mysql集群解决方案 一.mysql的市场占有率 二.mysql为什么受到如此的欢迎 三.mysql数据库系统的优缺点 四.网络服务器的需求 五.什么是mysql的集群 六.什么 ...
- 分布式MySQL集群方案的探索与思考
转载:http://www.infoq.com/cn/articles/exploration-of-distributed-mysql-cluster-scheme?utm_campaign=rig ...
随机推荐
- 微服务架构 | 7.1 基于 OAuth2 的安全认证
目录 前言 1. OAuth2 基础知识 1.1 安全性的 4 个组成部分 1.2 OAuth2 的工作原理 1.3 OAuth2 规范的 4 种类型的授权 1.4 OAuth2 的优势 1.5 OA ...
- mybatis 配置文件 简单介绍
配置文件? 一. properties属性:可以引入外部的属性文件,可以自定义属性信息,供后续的节点使用: 注意!外部文件 定义在SRC目录下 否则找不到资源.二. settings设置:全局的配置信 ...
- spring学习五:Spring Bean 定义继承
Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定义可以根据需要 ...
- 报错:java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
感谢原文作者:风起云淡- 原文链接:https://blog.csdn.net/shenguan777/article/details/78615521 异常分析: 在使用MySql时,如果数据库中有 ...
- VC里打开网页
转载请注明来源:https://www.cnblogs.com/hookjc/ 1 ShellExecute 开放分类: API 编程 ShellExecute函数原型及参数含义如下: She ...
- JS创建快捷方式
转载请注明来源:https://www.cnblogs.com/hookjc/ <script type="text/javascript" language="j ...
- git每次操作都要输入账号密码 解决方案
1.执行命令: git config --global credential.helper store git pull 2.输入用户名密码,以后就不会再次要求用户名密码了
- PHP操作Mysql疑问?
1.Mysql控制台乱码 set character_set_results = 'utf8';
- Linux 源码安装Ansible 参考篇
Ansible 源码搭建配置 近期在学习自动化运维相关技术,文章主要模拟内网情况下对Ansible的安装演示,源码安装较为繁琐.枯燥,尤其是在实际安装过程中可能出现各式各样的问题,所有在安装过程中尽量 ...
- 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)
1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容.由于java不像python那样有直接操作Excle文件的类 ...