MySQL數(shù)據(jù)庫下用戶及用戶權(quán)限配置
問題:使用某大腿寫的遠程工具管理Mysql數(shù)據(jù)庫時發(fā)現(xiàn)所有數(shù)據(jù)能正常顯示,但是無法進行刪除、修改等操作。
思路:可以遠程讀取到數(shù)據(jù)庫里的信息,說明當前主機可以遠程連接數(shù)據(jù)庫。卻無法進行刪除、修改這些操作,說明某些權(quán)限并未賦予當前遠程用戶。
解決方法:
查看當前用戶權(quán)限
show grants for username
顯示當前用戶下的權(quán)限為:select,insert,update,delete
GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*BB318072E265C419B3E1E19A4DAD1FA969B9B4D4' //只可以在本地登陸的 不能操作的用戶 GRANT SELECT, INSERT, UPDATE, DELETE ON `dbName`.* TO 'usename'@'host' //此用戶擁有select/insert/update/delelte權(quán)限
這樣看來,應該是具備刪除、修改這些權(quán)限的,可是在遠程工具上卻不能進行操作。
仔細排查后,發(fā)現(xiàn)大腿寫的這個工具對數(shù)據(jù)庫的操作基本上都是通過函數(shù)執(zhí)行的,我這個用戶的權(quán)限里并未賦予存儲過程、存儲函數(shù)的相關(guān)權(quán)限,當然就不能進行相關(guān)操作了
于是,給用戶添加存儲過程及存儲函數(shù)權(quán)限
GRANT DELETE, INDEX, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `dbName`.* TO 'username'@'host'
查看用戶權(quán)限為
GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*938D2D224D12DAD427AB953B931EA6DF0CF0656A' GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `dbName`.* TO 'username'@'host'
再使用遠程工具,可正確使用
-----------------------------------------------------------------------------------------------------
附:導入數(shù)據(jù)庫自定義函數(shù)
mysqldump -uroot -ntd -R dbName > dbName.sql
發(fā)現(xiàn)導入出現(xiàn)錯誤信息
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
錯誤信息1481,當導入自定義函數(shù)時相當于創(chuàng)建自定義函數(shù)到數(shù)據(jù)庫中,但是因為有一個安全參數(shù)沒有開啟,log_bin_trust_function_creators 默認為0(即OFF),
是不允許function的同步的(也就是說不允許創(chuàng)建函數(shù)),開啟這個參數(shù),就可以創(chuàng)建成功了。
查看log_bin_trust_function_creators值
> show variables like "%func%" -------------------------------------- |Variable_name |Value| --------------------------------|----- |log_bin_trust_function_creators| OFF | --------------------------------------
value為OFF,說明是不允許創(chuàng)建函數(shù),修改這個值,即可
> set global log_bin_trust_function_creators=1; >show variables like "%func%" -------------------------------------- |Variable_name |Value| --------------------------------|----- |log_bin_trust_function_creators| ON |
注意:導入完成后記得把值設回0(即OFF),具體原因就不細說了。
以上所述是小編給大家介紹的MySQL數(shù)據(jù)庫下用戶及用戶權(quán)限配置,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
- MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法
- MySQL用戶權(quán)限管理詳解
- mysql SKIP-NAME-RESOLVE 錯誤的使用時機造成用戶權(quán)限
- Windows下降權(quán)MYSQL和apche的運行級別(普通用戶權(quán)限運行)
- MySQL中導出用戶權(quán)限設置的腳本分享
- MySQL驗證用戶權(quán)限的方法
- 在MySQL中增添新用戶權(quán)限的方法
- MySQL與Oracle 差異比較之七用戶權(quán)限
- MySQL 創(chuàng)建用戶、授權(quán)用戶、撤銷用戶權(quán)限、更改用戶密碼、刪除用戶(實用技巧)
- MySQL用戶權(quán)限驗證與管理方法詳解
相關(guān)文章
Navicat連接mysql報錯2003(10060)的解決方法
本來好好的navicat連接數(shù)據(jù)庫,突然間今天就打不開數(shù)據(jù)庫了,下面這篇文章主要給大家介紹了關(guān)于Navicat連接mysql報錯2003(10060)的解決方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-04-04
安裝MySQL phpMyAdmin cpolar實現(xiàn)遠程訪問連接的操作步驟
這篇文章主要給大家介紹了安裝 MySQL phpMyAdmin cpolar實現(xiàn)遠程訪問連接的流程步驟,文中有詳細的圖文介紹,具有一定的參考價值,需要的朋友可以參考下2023-08-08
MySQL數(shù)據(jù)庫使用規(guī)范總結(jié)
本篇文章給大家詳細分類總結(jié)了數(shù)據(jù)庫相關(guān)規(guī)范,幫助大家發(fā)揮出數(shù)據(jù)庫的性能,感興趣的朋友可以了解下2020-08-08

