mysql导出不去0

mysql导出不去0,第1张

出来怎么办

mysql中数据导不出来怎么办_mysql挂掉了,无法导出数据,data文件如何恢复?

三十六陂

原创

关注

0点赞·1246人阅读

问题描述的不是非常清楚

1 mysql挂掉,还能启动吗?

2 死活不肯导出数据>>是指用什么样的方式不能导出?报什么错?

一 假定mysql可以启动,逻辑导出时报错。 这个问题就相对简单,解决逻辑导出的问题即可。对于不同的逻辑导出错误,采取不同的方法解决。

二 假定mysql不可启动,那要看启时的时候报什么错误,对于不同的错误,采取不同的方法

三 最坏的打算,mysql不可启动,并且不能解决db启动的问题。

可以先尝试下面的方法:

copy所有datadir下的文件到目标机,启动数据库,如果可以正常启动,启动后执行mysql_upgrade即可

如果上面方法不行,那就只是数据文件还在,什么 *** 作也执行不了。

那就要放大招了。

对于myisam引擎的表:在目标机上初始化好数据库之后,copy相应的.frm .MYI .MYD三个文件到相应的目录,设置好文件权限,就可以查看表里的数据,也就是说myisam表已经恢复了。

对于innodb引擎的表(独立表空间):

使用传输表空间的方式恢复数据:

1 先得到建表语句(建表语句一般都会有,比如业务存着的表结构,退一步如果没有建表语句,也可以进行恢复)

2 在目标机上建好表

3 alter table discard tablespace

4 5.6版本以下才需要(5.6以上版本不care tablespace_id) vim .ibd

5 alter table import tablespace

就可以恢复innodb表里的数据。

innodb比myisam恢复起来麻烦一些,是因为innodb在ibdata中记录的有表结构。

数据完整性是一个DBA最基本的必须完成的,使用ucloud(UCloud – 专业云计算服务商)用户可以不必考虑数据的丢失

ucloud每天会对数据进行备份,如果备份没有成功,会告警给用户,并协助用户解决不能成功备份的问题。这样每天都能成功的备份,也就不用考虑异常恢复的场景了。

对于数据文件还在异常恢复db的场景相对简单。

对于文件已经不存在的,如drop table,drop database 也可以把数据恢复出来(没有备份也可以恢复),只是过程麻烦些。收费高些。

使用Ucloud(UCloud – 专业云计算服务商)的 mysql数据库,可以免费的享受数据在不同场景下的恢复。

曾免费帮助ucloud用户恢复在云主机上部署的mysql数据库。

1、使用NULL或者NOT NULL来代替T和0。NULL表示空值,NOT NULL则表示不为空。

2、使用字符串来代替T和0,如“TRUE”和“FALSE”,这样就可以避免T和0的混淆。

3、使用自定义的数值来代替T和0,如1和2,这样也能够避免混淆。

4、使用布尔类型,如BIT类型或者BOOL类型,这样就可以避免使用T和0。

5、使用ENUM类型来代替T和0,ENUM类型可以设置多个可选值,这样也可以避免T和0的混淆。

写个函数 自己调用处理就行了CREATE FUNCTION `NewProc`(format_vale VARCHAR(100)) RETURNS varchar(100)BEGINDECLARE dec_number VARCHAR(4000) DECLARE dec_number_vale VARCHAR(4000) SET dec_number = '' SET dec_number_vale = CAST(format_vale AS CHAR) WHILE dec_number_vale IS NOT NULL DO -- 剪切字符串SET dec_number = right(dec_number_vale,1) IF dec_number = '0' || dec_number= '.' THEN SET dec_number_vale = LEFT(dec_number_vale ,LENGTH(dec_number_vale)-1) ELSERETURN dec_number_vale END IF END WHILEEND


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6098013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存