热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

企业之Mysql备份恢复

为什么要备份:备份的几个重要理由:灾难恢复、需求改变、审计、测试等;如测试定期用最新的生产环境中的数据更新到测试环境服务器需要考虑的问题:1、在不导致严

为什么要备份:备份的几个重要理由:灾难恢复、需求改变、审计、测试等;如测试定期用最新的生产环境中的数据更新到测试环境服务器需要考虑的问题:1、在不导致严

7、对于安全性要考虑周全,如果有人能接触到生产服务器,他是否能访问备份服务器

使用Mysqldump备份工具实现完全备份,并结合二进制日志实现增量备份

特点:逻辑备份工具、支持InnoDB热备份、MyISAM温备份;备份与恢复较慢

使用LVM逻辑卷快照功能实现几乎热血备份的完全备份,并结合二进制日志实现增量备份;简单介绍"mylvmbackup"一键备份工具的使用

特点:几乎接近于热备份、物理备份、备份与恢复较快

使用Xtrabackup备份工具实现完全备份与增量备份

特点:物理备份工具、支持InnoDB热备份、MyISAM温备份、速度较快

一、环境准备

1、安装Mysql数据库服务器

######安装编译环境 [root@localhost ~]# yum -y groupinstall "Server Platform Development" "Development tools" ######安装编译工具 [root@localhost ~]# yum install -y cmake ######创建Mysql用户 [root@localhost ~]# useradd -r mysql ######解压并安装Mysql [root@localhost ~]# tar xf mysql-5.5.33.tar.gz [root@localhost ~]# cd mysql-5.5.33 [root@localhost mysql-5.5.33]# cmake . \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径 > -DMYSQL_DATADIR=/mydata/data \ #数据存放路径 > -DSYSCOnFDIR=/etc \ #主配置文件目录 > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #下面三项启用支持的存储引擎 > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ > -DWITH_READLINE=1 \ #支持readline库 > -DWITH_SSL=system \ #支持SSL加密 > -DWITH_ZLIB=system \ #支持ZLIB压缩 > -DWITH_LIBWRAP=0 \ #支持Libwrap库 > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #Sock文件路径 > -DDEFAULT_CHARSET=utf8 \ #默认字符集 > -DDEFAULT_COLLATION=utf8_general_ci #默认字符集排序规则 ######编译并安装 [root@localhost mysql-5.5.33]# make && make install 注释: 如果想清理此前的编译所生成的文件,则需要使用如下命令 make clean rm CMakeCache.txt

2、为Mysql提供主配置文件与Sysv服务脚本

######为Mysql提供主配置文件 [root@localhost mysql-5.5.33]# cp support-files/my-large.cnf /etc/my.cnf ######为Mysql提供Sysv服务脚本 [root@localhost mysql-5.5.33]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld ######赋于Sysv脚本执行权限 [root@localhost mysql-5.5.33]# chmod +x /etc/rc.d/init.d/mysqld ######将Mysqld加入系统服务 [root@localhost mysql-5.5.33]# chkconfig --add mysqld [root@localhost mysql-5.5.33]# chkconfig mysqld on

3、让系统识别源码包安装的软件

[root@localhost mysql]# echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile [root@localhost mysql]# . /etc/profile [root@localhost mysql]# ln -s /usr/local/mysql/include /usr/include/mysql [root@localhost ~]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf [root@localhost ~]# ldconfig

4、修改Mysql主配置文件

[root@localhost mysql]# vim /etc/my.cnf datadir = /mydata/data #添加此行,数据存放目录 innodb_file_per_table = 1 #启用InnoDB表每表一个文件,,默认所有数据库使用一个表空间 log-bin=/binlog/mysql-bin #修改二制作存放目录5、为Mysql创建数据与二投井

5、为Mysql创建数据库与二进制存放目录

######创建数据、二进制存放目录与备份目录 [root@localhost ~]# mkdir -p /backup /mydata/data /binlog ######修改Mysql二进制与数据及备份目录的属主、属组为Mysql用户 [root@localhost mysql]# chown -R mysql.mysql /mydata/data [root@localhost mysql]# chown -R mysql.mysql /binlog /backup ######修改Mysql安装目录的属组为Mysql组 [root@localhost mysql]# chown -R :mysql *

6、初始化Mysql并启动服务

[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/mydata/data [root@localhost ~]# service mysqld start Starting MySQL......... SUCCESS! ######修改Mysql的root用户密码 [root@localhost ~]# mysqladmin -uroot password 'root@pass'

7、创建测试数据库与表并插入数据

[root@localhost ~]# mysql -uroot -proot@pass mysql> create database allen; mysql> use allen; mysql> create table tab1 (ID tinyint unsigned not null primary key auto_increment,Name char(20) not null unique key,Age tinyint unsigned,Gender char(1) default 'M'); mysql> insert into tab1 (Name,Age,Gender) values ('Zhang WuJi',26,'M'),('Zhao Min',24,'F');

二、使用Mysqldump备份工具备份

1、使用Mysqldump对"allen"数据库做备份并且滚动二进制日志,记录日志位置

[root@localhost ~]# mysqldump -uroot -proot@pass --lock-all-tables --routines --events --triggers --master-data=2 --flush-logs --databases allen > /backup/allen_`date +%F`.sql 注释: -u #指定用户名 -p #指定用户密码 -h #指定主机地址 -A|--all-databases #备份所有数据库 --databases #备份指定数据库 --single-transcation #基于此项可以实现对InnoDB表做热备份,但不需要使用 --lock-all-tables #执行备份时为所有表请求加锁 -E|--events #备份事件调度器代码 --opt #同时启动各种高级选项 -R|--routines #备份存储过程和存储函数 --flush-logs #备份之前刷新日志 --triggers #备份触发器 --master-data=2 #该选项将会记录binlog的日志位置与文件名并追加到文件中,如果为1将会输出CHANGE MASTER命令,主从下有用 ######更多选项请参考man手册
推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
author-avatar
用户v6poho0s7u
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有