在备份和导入mysql数据库遇到的几个问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在备份和导入mysql数据库遇到的几个问题相关的知识,希望对你有一定的参考价值。
一、怎么导出和备份
1、普通方法,运用工具或者命令直接导出sql脚本,以navicat为例,直接选中数据库,转储sql文件
问题:当有视图或者函数执行失败时不好处理
2、视图函数和表数据分开导出
以navicat为例:
①先创建一个备份,包含视图和表:直接点击数据库下面的备份,然后新建备份。
②生成完备份之后,直接选择提取sql,提取的时候可以选择是表、视图、或是函数,这样就把表和视图脚本分离开了
二、生成完导出和备份的sql文件之后就是导入了,这里解决导入过程中遇到的几个问题:
1、error :mysql server has gone away
报这个错的原因很多,最有可能的一个:
你的sql查询文件太大了,需要修改mysql配置,直接在my.ini文件的mysqld节点下修改:max_allowed_packet=16777216就好了。
2、error:the user specified as a definer (‘root‘@‘%‘) does not exist
这是由于当前用户执行某些sql时权限不足导致的,直接赋予当前用户所有权限就行了:
grant all privileges on *.* to [email protected]"%" identified by ".";
flush privileges;
注意:导入过程中有可能出现多个数据库相互依赖和多个视图相互依赖的情况,这要调整执行顺序方能正确完成导入。
以上是关于在备份和导入mysql数据库遇到的几个问题的主要内容,如果未能解决你的问题,请参考以下文章