MariaDB中1045權(quán)限錯(cuò)誤導(dǎo)致拒絕用戶(hù)訪(fǎng)問(wèn)的錯(cuò)誤解決方法
用mariadb也有一段時(shí)間了,常用命令和語(yǔ)法,基本沒(méi)變。比較復(fù)雜一點(diǎn)的,例如replication,也沒(méi)有發(fā)現(xiàn)根mysql有什么不同的地方。
不過(guò),今天真發(fā)現(xiàn)有不同的地方了,mariadb的權(quán)限管理根mysql不一樣,mysql可以創(chuàng)建一個(gè)根root賬戶(hù)同等權(quán)限的賬戶(hù),但是mariadb就不行了,寫(xiě)法上也所不同。
1,mariadb grant授權(quán)報(bào)錯(cuò)
MariaDB [(none)]> grant all privileges on *.* TO tank@"192.168.%" IDENTIFIED BY "test";
ERROR 1045 (28000): Access denied for user "root"@"localhost" (using password: NO)
相同的命令在mysql下,執(zhí)行是沒(méi)有任何問(wèn)題的。
一開(kāi)始以為是mariadb的root賬號(hào)和密碼有問(wèn)題,檢查后沒(méi)問(wèn)題。
2,mariadb與mysql root權(quán)限不同
查看了一下,root賬戶(hù)所擁有的權(quán)限,mariadb和mysql是不一樣的。
MariaDB [(none)]> show grants\G;
*************************** 1. row *************************** Grants for root@localhost: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO "root"@"localhost" WITH GRANT OPTION 1 row in set (0.00 sec) ERROR: No query specified
mysql> show grants;
+---------------------------------------------------------------------+ | Grants for root@localhost | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO "root"@"localhost" WITH GRANT OPTION | +---------------------------------------------------------------------+ 1 row in set (0.00 sec)
3,mariadb與mysql grant語(yǔ)法不同
具體的講法以,請(qǐng)參考:https://mariadb.com/kb/en/mariadb/grant/
MariaDB [(none)]> grant all on test.* TO tank@"192.168.%" IDENTIFIED BY "test";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant select on *.* TO tank@"192.168.%" IDENTIFIED BY "test";
Query OK, 0 rows affected (0.00 sec)
第一條命令,將test庫(kù)的所有權(quán)限都給tank
第二條命令,將所有庫(kù)和表的select權(quán)限給tank
注意:all不能和*.*一起使用的,不然就報(bào)錯(cuò)了。
相關(guān)文章:
1. CentOS 7中成功安裝MariaDB的方法教程2. CentOS6.7系統(tǒng)中編譯安裝MariaDB數(shù)據(jù)庫(kù)3. MariaDB表表達(dá)式之公用表表達(dá)式(CTE)4. Window7安裝MariaDB數(shù)據(jù)庫(kù)及系統(tǒng)初始化操作分析5. Mariadb數(shù)據(jù)庫(kù)主從復(fù)制同步配置過(guò)程實(shí)例6. MariaDB數(shù)據(jù)庫(kù)的外鍵約束實(shí)例詳解7. 記一次mariadb數(shù)據(jù)庫(kù)無(wú)法連接8. MariaDB性能調(diào)優(yōu)工具mytop的使用詳解9. MySQL 8.0.31中使用MySQL Workbench提示配置文件錯(cuò)誤信息解決方案10. Mysql/MariaDB啟動(dòng)時(shí)處于進(jìn)度條狀態(tài)導(dǎo)致啟動(dòng)失敗的原因及解決辦法
