首页 > 数据库 >Mysql数据备份

Mysql数据备份

时间:2024-03-08 14:23:25浏览次数:29  
标签:用户名 -- 备份 Mysql 数据备份 mysqldump mysql 数据库

一、数据库备份 1、备份可分为完全备份、差异备份、增量备份 2、常见备份方法: 物理备份:冷备份,在数据库关闭状态下进行备份 启用二进制日志进行增量备份:二进制日志为用户提供复制、对执行备份点后进行的数据库更改所需的信 息进行备份。 二、备份操作 1、完全备份

  • 1、直接打包数据库文件夹,源码包位置/usr/local/mysql/data/, rpm包位置/var/lib/mariadb
  • 2、创建备份位置mkdir backup 将数据单个库进行完全备份
  • 格式:mysqldump -u用户名 -p[密码] [选项] --databases [数据库名] > /备份路径/备份文件名
  • mysqldump -uroot -p123456 --databases auth > backuper/auth-$(date+%Y%m%d).sql
  • 3、对多个库进行完全备份:
  • 格式:mysqldump -u用户名 -p [密码] [选项] --databases 库名1 [库名2]… > /备份路径/备份文件名
  • mysqldump -uroot -p123456 --databases mysql auth > backup/mysql+auth-$(date +%Y%m%d).sql
  • 4、对所有库进行完全备份:
  • 格式:mysqldump -u用户名 -p [密码] [选项] --opt --all-databases > /备份路径/备份文件名
  • mysqldump -uroot -p123456 --opt --all-detabases > backuper/mysql_all.$(date +%Y%m%d).sql
  • 5、对表进行完全备份:
  • 格式:mysqldump -u用户名 -p [密码] [选项] 数据库名 表名 > /备份路径/备份文件名
  • mysqldump -uroot -p123456 auth user > backuper/auth_user-$(date +%Y%m%d).sql
  • 6、对表结构进行备份
  • 格式:mysqldump -u用户名 -p [密码] -d 数据库名 表名 > /备份路径/备份文件名
  • mysqldump -uroot -p123456 -d mysql user > backup/desc_mysql_user-$(date +%Y%m%d).sql
  • 七、恢复数据库
  • 1、source命令
  • 登录到数据库,执行source备份sql脚本路径
  • drop dtabase auth;
  • source backup/auth.sql即可恢复
  • 2、mysql命令
  • 格式:mysql -u用户名 -p [密码] < 库备份脚本的路径
mysql -u用户名 -p [密码] 库名 < 表备份脚本的路径 八、备份思路 1、定期实施备份,制定备份计划或策略,并严格遵守。 2、除了进行完全备份,开启MySQL服务器的binlog日志功能是很重要的(完全备份加上日志,可以对MySQL进行最大化还原)。 3、使用统一和易理解的备份名称,推荐使用库名或者表名加上时间的命名规则,如mysql_user-20181214.sql,不要使用backup1或者abc之类没有意义的名字。 9、更改字符集 [root@localhost ~]# vim /etc/my.cnf [mysqld] character_set_server=utf8 查看字符集是否支持中文 show variables like 'character_set_%'; 三、增量备份 1、特点 没有重复的,备份量小 恢复需要一次一次的恢复 通过二进制日志(bing logs)实现增量备份 二进制日志保存了所有更新数据的数据库操作(sql语句) 二进制日志在mysql服务器开始后开始记录,并在文件达到max_binlod_size所设置的大小 vim /etc/my.cof log-bin=mysql-bin max_binlog_size=1024000 #二进制日志最大1M 2、增量恢复 格式:mysqlbinlog [--no-defaults] 增量备份文件 | mysql -u用户名 -p密码 3、基于时间点的恢复,便于跳过某个发生错误的时间点实现数据恢复 开头到某个时间点 mysqbinlog [--no-defaults] --stop-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u 用户名 -p 密码 某个时间点到结尾恢复 mysqlbinlg [--no-defaults] --start-datetime='年-月-日 小时:分钟:秒’二进制日志 | mysql -u 用户名 -p 密码 某个时间点到某个时间点 mysqlbinlog [--no-defaults] --start-datetime=’年-月-日 小时:分钟:秒’ --stop-datetime=’年-月-日 小时:分钟:秒’ 二进制日志 | mysql -u用户名 -p密码 四、企业备份策略 1. 确定当前mysql 是处于哪种表类型下工作的,它们支持事物处理还是非事物的,因为我们需要根据不同的特点来做一些设置。 2. 要选择备份的形式是完全备份还是增量备份,它们各有优缺点。 3. 为了保证恢复的完整性,我们得开启binary log功能,同时binlog给恢复工作也带来了很大的灵活性,可以基于时间点或是位置进行恢复。考虑到数据库性能,我们可以将binlog文件保存到其他安全的硬盘中。 4. 备份操作和应用服务同时运行,这样就十分消耗系统资源了,会导致数据库服务性能下降,这就要求我们选择一个合适的时间(比如在应用负担很小的时候)再来进行备份操作。 5. 不是备份完就万事大吉,我们还得确认备份是否可用,所以之后的恢复测试是完全有必要的。   l 根据数据更新频繁,则应该较为频繁的备份 l 数据重要,则在有适当更新时进行备份 l 在数据库压力小的时段进行备份,如一周一次完全备份,然后每天进行增量备份 l 中小公司,全备一般可一天一次 l 大公司可每周进行一次全备,每天进行一次增量备份 l 尽量为企业实现主从复制架构

