黄石做网站,温州15000 做网站的工作,wordpress如何生成html代码,阿里云云虚拟主机wordpress一路走来#xff0c;所有遇到的人#xff0c;帮助过我的、伤害过我的都是朋友#xff0c;没有一个是敌人。如有侵权#xff0c;请留言#xff0c;我及时删除#xff01;
一、物理备份与逻辑备份
1、物理备份#xff1a;备份数据文件#xff0c;转储数据库物理文件到某…一路走来所有遇到的人帮助过我的、伤害过我的都是朋友没有一个是敌人。如有侵权请留言我及时删除
一、物理备份与逻辑备份
1、物理备份备份数据文件转储数据库物理文件到某一目录。物理备份恢复速度比较快但占 用空间比较大MySQL中可以用 xtrabackup 工具来进行物理备份。
2、逻辑备份对数据库对象利用工具进行导出工作汇总入备份文件内。逻辑备份恢复速度慢但占用空间小更灵活。MySQL 中常用的逻辑备份工具为 mysqldump 。逻辑备份就是 备份sql语句 在恢复的时候执行备份的sql语句实现数据库数据的重现。
二、MySQL实现逻辑备份
1、备份全部数据库
基本语法 mysqldump –u 用户名称 –h 主机名称 –p密码 待备份的数据库名称[tbname, [tbname...]] 备份文件名称.sql
说明 备份的文件并非一定要求后缀名为.sql例如后缀名为.txt的文件也是可以的。
2、备份全部数据库
使用mysqldump备份整个实例可以使用 --all-databases 或 -A 参数
mysqldump -uroot -pxxxxxx --all-databases all_database.sql mysqldump -uroot -pxxxxxx -A all_database.sql 示例
[rootmysql8 backdata]# mysqldump -uroot -p --all-databases all-databasesv2.sql 3、备份指定的数据库
使用 --databases 或 -B 参数了该参数后面跟数据库名称多个数据库间用空格隔开。如果指定 databases参数备份文件中会存在创建数据库的语句如果不指定参数则不存在。
语法如下 mysqldump –u user –h host –p --databases [数据库的名称1 [数据库的名称2...]] 备份文件名 称.sql 示例备份test数据库
[rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p --databases test test-db-v1.sql
[rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p -B test test-db-v2.sql 4、备份指定数据库的部分表 语法如下
mysqldump –u user –h host –p 数据库的名称 [表名1 [表名2...]] 备份文件名称.sql 示例备份单个表
备份test数据库-my_table 表
[rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p test my_table test-db-my_table.sql 备份多个表
[rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p test my_table sales test-db-my_tablev1.sql [rootmysql8 backdata]# vi test-db-my_tablev1.sql -------------------------------------------- 5.备份单表的部分数据 有些时候一张表的数据量很大我们只需要部分数据。这时就可以使用 --where 选项了。where后面附带需要满足的条件。 示例备份sales表中id 1的数据
[rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p test sales --whereid1 test-salesv1.sql 6 数据库排除某些表的备份
如果我们想备份某个库但是某些表数据量很大或者与业务关联不大这个时候可以考虑排除掉这些表同样的选项 --ignore-table 可以完成这个功能。 示例备份test数据库备份中不包含my_table表 [rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p test --ignore-table test.my_table bknomy_tablev1.sql 7 只备份结构或只备份数据
只备份结构的话可以使用 --no-data 简写为 -d 选项
[rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p test --no-data nodatav1.sql 只备份数据可以使用 --no-create-info 简写为-t 选项。 [rootmysql8 backdata]# mysqldump -uroot -hlocalhost -p test --no-create-info nocreatev1.sql 8 备份中包含存储过程、函数、事件mysqldump备份默认是不包含存储过程自定义函数及事件的。可以使用 --routines 或 -R 选项来备份存储过程及函数使用 --events 或 -E 参数来备份事件。 举例备份整个atguigu库包含存储过程及事件 ---后续补齐----9 mysqldump常用选项mysqldump 命令参数详解-腾讯云开发者社区-腾讯云
MySQL–mysqldump命令详解-CSDN博客
三、数据库逻辑恢复
数据库恢复基本语法 mysql –u root –p [dbname] backup.sql
1、使用备份恢复单库
使用root用户将之前练习中备份的all.sql文件中的备份导入数据库中命令如下 如果备份文件中包含了创建数据库的语句则恢复的时候不需要指定数据库名称.
示例备份全部数据库删除test数据库然后使用备份恢复
[rootmysql8 backdata]# mysqldump -uroot -p123456 --all-databases all-databasesv3.sql
删除前 VS 删除后 使用 all-databasesv3.sql进行恢复
[rootmysql8 backdata]# mysql -u root -p123456 all-databasesv3.sql 2、从全量备份中恢复单库
示例删除test数据库从全量备份中只恢复test数据库
步骤一、删除test库并从全量备份中分离出test数据库数据信息。 将test数据库恢复信息与全量备份分离 sed -n /^-- Current Database: test/,/^-- Current Database: /p all-databasesv3.sql test.sql 步骤二、使用分离的 test.sql数据信息进行数据库恢复
[rootmysql8 backdata]# mysql -uroot -p123456 test.sql 报错网络说是时区的问题有待验证
Mysqldump时区差问题_!40103 set old_time_zonetime_zone-CSDN博客
https://www.cnblogs.com/mr-totoro/p/5807636.html 3、从单库备份中恢复单表 步骤一
获取MySQL 表结构
[rootmysql8 backdata]# cat all-databasesv3.sql | sed -e /./{H;$!d;} -e x;/CREATE TABLE my_table/!d;q my_table.sql 获取MySQL 表中的数据
[rootmysql8 backdata]# cat all-databasesv3.sql | grep --ignore-case insert into my_table my_table_data.sql 步骤二、使用生成的数据进行恢复
-rw-r--r-- 1 root root 431 Jan 29 01:51 my_table.sql -rw-r--r-- 1 root root 64 Jan 29 01:51 my_table_data.sql 四、物理备份直接复制整个数据库 InnoDB存储引擎的表不适用 物理恢复直接复制到数据库目录