首页 >>  正文

mysql直接执行sql文件

来源:baiyundou.net   日期:2024-09-24

云服务器数据恢复环境:

华为ECS云服务器,linux操作系统,mysql数据库(innodb引擎)。作为网站服务器使用。

云服务器故障:

在执行mysql数据库版本更新测试时,误将本应该在测试库上执行的sql脚本执行在生产库上了,生产库上的部分表被truncate,部分表内有少量数据被delete。

需要恢复被truncate的表以及被少量数据被delete的表。

云服务器数据恢复过程:

1、ECS云服务器内有其他业务仍在运行,先对mysql数据库的data目录所在分区进行备份。

北亚企安数据恢复——ECS云服务器数据恢复

2、由于需要恢复的表内不存在大字段类型值,也没有myisam引擎的表需要恢复,所以只需要扫描数据段并下载恢复数据所必需的数据库段碎片即可。innodb引擎的mysql数据库表的数据恢复必须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。本案例mysql数据库中的.frm文件完好,直接下载需要恢复的表对应的.frm文件。

北亚企安数据恢复——ECS云服务器数据恢复

3、分析系统表,读取数据段内系统表信息,获取需要恢复的表在系统表内的注册信息。

4、在下载的数据段文件内提取对应于各表的数据页,解析对应表的.frm文件获取该表的表结构信息,通过表结构信息获取底层数据分配规则。按照底层数据分配规则拆分数据段内二进制数据,针对不同类型进行字符展示转换(各类整型、浮点型、时间型等),完成数据段到sql语句的转换。

5、恢复被delete数据的表数据的流程同上一步恢复truncate表的流程类似,不同点在于解析数据时需要提取被标注为“delete”的记录。

6、根据解析出的表结构信息在准备好的环境中的mysql实例内创建表,并将恢复出来的数据导入。

北亚企安数据恢复——ECS云服务器数据恢复

北亚企安数据恢复——ECS云服务器数据恢复

7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)、记录重复(缓冲段)以及乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况。北亚企安数据恢复工程师人工处理存在异常的提取记录,直到所有数据都没有问题。

8、交由用户方工程师验证数据。经过用户方的多方验证,确认被truncate的表完整恢复,被delete记录的表中数据完整恢复。本次ECS云服务器数据恢复工作完成。

北亚企安数据恢复——ECS云服务器数据恢复

","gnid":"95f5a25b9e58e85fb","img_data":[{"flag":2,"img":[{"desc":"","height":"240","title":"","url":"https://p0.ssl.img.360kuai.com/t01c3d568032a60aedc.jpg","width":"1264"},{"desc":"","height":"71","title":"","url":"https://p0.ssl.img.360kuai.com/t0153b6f7fca66a49a5.jpg","width":"660"},{"desc":"","height":"376","title":"","url":"https://p0.ssl.img.360kuai.com/t0184825191f14ff41d.jpg","width":"1195"},{"desc":"","height":607,"title":"","url":"https://p0.ssl.img.360kuai.com/t0188d2b54da3e70d10.jpg","width":1109},{"desc":"","height":"704","title":"","url":"https://p0.ssl.img.360kuai.com/t017ccabc8ae2435934.jpg","width":"1200"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1703657580000,"pure":"","rawurl":"http://zm.news.so.com/08f4a32a83e224f4e602a578980afd9f","redirect":0,"rptid":"8ac1373a929f91dd","rss_ext":[],"s":"t","src":"数据恢复资讯","tag":[],"title":"【北亚服务器数据恢复】云服务器mysql表被误truncate的数据恢复

于饰食5154如何用命令行执行mysql的sql文件 -
乜谈娴18963902745 ______ 使用source命令执行sql脚本. 进入mysql的控制台后,使用source命令执行 Mysql>source 【sql脚本文件的路径全名】 具体步骤: 假设运行sql脚本是hello.sql,在控制台下输入: mysql>source c:\hello world\hello.sql(注意路径不用加引号) 或者 \. c:\hello world\hello.sql 然后回车即可

