MySQL8使用物理文件恢复MyISAM表测试

简介: MySQL8使用物理文件恢复MyISAM表测试

我们现场测试一个场景,drop一张MyISAM表后,单独对这表进行物理恢复

首先我们看一下secure_file_priv文件目录的位置

mysql> show global variables like '%secure_file_priv%';
+------------------+---------------------+
| Variable_name Value
+------------------+---------------------+
| secure_file_priv | /u01/mysql3308/tmp/ |
+------------------+---------------------+

如果没有设置这个选项,我们可以在my.cnf配置文件里添加这一项,放在[mysqld]下

[root@mysql8_3 mysql3308]# more my.cnf | grep secure_file
secure_file_priv=/u01/mysql3308/tmp

修改好配置后需要重启一下服务

[root@mysql8_3 mysql3308]# systemctl stop mysqld83308.service
[root@mysql8_3 mysql3308]# systemctl start mysqld83308.service

登录到实例查看是否生效

mysql> show global variables like '%secure_file_priv%';
+------------------+---------------------+
| Variable_name Value
+------------------+---------------------+
| secure_file_priv | /u01/mysql3308/tmp/ |
+------------------+---------------------+

我们看一下测试表

[root@mysql8_3 test]# mysql -uroot -p
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

测试表tmyisam当前有一条数据

mysql> select * from tmyisam;
+------+
| i |
+------+
| 1 |
+------+
1 row in set (0.00 sec)

现在我们手动备份tmyisam表的物理文件

[root@mysql8_3 test]# cp tmyisam* /tmp/

备份完后删除该表

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| employees|
| tarchive|
| tblackhole|
| tinnodb|
| tmemory|
| tmyisam|
+----------------+
6 rows in set (0.00 sec)
mysql> drop table tmyisam;
Query OK, 0 rows affected (0.20 sec)
mysql> exit
Bye

删除完成后,我们手动拷贝tmyisam表数据文件tmyisam.MYD和表索引文件到数据库目录并修改属性

[root@mysql8_3 test]# cp /tmp/tmyisam.MYI /u01/mysql3308/data/test/
[root@mysql8_3 test]# cp /tmp/tmyisam.MYD /u01/mysql3308/data/test/
[root@mysql8_3 test]# chown -R mysql:mysql tmyisam.MYI
[root@mysql8_3 test]# chown -R mysql:mysql tmyisam.MYD

然后拷贝表结构文件tmyisam_392.sid到安全目录,并修改该文件的属主

[root@mysql8_3 test]# cp /tmp/tmyisam_392.sdi /u01/mysql3308/tmp/
[root@mysql8_3 test]# chown -R mysql:mysql tmyisam_392.sdi

然后我们登录到数据库执行导入

[root@mysql8_3 test]# mysql -uroot -p
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
mysql> import table from '/u01/mysql3308/tmp/tmyisam_392.sdi';
Query OK, 0 rows affected (0.02 sec)
mysql> select * from tmyisam;
+------+
| i |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
mysql>

tmyisam表完成恢复
图片6qrt4xwe6vjg6_8a06c2887d0b4cd98a9a170cd925904e.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
118 4
|
6月前
|
SQL 关系型数据库 MySQL
MySQL 5.6/5.7 DDL 失败残留文件清理指南
通过本文的指南,您可以更安全地处理 MySQL 5.6 和 5.7 版本中 DDL 失败后的残留文件,有效避免数据丢失和数据库不一致的问题。
|
8月前
|
SQL 缓存 关系型数据库
使用温InnoDB缓冲池启动MySQL测试
使用温InnoDB缓冲池启动MySQL测试
151 0
|
8月前
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
264 0
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
160 3
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
780 152
|
4月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
3月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。

相关产品

  • 云数据库 RDS MySQL 版
  • 推荐镜像

    更多