文章詳情頁
MariaDB中1045權限錯誤導致拒絕用戶訪問的錯誤解決方法
瀏覽:239日期:2023-03-30 13:21:18
用mariadb也有一段時間了,常用命令和語法,基本沒變。比較復雜一點的,例如replication,也沒有發現根mysql有什么不同的地方。
不過,今天真發現有不同的地方了,mariadb的權限管理根mysql不一樣,mysql可以創建一個根root賬戶同等權限的賬戶,但是mariadb就不行了,寫法上也所不同。
1,mariadb grant授權報錯
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下,執行是沒有任何問題的。
一開始以為是mariadb的root賬號和密碼有問題,檢查后沒問題。
2,mariadb與mysql root權限不同
查看了一下,root賬戶所擁有的權限,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語法不同
具體的講法以,請參考: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庫的所有權限都給tank
第二條命令,將所有庫和表的select權限給tank
注意:all不能和*.*一起使用的,不然就報錯了。
標簽:
MariaDB
相關文章:
1. centos 7安裝mysql5.5和安裝 mariadb使用的命令2. Mysql入門系列:MYSQL客戶機程序2—增加錯誤檢查3. SQL Server連接中的常見錯誤4. Centos7 下mysql重新啟動MariaDB篇5. Mysql入門系列:需要避免的MYSQL客戶機程序設計錯誤6. Mac中MariaDB數據庫的安裝步驟7. centos編譯安裝mariadb的詳細過程8. ORACLE ORA-01653: unable to extend table 的錯誤處理方案(oracle報錯)9. SQLite 錯誤碼整理10. 解決Access出現Microsoft JET Database Engine (0x80004005)未指定的錯誤
排行榜
