【发布时间】:2011-05-04 14:54:36
【问题描述】:
我正在尝试运行 GRANT ALL 语句:
GRANT ALL ON daisyrepository.* TO daisy@localhost IDENTIFIED BY 'password_here';
我已经使用远程桌面在服务器本身上运行了这个语句:
- PHPMyAdmin
- MySQL 管理员
- 命令行客户端
每次运行此语句时,都会出现以下错误:
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'daisyrepository'
关于特权的一些信息:
root@%
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT, EXECUTE
root@localhost
ALL PRIVILEGES
如果我理解正确,即使我已连接到服务器,MySQL 也会将我的语句视为来自远程位置?
编辑#1 分类:我连接的服务器也是运行 MySQL 的地方。
编辑#2 进入 RDP 后,我使用命令行登录 MySQL。如果我运行 select current_user(),我会得到 root@127.0.0.1。 my.ini 文件中也有 skip_name_resolve。
【问题讨论】:
-
mysql服务器在哪里?在本地主机上?我的意思是,在同一台机器上?
-
是的,我使用远程桌面连接到运行 MySQL 的服务器。
-
如果你尝试以 root 身份运行会发生什么:
GRANT ALL on *.* to root@localhost identified by '$roots_password';(确保输入正确的密码) -
#1045 - 用户 'root'@'%' 的访问被拒绝(使用密码:YES)
-
服务器是否有多个网卡(多个IP)。另外,如果您使用 Windows,请确保您的主机文件具有 127.0.0.1 localhost
标签: mysql privileges mysql-error-1044