解決mysql刪除用戶 bug的問題
作者在使用mysql添加用戶的時(shí)候,發(fā)現(xiàn)用戶名給我寫錯(cuò)了
強(qiáng)迫癥的我,必須要改過來,但是發(fā)現(xiàn)刪除用戶的時(shí)候,命令是成功的
但是在此創(chuàng)建同名用戶的時(shí)候,會(huì)報(bào)錯(cuò),網(wǎng)上查了很多,說這是mysql的官方bug,不知道是作者水平不夠沒能理解到那個(gè)bug,還是真的解決了這個(gè)問題,下面和大家分享,歡迎大家一起討論
刪除了user的用戶之后 無法再次創(chuàng)造相同的用戶名
在mysql 數(shù)據(jù)庫中有一張user表,可以查詢到所有的用戶和用戶信息,刪除里面的用戶信息以及你賦予那個(gè)用戶的什么權(quán)限就能完全的刪除那個(gè)用戶了
解決方法
注意這里多用戶的權(quán)限進(jìn)行了多次的刪除之后,發(fā)現(xiàn)我創(chuàng)建的時(shí)候,這個(gè)用戶的是% 允許遠(yuǎn)程連接的,所以最后一次刪除成功了
刷新用戶權(quán)限
FLUSH PRIVILEGES;
這個(gè)時(shí)候你再次創(chuàng)建同名的用戶mysql 就不會(huì)報(bào)錯(cuò)了
補(bǔ)充:mysql 刪除用戶(兩種實(shí)現(xiàn)方案)
drop
drop user XXX;刪除已存在的用戶,默認(rèn)刪除的是'XXX'@'%'這個(gè)用戶,如果還有其他的用戶如'XXX'@'localhost'等,不會(huì)一起被刪除。如果要?jiǎng)h除'XXX'@'localhost',使用drop刪除時(shí)需要加上host即drop user 'XXX'@'localhost'。
delete
delete from user where user='XXX' and host='localhost';其中XXX為用戶名,localhost為主機(jī)名。
區(qū)別
drop不僅會(huì)將user表中的數(shù)據(jù)刪除,還會(huì)刪除其他權(quán)限表的內(nèi)容。而delete只刪除user表中的內(nèi)容,所以使用delete刪除用戶后需要執(zhí)行FLUSH PRIVILEGES;刷新權(quán)限,否則下次使用create語句創(chuàng)建用戶時(shí)會(huì)報(bào)錯(cuò)。
補(bǔ)充:mysql創(chuàng)建用戶報(bào)錯(cuò)[Err] 1396 - Operation CREATE USER failed for 'test'@'%'的解決方法
問題:
執(zhí)行mysql創(chuàng)建用戶語句CREATE USER test IDENTIFIED BY 'test'; 報(bào)錯(cuò), 錯(cuò)誤信息為
[Err] 1396 - Operation CREATE USER failed for 'test'@'%'
解決步驟:
1.創(chuàng)建過test用戶。
2.查詢后發(fā)現(xiàn)無此用戶,則執(zhí)行FLUSH PRIVILEGES;然后重新執(zhí)行創(chuàng)建語句。
3.如果還是報(bào)錯(cuò),則執(zhí)行drop user 'test'@'%';然后重新執(zhí)行創(chuàng)建語句。
4.創(chuàng)建成功。
可能原因:
1.用戶已存在。
2.使用delete語句刪除用戶后沒有刷新權(quán)限。
3.用戶不存在,但是存在該用戶的權(quán)限信息。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Mysql主從同步Last_IO_Errno:1236錯(cuò)誤解決方法
最近遇到Mysql主從同步的Last_IO_Errno:1236錯(cuò)誤問題,然后在網(wǎng)上查找相關(guān)解決方案,這里分享給大家,供參考。2017-10-10python中的mysql數(shù)據(jù)庫LIKE操作符詳解
LIKE操作符用于在WHERE子句中搜索列中的指定模式,like操作符的語法在文章開頭也給大家提到,通過兩種示例代碼給大家介紹python中的mysql數(shù)據(jù)庫LIKE操作符知識(shí),感興趣的朋友跟隨小編一起看看吧2021-07-07mysql5.7.42到mysql8.2.0的升級(jí)(rpm方式)
隨著數(shù)據(jù)量的增長和業(yè)務(wù)需求的變更,我們可能需要升級(jí)MySQL,本文主要介紹了mysql5.7.42到mysql8.2.0的升級(jí)(rpm方式),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Debian 6.02 (squeeze)下編譯安裝 MySQL 5.5的方法
Debian 6.02 (squeeze)下編譯安裝 MySQL 5.5的方法,需要的朋友可以參考下。2011-12-12MYSQL數(shù)據(jù)庫如何設(shè)置主從同步
大家好,本篇文章主要講的是MYSQL數(shù)據(jù)庫如何設(shè)置主從同步,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01