MariaDB数据库备份之逻辑备份
在生产机器上通常是要备份数据库的,主要是防止重要数据丢失,这里就不细说为什么备份了,这篇文章是MariaDB数据库的逻辑备份
大概说一下备份方式吧
物理备份
这个方式就是拷贝物理文件备份: mariadb的数据库文件路径 /var/lib/mysql
比如:cp
和tar
拷贝物理文件也就是要停机
或者停止访问
,说白了就是停止提供服务了,常见的就是服务器维护,也不一定是停止服务也可以使用:xtrabackup
热备工具,这个工具就不需要停止服务就可以备份,xtrabackup
工具备份过程不会打断正在执行的事务也就是无需锁表就可以备份
有兴趣可以研究一下xtrabackup
工具用法,我这里由于没有超过四五十GB的数据库,所以用 mysqldump
即可
逻辑备份
逻辑备份,就是将数据库的数据以SQL语句的形式,导出备份 这个备份说白了就是SQL语句了
这个就用到 mysqldump
这个工具了,这个工具是数据库自带的,MySQL以及MariaDB数据库都是有的,毕竟MariaDB数据库是MySQL数据库的分支吧,基本上和MySQL数据库是一样的(有兴趣可以了解一下这两个数据库的历史)
mysqldump
这个工具,对于数据库数据只有 四五十GB
的情况是没问题的,但超过了最好是用物理备份了
使用mysqldump 逻辑备份所有数据库
参数解释: -A 备份所有数据库 -B 备份单个或者多个数据库,也能指定备份某个数据库中的某个表 其他参数解释: -u 数据库用户 -p 数据库密码 “>” 将结果输出到指定名称指定位置下
备份所有数据库
命令格式:
mysqldump -u你的用户 -p你的密码 -A>[备份到那个位置以及叫什么名].sql
在系统中输入命令:
mysqldump -uroot -p -A> /opt/allbf.sql
输入完命令会提示Enter password:
输入你数据库用户密码回车即可(我这种方式是为了更安全一些)
查看备份路径下是否有备份的sql文件
没有基本上不是你查看的位置有问题,就是在刚开始备份语句有问题
删除一个表的数据
先查看是否一个表中是否有数据
删除 city 表的所有数据
delete from world.city
恢复数据
第一种回复方法 Linux终端回复
命令格式:
mysql -uroot -p <数据库备份文件;
例如:
mysql -uroot -p < /opt/allbf.sql
第二种MariaDB终端回复
命令格式:
source 数据库备份文件;
例如: 就是登录到数据库中,在数据库终端执行
source /opt/allbf.sql;
那种都可以但最后的结果是回复了
使用mysqldump 备份指定的一个数据库
备份某一个数据库
具体参数上面介绍的很清楚 我备份的是 world 数据库
mysqldump -uroot -p -B 数据库名称 > [备份到那个位置以及叫什么名].sql
例如:
mysqldump -uroot -p -B world > /opt/wobf.sql
删除一个表的数据库
先查看是否一个表中是否有数据
删除 city 表的所有数据
delete from world.city
恢复数据
第一种回复方法 Linux终端回复
命令格式:
mysql -uroot -p 数据库名称 <数据库备份文件;
例如:
mysql -uroot -p world < /opt/wobf.sql
第二种MariaDB终端回复
命令格式:
source 数据库备份文件;
例如: 就是登录到数据库中,在数据库终端执行
source /opt/wobf.sql;
那种都可以但最后的结果是回复了
相关文章
- 数据库备份与日期文字化算法改正
- sql导入本地与MimeMessage
- 知识图谱-图数据库选型与评测
- 破解加密的LastPass数据库
- [译]PostgreSQL15 public shema权限增强
- [译]学习PostgreSQL内核
- PostgreSQL/GreenPlum Merge Inner Join解密
- PolarDB for PostgreSQL透明加密
- PostgreSQL中NULL的意义
- Cybertec PostgreSQL透明加密解析
- MySQL-学习笔记
- Ubuntu安装SqlServer
- Redis最快的数据库及简单调用
- 本地连接远程MySql的方法步骤
- Postgresql源码(95)优化器关键数据结构实例
- org.springframework.jdbc.BadSqlGrammarException: Error updating database
- 2022爱分析・数据库厂商全景报告 | 爱分析报告
- 本地navcat远程连接宝塔MySQL数据库
- MySQL数据表
- mysql开发常用SQL