1044 mysql_MySQL 常见错误 ERROR 1044
原標(biāo)題:MySQL 常見(jiàn)錯(cuò)誤 ERROR 1044
來(lái)源:瀟湘隱者 ,
www.cnblogs.com/kerrycode/p/9198566.html
從供應(yīng)商那邊接手一個(gè)MySQL數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)版本為5.7.21 MySQL Community Server (GPL)),在創(chuàng)建賬號(hào)時(shí)遇到了“ERROR 1044 (42000): Access denied for user ‘root’@'localhost’ to database xxx”錯(cuò)誤,如下所示
mysql> grant all on xxx.* to xxx@'192.168.%' identified by 'xxx';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'xxxx'
mysql>
照理說(shuō),root用戶應(yīng)該有任何權(quán)限,那么為什么出現(xiàn)這個(gè)錯(cuò)誤呢? 查看當(dāng)前用戶為root@localhost,順便查看了一下各個(gè)root賬號(hào)的權(quán)限。如下所示:
mysql> select current_user() from dual;
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec
mysql> select host,user from user where user='root';
+-----------+----------+
| host | user |
+-----------+----------+
| % | root |
| 127.0.0.1 | root |
| ::1 | root |
| localhost | root |
+-----------+----------+
7 rows in set (0.00 sec)
mysql> show grants for root@'localhost';
+--------------------------------------------------------------+
| Grants for root@localhost |
+--------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------+
mysql> show grants for root@'127.0.0.1';
+---------------------------------------------------------------------+
| Grants for root@127.0.0.1 |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> show grants for root@'%';
+-------------------------------------------+
| Grants for root@% |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)
如上所示,root@localhost賬號(hào)沒(méi)有WITH GRANT OPTION選項(xiàng),關(guān)于WITH GRANT OPTION選項(xiàng),如果想讓授權(quán)的用戶,也可以將這些權(quán)限授予給其他用戶,需要選項(xiàng) “WITH GRANT OPTION“ 。也就是說(shuō)有這個(gè)選項(xiàng)就可以將權(quán)限傳遞給第三方。這也是上面root@localhost用戶給其它用后授權(quán)報(bào)錯(cuò)的原因,如果以 root@127.0.0.1登錄(此賬號(hào)擁有WITHGRANT OPTION選項(xiàng)),創(chuàng)建用戶并授權(quán)就不會(huì)有這個(gè)錯(cuò)誤,如下所示:
# mysql -host 127.0.0.1 -u root -p
Enter password:
mysql> grant all on xxx.* to xxx@'192.168.%' identified by 'test1249';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
當(dāng)然還有其它方面的原因也可能會(huì)引起這個(gè)錯(cuò)誤,不過(guò)在這個(gè)案例當(dāng)中,確實(shí)僅僅是因?yàn)樯厦嬖蛞稹L卮擞涗浺幌逻@個(gè)案例@!
【關(guān)于投稿】
如果大家有原創(chuàng)好文投稿,請(qǐng)直接給公號(hào)發(fā)送留言。返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的1044 mysql_MySQL 常见错误 ERROR 1044的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 淘宝信用等级|淘宝买家信用等级|淘宝卖家
- 下一篇: linux cmake编译源码,linu