MariaDB中1045權(quán)限錯(cuò)誤導(dǎo)致拒絕用戶訪問的錯(cuò)誤解決方法
用mariadb也有一段時(shí)間了,常用命令和語法,基本沒變。比較復(fù)雜一點(diǎn)的,例如replication,也沒有發(fā)現(xiàn)根mysql有什么不同的地方。
不過,今天真發(fā)現(xiàn)有不同的地方了,mariadb的權(quán)限管理根mysql不一樣,mysql可以創(chuàng)建一個(gè)根root賬戶同等權(quán)限的賬戶,但是mariadb就不行了,寫法上也所不同。
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í)行是沒有任何問題的。
一開始以為是mariadb的root賬號(hào)和密碼有問題,檢查后沒問題。
2,mariadb與mysql root權(quán)限不同
查看了一下,root賬戶所擁有的權(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語法不同
具體的講法以,請(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庫的所有權(quán)限都給tank
第二條命令,將所有庫和表的select權(quán)限給tank
注意:all不能和*.*一起使用的,不然就報(bào)錯(cuò)了。
相關(guān)文章:
1. MySQL分支選擇參考:Percona還是MariaDB2. Mysql入門系列:需要避免的MYSQL客戶機(jī)程序設(shè)計(jì)錯(cuò)誤3. SQL?Server導(dǎo)入.mdf方法的錯(cuò)誤處理方法4. Centos7 下mysql重新啟動(dòng)MariaDB篇5. MySQL too many connections錯(cuò)誤的原因及解決6. MariaDB中的thread pool詳細(xì)介紹和使用方法7. Windows Server 2016 服務(wù)器配置指南 之 MariaDB數(shù)據(jù)庫環(huán)境搭建方法8. 還原Sql Server數(shù)據(jù)庫BAK備份文件的3種方式以及常見錯(cuò)誤總結(jié)9. Sql Server "用戶登錄失敗,錯(cuò)誤編18456"的解決過程10. 快速解決DB2創(chuàng)建存儲(chǔ)過程時(shí)所遇到的錯(cuò)誤
