根帐户在MySQL中无法工作
我以root用户身份登录MySQL数据库。我尝试运行以下命令:根帐户在MySQL中无法工作,mysql,sql,database,Mysql,Sql,Database,我以root用户身份登录MySQL数据库。我尝试运行以下命令: mysql> GRANT ALL ON *.* TO 'root'@'%' -> IDENTIFIED BY '[password]' -> WITH GRANT OPTION; ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES) mysql> 我得到以下错误: 错误1045(28000):用户“roo
mysql> GRANT ALL ON *.* TO 'root'@'%'
-> IDENTIFIED BY '[password]'
-> WITH GRANT OPTION;
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
mysql>
我得到以下错误:
错误1045(28000):用户“root”@“%”的访问被拒绝(使用密码:是)
我假设我的根用户设置不正确。有什么想法吗
编辑
您可能使用名为root的帐户登录到数据库,但您所在的帐户没有正确的权限
mysql> select user();
然后再接着是:
mysql> select * from mysql.user\G
查找与输出完全匹配的用户列和主机列。查找grant_priv,它需要说Y。极有可能存在没有授权权限的其他根帐户
mysql> select * from mysql.user\G
*************************** 1. row ***************************
Host: localhost
User: root
Password: xxxxxxxxxxxxxxx
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
您可能使用名为root的帐户登录到数据库,但您所在的帐户没有正确的权限
mysql> select user();
然后再接着是:
mysql> select * from mysql.user\G
查找与输出完全匹配的用户列和主机列。查找grant_priv,它需要说Y。极有可能存在没有授权权限的其他根帐户
mysql> select * from mysql.user\G
*************************** 1. row ***************************
Host: localhost
User: root
Password: xxxxxxxxxxxxxxx
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
当我输入select*from mysql.user\G命令时,我得到:错误1142(42000):select命令拒绝对表“user”的用户“root”@“localhost”执行错误:未指定查询
这意味着您没有以'root'@%
身份登录。您以“root”@“localhost”身份登录,这是两个不同的用户。如果运行选择USER()
如上所述,它可能会显示'root'@'localhost.
如果您以'root'@'localhost'
身份登录,则您是通过本地套接字登录的。通过TCP连接登录将使您以'root'@“%
的身份访问,然后您可以根据最初列出的输出访问更改授权。要执行此操作,请使用以下登录:
mysql-u$user-p$pass-h127.0.0.1
当我输入select*from mysql.user\G命令时,我得到:错误1142(42000):select命令拒绝对表“user”的用户“root”@“localhost”执行错误:未指定查询
这意味着您没有以'root'@%
身份登录。您以“root”@“localhost”身份登录,这是两个不同的用户。如果运行选择USER()
如上所述,它可能会显示'root'@'localhost.
如果您以'root'@'localhost'
身份登录,则您是通过本地套接字登录的。通过TCP连接登录将使您以'root'@“%
的身份访问,然后您可以根据最初列出的输出访问更改授权。要执行此操作,请使用以下登录:
mysql-u$user-p$pass-h127.0.0.1
显示root@%的授权显示了什么?该帐户需要grant
选项才能配置其他用户。mysql的默认根帐户是root@localhost
,因此,如果您是通过tcp登录的,您可能位于“其他”根目录下。@Marc B我添加了它,请参见编辑。我已通过ssh登录。您没有通用授权选项。您只能在sometable
和test
数据库上授予priv,而不能授予*.
@Marc B如何获得授予选项?您必须登录到真正的根帐户。最有可能root@localhost
在*.*.
上拥有完全权限+授予特权。在mysql服务器上的shell上执行mysql-p-u root
应该通过本地unix套接字而不是tcp套接字登录。显示root@%的授权揭示了什么?该帐户需要grant
选项才能配置其他用户。mysql的默认根帐户是root@localhost
,因此,如果您是通过tcp登录的,您可能位于“其他”根目录下。@Marc B我添加了它,请参见编辑。我已通过ssh登录。您没有通用授权选项。您只能在sometable
和test
数据库上授予priv,而不能授予*.
@Marc B如何获得授予选项?您必须登录到真正的根帐户。最有可能root@localhost
在*.*.
上拥有完全权限+授予特权。在mysql服务器的shell上执行mysql-p-u root
应该通过本地unix套接字而不是tcp套接字登录。当我输入select*from mysql.user\G
命令时,我得到:错误1142(42000):SELECT command denied to user'root'@'localhost'for table'user'错误:未指定查询
当我从mysql输入SELECT*时。user\G
命令,我得到:错误1142(42000):SELECT command denied to user'root'@'localhost'for table'user'错误:未指定查询