CentOS7配置Mysql热备份

Mysql 的安装:

本人习惯讲安装包放在 /usr/local/src/

①.[root@localhost ~]#cd /usr/local/src/

②.[root@localhostsrc]#wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

③.[root@localhostsrc]#rpm-ivh mysql57-community-release-el7-8.noarch.rpm

④.[root@localhost src]#  yum -y install mysql-server

默认配置文件路径: 配置文件:/etc/my.cnf 日志文件:/var/log/var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid

注意:安装完mysql服务器登录密码是随机的,需要重置密码。

查看临时密码随机:

  [root@localhost ~]# grep "password" /var/log/mysqld.log

现在就可以用这个密码进行登录了:mysql -uroot -p

Mysql安装结束!

开始今天的主菜:一台主服务器-一台备份服务器实现热备份:

1. 首先保证两台服务器mysql版本一致,同时防火墙都对3306开放

当前环境:

A服务器 ip:192.168.200.11   准备作为主服务器master

B服务器 ip: 192.168.200.20   用于备份的服务器slave

一.在A服务器上操作 1.创建专门用于备份的 用户(登录mysql之后执行) mysql>grant replication slave on *.* to 'cp_user'@'192.168.200.20' identified by 'master2018!';

(注意:这里的cp_user 和 master2018! 是一会儿备份服务器配置是需要用到的master服务器的用户名和密码,需要记下来)

2.修改 MySQL配置文件: /etc/my.cnf

datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock   # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0   log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid   log-bin=mysql-bin binlog_format=mixed server-id=1 //服务器唯一性标识符,每台服务器配置必须保存不一样   read-only=0   binlog-do-db=hello  //需要备份的那个数据库名叫 “hello” auto-increment-increment=2  //这里设置用来台服务器来做备份,按个人情况定 auto-increment-offset=1 //表示这台服务器序号,从1开始,不超auto-increment-increment //配置完该数据库中插入第一个数据id=1,第二条数据id=3而不是2,避免的数据库集群中id冲突

重新启动mysql服务!

3.执行 mysql>show master status\G(看到下面信息)

mysql-bin.000002和154这两个值需要记得后面有用(刚安装完的数据库可能是mysql-bin.000001

查看master配置:

注意:到这master已经配置完成了!加油,已经成功一半了

下面配置备份服务:

二.B服务器操作:(安装过程都一样这里不重复)

1.修改MySQL /etc/my.cnf 文件:

看最后六行配置。

配置完保存修改,重新启动mysql服务!

2.登录B服务器的mysql服务器:执行下面命令(配置同步的主服务器)

CHANGE MASTER TO        MASTER_HOST=‘192.168.200.11’,         MASTER_USER='cp_user',         MASTER_PASSWORD='master2018!',         MASTER_LOG_FILE='mysql-bin.000002',         MASTER_LOG_POS=154;

到这里就算是完成99%了,重启B服务器的MySQL服务:service mysql restart

查看slave上备份线程的工作情况:

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

两个当中如果有一个不是yes都是有问题的,本人第一次运行时遇到了第一个是no,第二个是yes,经过检测是上一步骤中MASTER_LOG_POS=154 这个值没有和master上面获的的Position的值一致,重新执行B服务器的操作2,参数输入正确就行。

IP不正确或者防火墙未对3306开发都可能导致错误。 

My.cnf文件中的常见参数讲解 server-id 必须保证每个服务器不一样。 这可能和循环同步有关。 防止进入死循环。 replicate-do-db 可以指定需要复制的数据库。 replicate-ignore-db 复制时需要排除的数据库, 我使用了,这个。 除开系统的几个数据库之外,所有的数据库都复制。 relay_log 中继日志的名字。 前面说到了, 复制线程需要先把远程的变化拷贝到这个中继日志中, 在执行。 log-slave-updates 意思是,中继日志执行之后,这些变化是否需要计入自己的binarylog 当你的B服务器需要作为另外一个服务器的主服务器的时候需要打开。  就是双主互相备份,或者多主循环备份。如果只是一个master和一个备份服务器这个参数可以不要。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏抠抠空间

Django之logging日志

简介 Django使用python自带的logging 作为日志打印工具。简单介绍下logging。 logging 是线程安全的,其主要由4部分组成: Log...

7846
来自专栏Android干货

Android studio 下的SDK Manager只显示已安装包的情况

3839
来自专栏散尽浮华

linux系统下的权限知识梳理

下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明。 linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有其他的一些特...

2926
来自专栏吴伟祥

Webjar是什么

4242
来自专栏情情说

Netty事件监听和处理(下)

上一篇 介绍了事件监听、责任链模型、socket接口和IO模型、线程模型等基本概念,以及Netty的整体结构,这篇就来说下Netty三大核心模块之一:事件监听和...

4155
来自专栏搜云库

CentOs7.3 ssh 免密登录

环境 三台虚拟机(IP): 192.168.252.121 192.168.252.122 192.168.252.123 1.修改主机名 修改三台主机名,以此...

3595
来自专栏Jack-Cui

Ubuntu12.04下配置Eclipse+PyDev

开发平台:Ubuntu12.04 IDE:Eclipse3.7.2 python版本:python3.4.4     搭建Eclipse+PyDev的开发环境,...

2100
来自专栏全华班

系统方案合集-RedHat安装WebLogic11g软件

导读 | RedHat安装WebLogic11g 一、安装JDK 切换到root用户,在安装盘server目录下执行 rpm -ivh java-1.6.0...

4077
来自专栏闵开慧

hibenate中log4j.properties文件添加到eclipse中

Hibernate用log4j包来做日志输出,这就要求项目中创建一个log4j的配置文件log4j.properties,否则有些运行日志就无法看到(不会影响程...

3485
来自专栏Aloys的开发之路

如何发布Maven依赖到中央仓库

平时我们都是从Maven中央仓库下载依赖,如果我们想发布我们自己写的Maven依赖到中央仓库供别人下载使用应该怎么办?这里以上传自己写的simian-maven...

3033

扫码关注云+社区

领取腾讯云代金券