标签:用户名,--,备份,Mysql,数据备份,mysqldump,mysql,数据库
From: https://www.cnblogs.com/wxfboke/p/18060859

相关文章

  • MYSQL学习笔记4: DML数据操作(增删改)
    DML数据操作(增删改)INSERT插入给指定字段插入数据insertinto表名(字段1,字段2...)values(值1,值2);向itcast的worker表的制定字段中插入一条新数据insertintoworkers(id,workNo,name,gender,age,idCard,entryDate)values(1,'1','hikari39','女',2......
  • MYSQL学习笔记3: DDL表修改
    DDL表修改在表中添加新字段#格式ALTERTABLE表名ADD字段名(长度)[COMMENT注释][约束];#在itcast表中新建一个nickname字段altertableitcastaddnicknamevarchar(20)comment'昵称';修改字段数据类型altertable表名modify字段名新数据类型(长度);修改字段名......
  • MYSQL学习笔记2: 数据类型
    数据类型数值类型TINYINTUNSIGNED无符号的tinyintDOUBLE(4,1)整体长度为4,小数位数为1的DOUBLE数据字符串类型CHAR(10)定长字符串,最多存储10个字符,占用10个字符的内存VARCHAR(10)变长字符串,最多存储10个字符,根据实际字符的长度计算内存空间对于CHAR和VARCHA......
  • MySQL查询优化方案汇总(索引相关)
    索引相关类型隐式转换大坑**字段filed1是varchar类型,且加了索引,如果wherefiled1=123;type可能是all,因为123是数字类型,mysql内部会用函数做隐式转换,用了函数,索引就失效了。**大数据深度分页,用主键selectfield1,field2fromtablelimit100000,10;selectfield1,fiel......
  • Linux 安装MySQL
    参考1.安装MySQLsudoapt-getinstallmysql-client-core-8.0sudoapt-getinstallmysql-server#安装MySQL数据库sudoapt-getinstalllibmysqlclient-dev#安装MySQL开发包安装新版本mysql,root密码是随机的,也不是空密码,所以要通过查看随机密码进入,再......
  • MySQL常用语句
    目录1.创建数据库2.删除数据库3.使用数据库4.创建表5.删除表6.插入数据7.查询数据8.更新数据9.删除数据10.连接两个或多个表11.排序数据12.限制返回的数据数量13.创建索引14.删除索引15.创建主键16.删除主键17.创建外键18.删除外键1.创建数据库CREATEDATA......
  • Mysql-索引
    主键索引:表的主键为B+Tree的key。二级索引:二级索引的value是表的主键,这样做的好处是B+Tree的节点小,可以一次放入更多节点到内存,减少IO次数。缺点是需要回表:通过二级索引查到的主键,再去主键索引查需要的信息。聚簇索引:索引结构和数据一起存放的索引,InnoDB中的主键索引......
  • MySQL Server架构概述
    推荐:SQL语句执行顺序相关问题。MySQLServer架构分层概述MySQLServer架构可抽象为3层。连接层:验证用户名密码,认证成功后,获取当前账号的权限并缓存,并分配TCP连接池和线程池资源。处理层:实现核心的处理功能。存储层:将处理后的数据高性能安全的写入磁盘,或从磁盘中正确的读取......
  • MySQL的页与行格式
    什么是MySQL的页?页是指存储引擎使用的最小的数据存储单位。当MySQL执行读取或写入操作时,是以页为基本单位来进行操作的。即使读写一条数据,MySQL也会按页操作。MySQL的存储引擎会将数据分成多个页,并根据需要将这些页加载到内存中进行处理。通过使用页来组织数据,MySQL能够......
  • MYSQL学习笔记1: DDL的库表操作
    SQL语句分类DDL数据定义语言,用来定义数据库对象(数据库,表,字段)DML数据操作语言,用来对数据库中表的数据进行增删改DQL数据库查询语言,用于查询数据库中表的记录DCL数据控制语言,用来创建数据库用户、控制数据库的访问权限DDL数据定义语言,用来定义数据库对象(数据......