在mysql使用者中遇到了一些問題,接下來分享一下mysql使用者管理中的細節和問題的解決辦法。
遇到的問題
建立使用者以後無法登入
明明用sql語句給使用者授權了,但是使用者並沒有得到授權,反而在user表中增加了乙個同名的使用者
在想刪除某個使用者的時候無法刪除
細節
在建立使用者的時候比如你這樣:create user tom;其實這句話的意思是:create user tom@%;說明這個賬號可以在所有主機上登入,這是預設的。你也可以通過create user 使用者名稱@主機;來指定該使用者可以在哪些主機上登入。比如:tom@localhost, 表示可以在本地主機登入。
在對使用者賬號進行操作時如果只用使用者名稱,比如tom,那麼預設都是tom@%,這樣的話,如果你定義了乙個使用者為tom@localhost,那麼使用 drop user tom,是無法刪除使用者tom的,應該使用drop user tom@localhost.
如果你之前沒有建立乙個使用者賬號,但是通過grant語句給該使用者授權了,那麼mysql會自動產生乙個該使用者。
解決辦法
所以在凡是用到使用者賬號的時候,都應該使用
使用者@主機
這種格式,並且養成這種規範,防止發生混亂。所以說只是簡單的使用者名稱是無法區分使用者賬號的,需要包括主機名的完整使用者賬號,同時我們應該避免使用相同的使用者名稱,即使所在的主機是不同的。 但是在用mysql語句登入使用者的時候只需要簡單的使用者名稱,因為系統會自動為你加上主機名,比如@localhost。
mysql 使用者名稱密碼登陸不上
設定了使用者名稱密碼root,但是始終都鏈結不上是什麼問題呢?下面我們就來排查一下 輸入 mysql uroot proot 直接輸入mysql,連線成功 show databases 只有information schema test兩張表 說明mysql的服務是啟動的沒有問題 我們先stop m...
Linux中使用者名稱和使用者組的管理
首先認識使用者識別符號 uid和gid 其實每乙個使用者和使用者組都有乙個id號,分別是uid和gid 現在需要認識三個目錄 etc passwd etc group etc shadow 它們分別儲存著賬戶,組,和密碼 它們的儲存形式為 從上到下所在的檔案 group,passwd,shadow ...
MySQL修改使用者名稱
mysql原來的預設使用者名叫root,很想改了。先輸入以下語句檢視一下現在使用者名稱都叫啥 select user from mysql.user user mysql.session mysql.sys root 3 rows in set 0.03 sec 除了你的預設root,還多出mysq...