于饰食5154mysql数据库怎么执行sql语句 -
乜谈娴18963902745 ______ 首先创建连接 就创建个Cnnection对象,然后把驱动加上,还有帐号密码什么的!我没连过sql数据库,不知道驱动,你可以在网上搜一下.给你一个我连接mysql数据库的例子 public Connection Getdata(){//这是连接数据库的一个方法,还可...

于饰食5154mysql5.7.3中怎么执行sql -
乜谈娴18963902745 ______ 执行SQL语句要看你使用什么样的数据库,一般来说数据库有两种接口,一种是命令行接口,一种是GUI界面的程序管理接口,比如 mysql,你可以在命令行执行mysql来进行执行,也可以使用phpmyadmin、navcat之类的第三方的GUI管理工具来执行.

于饰食5154mysql如何执行sql脚本文件 -
乜谈娴18963902745 ______ mysql –u用户名–p密码 –D数据库<【sql脚本文件路径全名】,示例:mysql –uroot –p11111 -Dtest注意:A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码–D数据库<【sql脚本文件路径全名】方法二 进入mysql的控制台后mysql>source sql脚本路径

于饰食5154如何查看mysql中执行sql语句 -
乜谈娴18963902745 ______ 执行命令 show processlist; 可以查看当前数据库正在执行的sql语句.

于饰食5154mysql数据库,指定到某一时间,它就自动执行相应的操作?sql语句该怎么写? -
乜谈娴18963902745 ______ mysql要实现定时执行sql语句就要用到Event 具体操作如下:先看看看event 事件是否开启 show variables like '%sche%'; 如没开启,则开启.需要数据库超级权限 set global event_scheduler =1; 创建存储过程 update_a (注:就是你要执行的...

于饰食5154如何使用mysql来导入只有结构的数据库,直接运行sql文件不成功 -
乜谈娴18963902745 ______ 在DOS的 MYSQL安装目录/BIN 目录下用下面命令:mysql -u username -p databasename use database_name 然后使用zd下面这个命令 mysql>source 111.sql 当默认111.sql路径时,必须放在mysql里的bin里 成功导入!!!~~Yeah..1.导出整个...

于饰食5154如何用mysql命令行模式导入sql文件 -
乜谈娴18963902745 ______ 首先要配系统变量,在我的电脑->属性->高级系统设置->环境变量->找到Path,加入你电脑上的mysql地址下的bin目录,如c:/wampp/mysql/bin :打开CMD输入以下命令(不需要转换目录) > mysql -u root -p ENTER PASSWORD: 进入MYSQL后 mysql>use test; mysql> source c:/test.sql ok执行完了 你可以用show tables;查看有哪写表(记得语句后有个分号)还可以用desc tableName;查看你的表结构

于饰食5154怎么把mysql中的数据库在sql中打开 -
乜谈娴18963902745 ______ 1打开电脑的“开始”菜单栏,找到“运行”,在运行框中直接输入:net start mysql.再点击确定按钮 2等上图中cmd命令框中的显示完“mysql 服务正在启动”之后,再找到mysql的界面软件SQL yog打开,就可以直接进入了 3当你可以正常查询数据的时候就表示...

于饰食5154怎么让MySql的数据库在SqlServer中运行 -
乜谈娴18963902745 ______ 你说的是数据库建库脚本sql还是指sqlserver数据库在mysql中打开?如果是sql语句建库脚本直接执行对应文件就可以在mysql中生成对应的数据库啦.如果你是想将sqlserver数据库在mysql数据库中打开,那是不能直接附件打开的,因为两个数据库使用的机制不同的.你需要先将sqlserver数据库生成数据库脚本sql语句,然后在用mysql数据打开数据库脚本然后修改相应的建库建表函数(mysql与sqlserver在数据库函数方面有些不同),然后执行就可以了. 之前也有了解到有一个专门的导库工具,可以将sqlserver数据库直接导入到mysql数据库中.希望对你有所帮助.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024