Linux Mysql集群搭建

比特逸风
• 阅读 1353

为什么要进行mysql集群搭建

如果项目中使用单台数据库,如果由于不可抗因素导致设备损坏,数据丢失,将直接影响用户的使用.需要需要进行优化.
数据库备份方式
数据库冷备份

说明:定期将数据库中的文件通过sql的方式进行转储.保证数据在一定时间之内得到备份.
缺点: 由于是定期备份,所以可能会导致数据的丢失.
数据库的冷备份 是恢复数据的最后有效的手段.所以一直延续使用.

数据库热备份

说明: 由于数据库的同步的操作在工作中特别的频繁,所以作为数据库的开发人员,也设计了数据库如何进行同步.
同步的步骤:
1、数据库主库如果需要启动同步策略,则必须开启二进制日志文件.(默认条件下是关闭的.)
2、当用户"更新"数据库时,主库会将更新信息写入二进制日志文件中. (主库任务结束)
从库会利用IO线程读取主库中更新的二进制日志文件.
3、IO线程会将读取到的信息采用异步的方式先保存到中继日志中.(中继临时存储数据的媒介)
4、SQL线程会读取中继日志中的信息,之后将sql语句同步到从数据库中.至此实现了主从的同步…

实现数据库主从搭建

首先要准备两台虚拟机,分别安装Mariadb,两台虚拟机的mac网络地址要不一样,然后修改为自己想要的ip地址。

1、修改虚拟机ip地址

依次执行如下命令,修改ip地址:

cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33

Linux Mysql集群搭建
重启网卡,检测ip地址是否正确

server network restart

Linux Mysql集群搭建

2、分别下载安装mariadb数据库(详见另一篇《Linux下mariadb的安装》)
3、开启主库二进制文件

命令: vim /etc/my.cnf
Linux Mysql集群搭建
Linux Mysql集群搭建

4、重启主数据库

命令:
cd /var/lib/mysql/
systemctl restart mariadb

5、配置从数据库

Linux Mysql集群搭建

5、重启从数据库
6、实现主从挂载

在Navicat中执行如下命令:
主库: 192.168.126.129 master
从库: 192.168.126.130 slave

7、检查主库状态

命令:show master status
Linux Mysql集群搭建

8、实现主从挂载

从库中执行如下代码:

CHANGE MASTER TO MASTER_HOST="xxx.xxx.xxx.xxx"#主库的ip地址
MASTER_PORT=3306#主库的端口
MASTER_USER="xxxx"#主库账号
MASTER_PASSWORD="xxxx"#主库密码
MASTER_LOG_FILE="mysql-bin.000001"#主库的二进制日志名称
MASTER_LOG_POS=245#主库的Position

Linux Mysql集群搭建
如果因为数据库多次重启导致生成了多个二进制日志文件,可以将多余文件删除后,重启数据库,再次执行挂载命令即可

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
RAC环境单实例启动数据库收到ORA
     在RAC环境中,如果你在没有启动节点的集群服务的情况下单实例启动数据库,将收到类似如下的报错:\oracle@rhel1u01\$sqlSQL\Plus:Release10.2.0.5.0ProductiononTueApr215:00:272013Copyright(
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
Linux系统Mysql备份的导入导出
Mysql备份如果您使用的是帮助中心的一键环境配置,mysql的安装目录是/alidata/server/mysql,如果您将mysql安装到其他目录,您需要输入您mysql完整的安装路径。单库备份您可以在服务器上执行/alidata/server/mysql/bin/mysqldumpurootp密码数据库
Stella981 Stella981
3年前
Linux环境mysql快速备份及迁移
    在项目实施的过程中,经常会面临数据库迁移,导出和导出数据,如果用普通的mysql客户端备份,时间较长且容易出错。那么mysql快速备份及迁移,就成为数据库迁移的重中之重。下面介绍我在项目实现过程中用到的方法。   1.为了方便,这边直接将需要执行的SQL语句写成脚本dbbak.sh。脚本内容如下:    !/b
Wesley13 Wesley13
3年前
mysql 数据库集群搭建:(三)CentOS 7.2 MariaDB 10.2 galera 集群安装
《mysql数据库集群搭建:(一)VirtualBox中多台CentOS虚拟机间和windows主机间互通以及访问互联网设置》(https://my.oschina.net/ioooi/blog/1186765)《mysql数据库集群搭建:(二)3台CentOS7安装PerconaXtraDBCluster57集群》(https:/
Wesley13 Wesley13
3年前
mysql Backup &recovery
如果您要在MySQL数据库中存储任何您不想丢失的内容,那么定期备份数据以保护数据免受损失非常重要。本教程将向您展示两种简单的方法来备份和恢复MySQL数据库中的数据。您还可以使用此过程将数据移动到新的Web服务器。从命令行备份(使用mysqldump)(https://www.oschina.net/action/GoToLink?urlh
Wesley13 Wesley13
3年前
MySql 备份+ 高可用(二)
一、Xtrabackup介绍  MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
MongoDB 分片管理(一)检查集群状态
一、检查集群状态1.1使用sh.status()查看集群摘要信息1、使用sh.status()可以查看分片信息、数据库信息、集合信息sh.status()如果数据块较多时,使用sh.status(true)又是输出会很多,就不会截断,要使用如下查看2、tooman
Stella981 Stella981
3年前
Django连接Mysql数据库
Mysql数据库具有灵活,轻量级易操作的优势,因此我选择使用mysql作为服务器的数据库。python的Django如果要操作数据库,需要与数据库建立连接,在此之后才可以对数据库进行操作Django项目默认使用的数据库是sqlite3,首先我们需要将数据库配置更改为mysql在项目根模块的\\newpro\\settings.py中,我们可以查询
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(