1、mysql 数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好 mysql 数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现 mysql 数据库的热备份。  2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备 mysql 的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。

3、设置主数据库服务器:

a. 首先查看主服务器的版本是否是支持热备的版本。然后查看 my.cnf(类 unix)或者 my.ini(windows)中 mysqld 配置块的配置有没有 log-bin (记录数据库更改日志),因为 mysql 的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。

server-id=1 //数据库的 id 这个应该默认是1就不用改动

log-bin=log_name //日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称

binlog-do-db=db_name //记录日志的数据库

binlog-ignore-db=db_name //不记录日志的数据库

以上的如果有多个数据库用”,”分割开,然后设置同步数据库的用户帐号

mysql> GRANT REPLICATION SLAVE ON *.*

-> TO ‘repl’@'%.mydomain.com’ IDENTIFIED BY ’slavepass’;

4.0.2 以前的版本, 因为不支持 REPLICATION 要使用下面的语句来实现这个功能

mysql> GRANT FILE ON *.*

-> TO ‘repl’@'%.mydomain.com’ IDENTIFIED BY ’slavepass’;

设置好主服务器的配置文件后重新启动数据库

b.锁定现有的数据库并备份现在的数据

mysql> FLUSH TABLES WITH READ LOCK;

备份数据库有两种办法一种是直接进入到 mysql 的 data 目录然后打包你需要备份数据库的文件夹,第二种是使用 mysqldump 的方式来备份数据库但是要加上”–master-data ” 这个参数,建议使用第一种方法来备份数据库

c.查看主服务器的状态

mysql> show master status\G;

+—————+———-+————–+——————+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+—————+———-+————–+——————+

| mysql-bin.003 | 73 | test | manual,mysql |

+—————+———-+————–+——————+

记录 File 和 Position 项目的值,以后要用的。

d.然后把数据库的锁定打开

mysql> UNLOCK TABLES;

4、设置从服务器

a.首先设置数据库的配置文件

server-id=n //设置数据库 id 默认主服务器是1可以随便设置但是如果有多台从服务器则不能重复。

master-host=db-master.mycompany.com //主服务器的IP地址或者域名

master-port=3306 //主数据库的端口号

master-user=pertinax //同步数据库的用户

master-password=freitag //同步数据库的密码

master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差

report-host=db-slave.mycompany.com //报告错误的服务器

b.把从主数据库服务器备份出来的数据库导入到从服务器中

c.然后启动从数据库服务器,如果启动的时候没有加上 “–skip-slave-start” 这个参数则进入到 mysql 中

mysql> slave stop; //停止 slave 的服务

d.设置主服务器的各种参数

mysql> CHANGE MASTER TO

-> MASTER_HOST=’master_host_name’, //主服务器的IP地址

-> MASTER_USER=’replication_user_name’, //同步数据库的用户

-> MASTER_PASSWORD=’replication_password’, //同步数据库的密码

-> MASTER_LOG_FILE=’recorded_log_file_name’, //主服务器二进制日志的文件名,前面要求记住的参

-> MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)

e.启动同步数据库的线程

mysql> slave start;

查看数据库的同步情况吧。如果能够成功同步那就恭喜了!

查看主从服务器的状态

mysql> SHOW PROCESSLIST\G //可以查看 mysql 的进程看看是否有监听的进程

如果日志太大清除日志的步骤如下

1.锁定主数据库

mysql> FLUSH TABLES WITH READ LOCK;

2.停掉从数据库的 slave

mysql> slave stop;

3.查看主数据库的日志文件名和日志文件的 position

show master status;

+—————+———-+————–+——————+

| File | Position | Binlog_do_db | Binlog_ignore_db |

+—————+———-+————–+——————+

| louis-bin.001 | 79 | | mysql |

+—————+———-+————–+——————+

4.解开主数据库的锁

mysql> unlock tables;

5.更新从数据库中主数据库的信息

mysql> CHANGE MASTER TO

-> MASTER_HOST=’master_host_name’, //主服务器的IP地址

-> MASTER_USER=’replication_user_name’, //同步数据库的用户

-> MASTER_PASSWORD=’replication_password’, //同步数据库的密码

-> MASTER_LOG_FILE=’recorded_log_file_name’, //主服务器二进制日志的文件名,前面要求记住的参数

-> MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)

