Mysql中Drop删除用户的名字_mysql5.5 使用drop删除用户
在說這個問題之前我們先討論下關于在mysql中刪除用戶的方法和問題:
其實在以前我刪除mysql中的賬號的時候用delete,一直沒注意其實用這個命令刪除賬號會有一個問題
就是使用delete刪除賬號后,只會清除user表的,在其它表中的信息還是存在,比如:db表,這個表是規定哪個用戶可以訪問哪個數據庫
這樣使用delete刪除后,在創建一個同名的最小權限的用戶的時候,那么他會重用以前的權限,造成權限方面的問題。
這里我們拿test庫來做下實驗:
grant all on test.* to dbmanager@'127.0.0.1' identified by '123456';
建立dbmanager用戶讓它對test庫有所有權限。
查看user表和db表:
然后我們使用delete命令刪除dbmanager賬號:
delete from user where user ='dbmanager' and host='127.0.0.1';
再查看user表和db表:
這時user表里面沒有了dbmanager賬號,但是db表里面還是有這個賬號的并且它的權限依然存在,這時我們創建一個只有select權限的dbmanager賬號。
grant select on test.* to dbmanager@'127.0.0.1' identified by '123456';
dbmanager賬號的權限和以前的權限是一樣的,所以使用delete刪除賬號的時候會引起權限方面的問題,知道這個問題后我以后刪除賬號基本上都是使用drop命令
說完上面的問題后,來說下用drop命令刪除賬號時遇到的問題:
mysql5.5安裝完畢后要刪除里面默認的賬號并設置密碼,但在使用drop刪除的過程中遇到報錯
一直不知道是什么問題,直到看到了這個帖子:http://zhuatlantis.blog.51cto.com/6106101/1343168
我們先用delete來刪除。
這里說的意思是主機名里面如果有大寫字母的時候,就會有這個問題。好像是mysql5.5的一個bug
在安裝完mysql后會出現:
| VM000000809 | root | 和 | VM000000809 | | 這兩個賬戶
這樣的問題在mysql5.0的時候并沒有出現,mysql5.0中主機名可以保存為大寫形式,但是在mysql5.5中卻不能保存為大寫的形式,即使你在grant中寫的是大寫,mysql5.5也會存儲為小寫的
bug地址:https://bugs.mysql.com/bug.php?id=62255
總結
以上是生活随笔為你收集整理的Mysql中Drop删除用户的名字_mysql5.5 使用drop删除用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件字符串变量插入linux,Linux
- 下一篇: php mysql关键技术_中高级PHP