【发布时间】:2016-04-01 19:22:30
【问题描述】:
我在 Godaddy 有一个托管帐户。每天都会创建自动 MySQL 数据库备份。它被命名为database_name.sql.gz。
在我的另一台共享主机上,我尝试在 decomrssing 后恢复该转储,即通过 putty 和 SSH 使用以下命令将其设为 database_name.sql:
mysql -u *****_root -p *****_htest < database_name.sql
***** 是我帐户的用户名
我收到以下错误:
ERROR 1044 (42000) at line 22: Access denied for user '*****_root'@'localhost' 到数据库'database_name'
从错误消息看来,转储尝试创建一个名为原始数据库的数据库,但忽略了将其还原到数据库*****_htest。
有没有办法让这个转储文件恢复到指定的数据库而不是创建新的?
【问题讨论】:
-
你是怎么导出的?我的意思是,应该有一个选项是为您创建数据库或表,还是只转储整个条目。尝试使用phpmyadmin,大多数共享主机都应该有这个工具。
-
@Tezla 不能使用phpmyadmin。转储文件很大,即超过 100 MB。
-
严格来说,一些共享主机确实有一个站点备份选项,可以让您上传数据库备份 - 但是,我想知道 sql 文件是否实际上只是
insert和create我怀疑那里是别的东西。如果您实际上可以查看 100 MB 的文件内容,那将有助于弄清楚。在不安全的替代方案上,尝试以 root 或任何具有各种访问权限的人(超级用户)身份运行它。 -
@Tezla 非常感谢我找到了解决方案并将其作为答案。
标签: putty mysql database ssh mysqldump shared-hosting