6.启动从数据库的 slave

mysql> slave start;

mysql双机数据热备份_配置MySQL数据库双机热备份相关推荐

  1. mysql 表数据转储_在MySQL中仅将表结构转储到文件中

    mysql 表数据转储 For this exercise, we will use the mysqldump utility the same as if we were backing up t ...

  2. mysql 分片 数据迁移_简述MySQL分片中快速数据迁移_MySQL

    推荐阅读:MySQL 数据库跨操作系统的最快迁移方法 mysql 备份与迁移 数据同步方法 操作实践背景: travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQ ...

  3. mysql留存数据表_用mysql统计留存率

    分析中留存是个非常重要的指标,很多数据分析平台都提供留存数据的web端展现服务 那么,如何基于一个用户行为表,用mysql得到留存数据呢? 基于一个日常的用户行为表(比如登陆,测量等),用mysql直 ...

  4. mysql百万数据删除_【MySQL】删除大量数据的具体实现

    ourmysql博客中提供了 <大表删除数据的思路>,对于大表依据主键删除的思路是必须的,删除几千万的数据还算是比较简单的,如果你的数据库中的表高达数百亿条记录 ,删除其中的几十亿,就需要 ...

  5. mysql cluster 数据文件_关于MYSQL CLUSTER数据文件存放节点错误问题 -问答-阿里云开发者社区-阿里云...

    SQL节点,DATA节点均已配置正常,但是出现一个匪夷所思的问题. 在33节点执行了建库脚本及建表脚本,发现数据文件在33和34两个SQL节点存在,按理说数据文件应该数据节点上的DATADIR. Co ...

  6. 随机从mysql中读取_如何实现MySQL表数据随机读取?从mysql表中读取随机数据

    文章转自 http://blog.efbase.org/2006/10/16/244/ 如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysq ...

  7. mysql lint的范围_【MySQL】MySQL数据类型

    MySQL表数据存储大小说明 MySQL中规定,任何一条记录(数据表中每行数据)理论上的最大存储容量为 2^16 - 1 (Bytes) = 65535字节. MySQL数据类型思维导图 MySQL数 ...

  8. mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...

    二.配置MySQL双机热备 传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档.故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/m ...

  9. mysql 优化配置 大批量数据插入_[译] MySQL 最佳实践 —— 高效插入数据

    当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到,逐条发送 INSERT 语句并不是一个可行的方法. MySQL 文档中有些值得一读的 INSERT 优化技巧. 在这篇文章里,我将 ...

最新文章

  1. ERROR: from PIL import Image ImportError: No module named PIL
  2. bootstrap之div居中
  3. Java学习笔记(43)——Java泛型
  4. Compile a native C Android application
  5. 北京电子科技学院计算机怎么样,北京电子科技学院计算机技术怎么样
  6. 使用Excel公式,获取 当前 Excel 文件 的 名字
  7. MathType|强大的数学公式编辑器
  8. 学计算机电脑厚度23mm,电脑桌尺寸标准
  9. composer 安装laravel
  10. 电脑文件夹都有什么奇葩的名称?程序员:从古至今没有出过车祸!
  11. 董明珠表示“格力不能更好运营,我绝不交班”,现实由不得她
  12. 91p3.space/index.php,writeup_for_SCTF2016
  13. Playing Atari with Deep Reinforcement Learning
  14. Hadoop安装配置
  15. 转:Android实时获取音量(单位:分贝)
  16. C++学习之boost安装及thread使用
  17. matlab编程刀尖频响,用半理论法预测主轴系统刀尖点频响函数
  18. ps拾取颜色设置文字颜色
  19. 广东电信公话200专用话机话务动态分析系统的构建
  20. 基于区块链的电子档案及其流转管理系统

热门文章

  1. java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...
  2. python日期格式转换_python中有关时间日期格式转换问题
  3. python3多线程编程_Python 3-多线程编程
  4. android之phonegap入门
  5. Scrapy-redis 源码分析 及 框架使用
  6. C 和 C++ 文件操作详解
  7. Java并发编程实战~原子类
  8. pgsql处理文档类型数据_【干货总结】:可能是史上最全的MySQL和PGSQL对比材料
  9. 现代程序设计 作业6 - 简单而有意义的题目
  10. HTML用户点击新建按钮,html – 需要点击按钮