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