迁移数据库至000webhost时遇1044权限错误,求解决方法
解决000webhost迁移数据库时的1044权限错误
这个错误其实很常见,核心原因是你当前的数据库用户没有权限操作MySQL的系统库information_schema,而且大概率是你在执行建表语句前,没切换到自己专属的数据库上。
给你几个具体的解决步骤:
1. 先切换到自己的目标数据库
000webhost的免费用户只能访问自己名下的专属数据库(名字一般是id9605813_xxx,比如和你的用户名id9605813_band对应,可能是id9605813_band_db之类的),你需要先选中这个数据库再执行SQL:
- 在phpMyAdmin左侧导航栏找到你的专属数据库,点击进入,然后再执行你的建表语句;
- 或者直接在你的建表语句开头加上一行指定数据库的命令:
USE id9605813_你的数据库名; -- 替换成你实际的数据库名 CREATE TABLE `products` ( `id` int(10) NOT NULL, `name` varchar(250) NOT NULL, `code` varchar(100) NOT NULL, `price` double(9,2) NOT NULL, `image` varchar(250) NOT NULL, `stock` int(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2. 更省心的迁移方式:用phpMyAdmin的导出/导入功能
手动写建表语句容易出错,推荐用官方的迁移工具:
- 本地phpMyAdmin:选中你要迁移的数据库,点击顶部的「导出」,选择「快速」导出格式为SQL,注意不要勾选系统库(比如
information_schema、mysql这些); - 000webhost的phpMyAdmin:选中你的专属数据库,点击顶部的「导入」,选择刚才导出的SQL文件,执行导入即可,这样会自动帮你创建所有表和数据,不用手动写语句。
3. 确认用户权限
如果还是有问题,检查000webhost给你的数据库信息:你的用户名id9605813_band应该只拥有自己专属数据库的全部权限,没有系统库的权限,所以绝对不要尝试操作information_schema这类系统库。
内容的提问来源于stack exchange,提问作者GiannisGeor
相关产品推荐
相关产品推荐

