使用 PHPMyAdmin 导入 MySQL 数据库时如何解决权限错误?
Posted
技术标签:
【中文标题】使用 PHPMyAdmin 导入 MySQL 数据库时如何解决权限错误?【英文标题】:How can I solve permissions error when importing MySQL databases with PHPMyAdmin? 【发布时间】:2013-01-24 01:16:54 【问题描述】:我正在开发一个基于 mysql 数据库的网站。 因为我想先离线,所以我在我的机器上安装了 WAMP 服务器。这有 Apache、SQL 服务器和 php。
我在离线机器上创建了一个数据库。该数据库名为OffDB
,由用户OffUser
创建,密码OffPwd
。我已将它导出到一个 SQL 文件(小于 1 MB)。
我想将此数据库导入我的在线数据库,名为OnDB
,由用户OnUser
创建,密码OnUser
。当我尝试在 PHPMyAdmin 中导入时,我收到以下错误:
"用户 OnUser 没有权限访问数据库 OffDB"
在离线PHPMyAdmin中,我添加了一个新用户OnUser
,密码为OnPwd
,并授予它对OffDB的所有权限。然后我再次导出 OffDB,并尝试再次导入。它因同样的错误而失败。如果我添加新的离线用户 OnUser,密码为 OffPwd,并授予它权限,同样的事情 - 导入时我总是收到错误。
我该如何解决?
【问题讨论】:
为测试和实时环境更改数据库名称是 IMO 的一个坏主意。如果它在您的本地 XAMMP 上并且您无法从外部访问,那么使用相同的名称等就可以了。请注意未来 ;) 如果用户没有权限在您的实时服务器上导出/导入,那么您不能执行此操作。联系您的服务器管理员并告诉他授予您权限。 :) 【参考方案1】:您需要将 OffUser 和 OffDB 添加到实时服务器,而不是相反。
或者,进行不指定数据库名称和用户的备份(对于后者,查找涉及 GRANT 的选项,并禁用这些选项)。 mysqldump
应该有这样的选项,至少如果你使用 mysqldump <database_name>
变体,PHPMyAdmin 也应该如此。
【讨论】:
您好,感谢大家的回复!事实上,我应该选择相同的一切......初学者的错误......我似乎无法在在线 PHPMyAdmin 中编辑权限,而且我不知道如何在没有数据库名称和用户的情况下进行备份,如我所见PHPMyAdmin 中没有 GRANTS 选项。我应该在哪里寻找它们?再次感谢! 问题已解决:我创建了与在线数据库同名的离线数据库副本。导入工作正常。谢谢大家让我上路! @webnoob - 适当指出:)以上是关于使用 PHPMyAdmin 导入 MySQL 数据库时如何解决权限错误?的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 phpmyadmin 向导将 csv 导入 mysql 数据库