ERROR 1044 (42000): Access denied for user 'root'@'%' to database
-- 2014.12.10
昨天根據開發的需要,建立了幾個使用者,但是在授權的時候報錯:
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'mdm'
在網上搜了一下,大概有以下幾種說法:
1、對該資料庫許可權不足。
2、引數問題。
3、user的user列存在空值記錄。
以上的解決方法基本上都是需要重啟MySQL、而且都是片面的。
這裡解釋一下,出現這種情況的原因。
首先這裡是用root使用者操作,所以對這個資料庫的許可權絕對是最高階的,但是如果是非root使用者操作,就可能是許可權的問題,需要root使用者授權。
出現上面的報錯,很可能,其實應該可以說基本上都是因為my.cnf 檔案裡面有skip-name-resolve引數,這個引數導致這不能解析hostname或其它方式的登入, 所以登入任何使用者,匹配的時候不走root@'localhost',或者127.0.0.1或者::1 ,而是 一個勁的走root@'%'.
再來檢視一下每種方式下的root使用者的具體許可權:
我這裡root有三種解析登入方式分別是:Host: bidevedw\_db、Host: ::1、Host: %
一般情況還有Host:127.0.0.1、Host:localhost我的裡面把哪兩種刪了。
請注意 !
注意上面每條記錄的的紅色字型部分Grant_priv: Y
這個表示,以這種方式解析登入的root使用者,是否有grant許可權,Y則表示有授許可權給其他使用者的許可權,N表示沒有。
這裡恰好,就是我們要找的原因,因為我的/my.cnf檔案裡面有skip-name-resolve引數,所以root都是解析到@'%'方式登入,於是就沒有grant_priv許可權。
解決方法:
1、在不重啟MySQL服務的情況下,只需要在登入的時候加上-h引數。
例如:(a). /usr/local/mysql/bin/mysql -uroot -p123456 -h::1
(b)./usr/local/mysql/bin/mysql -uroot -p123456 -h127.0.0.1
2、需要重啟MySQL。把skip-name-resolve引數去掉 ---- 還沒驗證。不過我記得,如果去掉了,日誌裡面會有大量的警告資訊。我是因為那些警告資訊,才新增的這個引數。
昨天根據開發的需要,建立了幾個使用者,但是在授權的時候報錯:
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'mdm'
在網上搜了一下,大概有以下幾種說法:
1、對該資料庫許可權不足。
2、引數問題。
3、user的user列存在空值記錄。
以上的解決方法基本上都是需要重啟MySQL、而且都是片面的。
這裡解釋一下,出現這種情況的原因。
首先這裡是用root使用者操作,所以對這個資料庫的許可權絕對是最高階的,但是如果是非root使用者操作,就可能是許可權的問題,需要root使用者授權。
出現上面的報錯,很可能,其實應該可以說基本上都是因為my.cnf 檔案裡面有skip-name-resolve引數,這個引數導致這不能解析hostname或其它方式的登入, 所以登入任何使用者,匹配的時候不走root@'localhost',或者127.0.0.1或者::1 ,而是 一個勁的走root@'%'.
再來檢視一下每種方式下的root使用者的具體許可權:
-
mysql> select * from user\\G;
-
*************************** 1. row ***************************
-
Host: bidevedw\\_db
-
User: root
-
Password: *D013A4E3A5BB01E4239D18D7E93B59B7D2B767AD
-
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
-
Create_tablespace_priv: Y
-
ssl_type:
-
ssl_cipher:
-
x509_issuer:
-
x509_subject:
-
max_questions: 0
-
max_updates: 0
-
max_connections: 0
-
max_user_connections: 0
-
plugin:
-
authentication_string:
-
password_expired: N
-
*************************** 2. row ***************************
-
Host: ::1
-
User: root
-
Password: *D013A4E3A5BB01E4239D18D7E93B59B7D2B767AD
-
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
-
Create_tablespace_priv: Y
-
ssl_type:
-
ssl_cipher:
-
x509_issuer:
-
x509_subject:
-
max_questions: 0
-
max_updates: 0
-
max_connections: 0
-
max_user_connections: 0
-
plugin:
-
authentication_string:
-
password_expired: N
-
*************************** 3. row ***************************
-
Host: %
-
User: root
-
Password: *D013A4E3A5BB01E4239D18D7E93B59B7D2B767AD
-
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: N
-
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
-
Create_tablespace_priv: Y
-
ssl_type:
-
ssl_cipher:
-
x509_issuer:
-
x509_subject:
-
max_questions: 0
-
max_updates: 0
-
max_connections: 0
-
max_user_connections: 0
-
plugin: mysql_native_password
-
authentication_string:
-
password_expired: N
-
*************************** 4. row ***************************
-
Host: %
-
User: u_mdm_r2
-
Password: *CCB51F609423C18692BB961A7A83342B8311B6F4
-
Select_priv: N
-
Insert_priv: N
-
Update_priv: N
-
Delete_priv: N
-
Create_priv: N
-
Drop_priv: N
-
Reload_priv: N
-
Shutdown_priv: N
-
Process_priv: N
-
File_priv: N
-
Grant_priv: N
-
References_priv: N
-
Index_priv: N
-
Alter_priv: N
-
Show_db_priv: N
-
Super_priv: N
-
Create_tmp_table_priv: N
-
Lock_tables_priv: N
-
Execute_priv: N
-
Repl_slave_priv: N
-
Repl_client_priv: N
-
Create_view_priv: N
-
Show_view_priv: N
-
Create_routine_priv: N
-
Alter_routine_priv: N
-
Create_user_priv: N
-
Event_priv: N
-
Trigger_priv: N
-
Create_tablespace_priv: N
-
ssl_type:
-
ssl_cipher:
-
x509_issuer:
-
x509_subject:
-
max_questions: 0
-
max_updates: 0
-
max_connections: 0
-
max_user_connections: 0
-
plugin: mysql_native_password
-
authentication_string:
-
password_expired: N
-
ERROR:
-
No query specified
-
- mysql>
一般情況還有Host:127.0.0.1、Host:localhost我的裡面把哪兩種刪了。
請注意 !
注意上面每條記錄的的紅色字型部分Grant_priv: Y
這個表示,以這種方式解析登入的root使用者,是否有grant許可權,Y則表示有授許可權給其他使用者的許可權,N表示沒有。
這裡恰好,就是我們要找的原因,因為我的/my.cnf檔案裡面有skip-name-resolve引數,所以root都是解析到@'%'方式登入,於是就沒有grant_priv許可權。
解決方法:
1、在不重啟MySQL服務的情況下,只需要在登入的時候加上-h引數。
例如:(a). /usr/local/mysql/bin/mysql -uroot -p123456 -h::1
(b)./usr/local/mysql/bin/mysql -uroot -p123456 -h127.0.0.1
2、需要重啟MySQL。把skip-name-resolve引數去掉 ---- 還沒驗證。不過我記得,如果去掉了,日誌裡面會有大量的警告資訊。我是因為那些警告資訊,才新增的這個引數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2016597/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'ErrorlocalhostDatabaseMySql
- ERROR 1045 (28000): Access denied for user 'root'@'localhost'Errorlocalhost
- Error 1045(28000) Access Denied for user 'root'@'localhost'Errorlocalhost
- 一看便知linux下mysql報錯ERROR 1044: Access denied for user: '@localhost' to database 'mysql'LinuxMySqlErrorlocalhostDatabase
- Mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost'MySqlErrorlocalhost
- MYSQL解決error: 'Access denied for user 'root'@'localhost' (using password:MySqlErrorlocalhost
- ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)Errorlocalhost
- 解決Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'MySqlErrorlocalhost
- ubuntu mysql Access denied for user root@localhostUbuntuMySqllocalhost
- Access denied for user 'root'@'localhost' (using password: NO)localhost
- 解決mysql“Access denied for user 'root'@'localhost'”MySqllocalhost
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)Errorlocalhost
- Access denied for user 'default'@'%' to database 'shop'報錯Database
- ERROR 1045 (28000): Access denied for userError
- 報錯”ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)”Errorlocalhost
- ERROR 1045 (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)Error127.0.0.1
- Access denied for user ‘root‘@‘localhost‘問題的解決localhost
- #1045 - Access denied for user 'root'@'localhost' (using password: NO)localhost
- Ubuntu18.04:mysql:ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘UbuntuMySqlErrorlocalhost
- vue專案中連線MySQL時,報錯ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password:YES)VueMySqlErrorlocalhost
- 【本人親測 已解決】044 - Access denied for user ‘root‘@‘%‘ to database ‘資料庫名稱‘Database資料庫
- mysql 1045, "Access denied for user 'root'@'localhost' (using password: NO)"MySqllocalhost
- Mysql 5.7 CentOS Access denied for user 'root'@'localhost'解決方式MySqlCentOSlocalhost
- 解決mysql"Access denied fot user 'root'@'localhost'"問題MySqllocalhost
- Linux錯誤 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)LinuxErrorlocalhost
- 解決Mysql:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)的方法MySqlErrorlocalhost
- MySQL 8.0.13 密碼問題 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)MySql密碼Errorlocalhost
- MySQL使用普通使用者訪問返回ERROR 1698 (28000): Access denied for user 'root'@'localhost'MySqlErrorlocalhost
- 啟動報錯:Access denied for user 'root'@'localhost' (using password:YES)localhost
- java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)JavaSQLExceptionlocalhost
- 【MySQL】---1045-Access denied for user 'root'@'localhost'(using password :YES)MySqllocalhost
- mysql ERROR 1045 (28000): Access denied for user解決方法MySqlError
- Permission denied: user=root, access=WRITE, inode="/":hadoopuser:supergroup:drwxr-xr-xHadoop
- linux安裝MySQL出現ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)LinuxMySqlErrorlocalhost
- User Get 'Access Denied' with Excel Service WebPartExcelWeb
- Mac 下的MySQL ERROR 1227(42000): Access denied; you need (at least one of)MacMySqlErrorAST
- rhel4 mysql5.1登陸ERROR 1045 (28000): Access denied for userMySqlError
- SpringBoot中yml配置java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: NOSpring BootJavaSQLExceptionlocalhost