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之后执行)

  1. CREATE USER 'cp_user'@'192.168.10.130' IDENTIFIED WITH mysql_native_password BY 'master2018!';
  2. GRANT REPLICATION SLAVE ON *.* TO 'cp_user'@'192.168.200.20';

  

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

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

  1. datadir=/var/lib/mysql
  2.  
  3. socket=/var/lib/mysql/mysql.sock
  4.  
  5. # Disabling symbolic-links is recommended to prevent assorted security risks
  6.  
  7. symbolic-links=0
  8.  
  9. log-error=/var/log/mysqld.log
  10.  
  11. pid-file=/var/run/mysqld/mysqld.pid
  12.  
  13. log-bin=mysql-bin
  14.  
  15. binlog_format=mixed
  16.  
  17. server-id=1 //服务器唯一性标识符,每台服务器配置必须保存不一样
  18.  
  19. read-only=0
  20.  
  21. binlog-do-db=hello //需要备份的那个数据库名叫 “hello”
  22.  
  23. auto-increment-increment=2 //这里设置用来台服务器来做备份,按个人情况定
  24.  
  25. auto-increment-offset=1 //表示这台服务器序号,从1开始,不超auto-increment-increment
  26.  
  27. //配置完该数据库中插入第一个数据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服务器:执行下面命令(配置同步的主服务器)

  1. CHANGE MASTER TO
  2.  
  3. MASTER_HOST=‘192.168.200.11’,
  4.  
  5. MASTER_USER='cp_user',
  6.  
  7. MASTER_PASSWORD='master2018!',
  8.  
  9. MASTER_LOG_FILE='mysql-bin.000002',
  10.  
  11. 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和一个备份服务器这个参数可以不要。

CentOS7配置Mysql热备份的更多相关文章

  1. centos7配置mysql

    一:mysql安装方法一:yum安装 下载并安装MySQL官方的 Yum Repository https://dev.mysql.com/ cd ~ wget -i -c https://dev.m ...

  2. 第一次项目上Linux服务器(五:CentOS7下Mysql数据库的安装与配置(转))

    好像在CentOS 7系统中,默认安装的mysql是它的分支mariadb.所以不能像CentOS-6.3那样安装,如下: [root@izwz ~]# yum -y install mysql my ...

  3. 阿里云 centos7.X mysql数据库安装、配置

    前言 1024阿里云搞活动,ecs云服务新用户促销活动,活动连接就不贴了,买了之后暂时不知道要做啥,想着先安装mysql数据库. 步骤 root用户登录进来 1.配置mysql的yum源,yum lo ...

  4. CentOS 7.2 安装配置mysql主从服务器

    MySQL官方压缩包安装: 1:下载mysql官方版本,此处以目前最新版本5.7.14为例,下载的64位版本文件为: mysql-5.7.14-linux-glibc2.5-x86_64.tar 2: ...

  5. [CentOs7]安装mysql(2)

    摘要 之前安装过一次mysql,最后配置,发现在本地无法连接,重启服务的时候一直卡在那里不动,感觉是安装的过程出问题,最后没办法还是卸载了,然后重新安装一下. [CentOs7]安装mysql Mys ...

  6. centos7安装mysql

    centos7安装mysql 1 查找系统是否安装了myql rpm -q mysql mysql-server1.1如果安装了.就删除 sudo yum -y remove mysql mysql- ...

  7. centos7安装mysql(yum)

    centos7安装mysql(yum) ----安装环境----依赖安装----检查mysql是否已安装----安装----验证是否添加成功----选择要启用的mysql版本----通过Yum安装my ...

  8. 记录下在阿里云linux上安装与配置Mysql

    环境:阿里云ECS服务器,系统为centos7.2 用户:root 参考博客:https://blog.csdn.net/kunzai6/article/details/81938613 师兄的哈哈哈 ...

  9. linux centos7下mysql安装--韩国庆

    首先我先给大家介绍下MariaDB和mysql的区别. 上图,“MySQL之父”的骨灰级程序员Monty,但是mysql被Oracle收购后,Monty又开始去发展另一条数据库的道路,并且以Monty ...

随机推荐

  1. NLP文本相似度(TF-IDF)

    本篇博文是数据挖掘部分的首篇,思路主要是先聊聊相似度的理论部分,下一篇是代码实战.       我们在比较事物时,往往会用到“不同”,“一样”,“相似”等词语,这些词语背后都涉及到一个动作——双方的比 ...

  2. VGA Signal Timing

    VGA Signal Timing 640 x 350 VGA 640x350@70 Hz (pixel clock 25.175 MHz) VESA 640x350@85 Hz (pixel clo ...

  3. go中的接口

    对于golang的接口,纠结两天了,今天有种茅塞顿开的感觉,有必要写点东西了. 纠结接口,说白了就是搞不透接口,方法,结构体几者之间的关系以及具体的用途.可以简单的从三者的定义说起,接口说白了就是一个 ...

  4. EasyNetQ介绍

    EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南.EasyNetQ是为了提供一个尽可能简洁的适用与R ...

  5. Go - 反射中 函数 和 方法 的调用 - v.Call()

    上一篇文章 说到了 Golang 中的反射的一些基本规则,重点就是文章中最后的三点,但是这篇文章并没有说如何在反射中调用函数和方法,这就是接下来要说的. 反射中调用 函数 众所周知,Golang 中的 ...

  6. AngularJS动态设置CSS

    使用AngularJS动态设置CSS大致有2种思路: 1.通过动态设置class名称 比如先定义2个样式: .show-true{    display:block;} .show-flase{    ...

  7. insert 语句后面不要跟 where 等条件语句

    insert 语句后面不要跟 where 等条件语句: update 才用得到.

  8. Java 导出 CSV

    package com.cib.cap4j.cfn.util; import java.io.BufferedWriter; import java.io.File; import java.io.F ...

  9. JMeter学习(二十三)关联

    话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...

  10. Android 百度地图开发(三)

    实现比例尺功能和替换自带的缩放组件 ScaleView是比例尺控件.ZoomControlView是缩放控件,MainActivity就是我们的主界面了 先看下ZoomControlView类.代码例 ...