
在一个工程中数据库往往要分为实际运用数据库和测试数据库,最直接的方法当然是从源数据库中导出.sql文件再导入到本地的数据库中,我这的实例是原有一个项目数据库在服务器上现在想导出一份到本地做测试用,工程中用的是MySQL-connector-Java-5.1.13-bin.jar,而我现有的mysql数据库是mysql-connector-java-5.1.6-bin.jar不知道是否是版本不一,在本地使用navicat for mysql可以连接到服务器数据库,但是从服务器数据库导出的.sql文件后再导入到本地的数据库中总是出现错误:
[Err] 1064 - You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near ****[Err] /*
一、在网上找了很多方法都无法解决,无意中看到一个mysql数据同步的方法:
1>在本地建一个与数据库同名的数据库
2>选择navicat中连接服务器的数据库,在菜单栏选择工具-->数据传输3>在d出的的窗口中“源”部分就是你要导出的源数据库,“目标”就是本地的数据库,点击左下角全选后,再点击开始按钮点击确定
点击关闭
再来查看一下本地数据库,是不是数据和结构都已经导入到本地数据库中了呢。
二、从备份中导出.sql再导入到本地数据库中
1>在连接服务器中的数据库上新建备份,选中要备份的数据库-->点击菜单栏上的备份-->新建备份2>选择备份文件提取SQL
这样我们就得到了备份转储的.sql文件,再将这个.sql文件导入到本地的数据库中,结果...就不再提示有错误了,
出来怎么办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、确保我们的数据库已经正确的安装在电脑上了,首先打开命令行窗口,win+R快捷键打开运行窗口,输入cmd。
2、如果mysql版本较新,并且用户名,密码,端口自己没有进行过修改,则命令行直接输入“mysql”也可以进入数据库。
3、查看mysql中所有的数据库,“show databases”。
4、退出mysql,使用“exit",然后回到命令行,输入命令“mysqldump -uroot -proot -P3306 --default-character-set utf8 test >想要存放的路径”,这个命令意思是打包mysql 的test数据库到你指定的路径,格式是utf8。
5、接下来,到我们指定的路径去查找导出的SQL文件,如图所示,test.sql 就是导出的文件了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)