我正在尝试导入以下.sql文件,其中包含:
CREATE TABLE IF NOT EXISTS `login`.`users` (
`user_id` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT 'auto incrementing user_id of each user, unique index',
`user_name` VARCHAR( 64 ) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s name, unique',
`user_password_hash` VARCHAR( 255 ) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s password in salted and hashed format',
`user_email` VARCHAR( 64 ) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s email, unique',
PRIMARY KEY ( `user_id` ) ,
UNIQUE KEY `user_name` ( `user_name` ) ,
UNIQUE KEY `user_email` ( `user_email` )
) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci COMMENT = 'user data';
但它给了我错误
#1142 - CREATE command denied to user ''@'localhost' for table 'users'
这里有什么问题,我该如何解决?
答案 0 :(得分:1)
这可能会有所帮助。
转到phpMyAdmin -> users
,选择要更改的用户并授予所有权限。
答案 1 :(得分:0)
正如其他一些人所说,您似乎缺乏在login
数据库中创建表的权限。如果错误消息引用了用户' @' localhost',这几乎可以肯定是因为您没有以实际用户身份登录,而是匿名用户。根据主机提供的内容检查您的用户名和密码,尝试通过命令行客户端登录(如果可用),并注意您的主机和连接类型。
您通过套接字进行连接,这意味着您的用户帐户必须拥有主机' localhost'。如果您的用户仅拥有主机'%'那么你必须要求你的主人找到本地主机'特权或配置phpMyAdmin通过TCP / IP连接,因为MySQL处理传入连接和通配符权限。