賬號管理

賬戶管理

在生產(chǎn)環(huán)境下操作數(shù)據(jù)庫時,絕對不可以使用root賬戶連接,而是創(chuàng)建特定的賬戶,授予這個賬戶特定的操作權(quán)限,然后連接進行操作,主要的操作就是數(shù)據(jù)的crud

MySQL賬戶體系:根據(jù)賬戶所具有的權(quán)限的不同,MySQL的賬戶可以分為以下幾種

服務(wù)實例級賬號:啟動了一個mysqld,即為一個數(shù)據(jù)庫實例;如果某用戶如root,擁有服務(wù)實例級分配的權(quán)限,那么該賬號就可以刪除所有的數(shù)據(jù)庫、連同這些庫中的表

數(shù)據(jù)庫級別賬號:對特定數(shù)據(jù)庫執(zhí)行增刪改查的所有操作

數(shù)據(jù)表級別賬號:對特定表執(zhí)行增刪改查等所有操作

字段級別的權(quán)限:對某些表的特定字段進行操作

存儲程序級別的賬號:對存儲程序進行增刪改查的操作

賬戶的操作主要包括創(chuàng)建賬戶、刪除賬戶、修改密碼、授權(quán)權(quán)限等

注意:

進行賬戶操作時,需要使用root賬戶登錄,這個賬戶擁有最高的實例級權(quán)限

通常都使用數(shù)據(jù)庫級操作權(quán)限

(一)授予權(quán)限

需要使用實例級賬戶登錄后操作,以root為例

主要操作包括:查看所有用戶,修改密碼,刪除用戶

1. 查看所有用戶

所有用戶及權(quán)限信息存儲在mysql數(shù)據(jù)庫的user表中

查看user表的結(jié)構(gòu)

desc user;

主要字段說明:

Host表示允許訪問的主機

User表示用戶名

authentication_string表示密碼,為加密后的值

查看所有用戶

selecthost,user,authentication_stringfromuser;

結(jié)果

mysql> select host,user,authentication_string from user;

rows in set (0.00 sec)

創(chuàng)建賬戶、授權(quán)

需要使用實例級賬戶登錄后操作,以root為例

常用權(quán)限主要包括:create、alter、drop、insert、update、delete、select

如果分配所有權(quán)限,可以使用all privileges

創(chuàng)建賬戶&授權(quán)

grant權(quán)限列表on數(shù)據(jù)庫to'用戶名'@'訪問主機'identifiedby'密碼';

創(chuàng)建一個laoweng的賬號,密碼為123456,只能通過本地訪問, 并且只能對jing_dong數(shù)據(jù)庫中的所有表進行讀操作

step1:使用root登錄

mysql -uroot -p

回車后寫密碼,然后回車

step2:創(chuàng)建賬戶并授予所有權(quán)限

grantselectonjing_dong.*to'laoweng'@'localhost'identifiedby'123456';

說明

可以操作python數(shù)據(jù)庫的所有表,方式為:jing_dong.*

訪問主機通常使用 百分號% 表示此賬戶可以使用任何ip的主機登錄訪問此數(shù)據(jù)庫

訪問主機可以設(shè)置成 localhost或具體的ip,表示只允許本機或特定主機訪問

查看用戶有哪些權(quán)限

showgrantsforlaoweng@localhost;

step3:退出root的登錄

quit

step4:使用laoweng賬戶登錄

mysql -ulaoweng -p

回車后寫密碼,然后回車

創(chuàng)建一個laoli的賬號,密碼為12345678,可以任意電腦進行鏈接訪問, 并且對jing_dong數(shù)據(jù)庫中的所有表擁有所有權(quán)限

grantallprivilegesonjing_dong.*to"laoli"@"%"identifiedby"12345678";


(二)賬戶操作

1. 修改權(quán)限

grant權(quán)限名稱on數(shù)據(jù)庫to賬戶@主機withgrantoption;-- 刷新權(quán)限flush privileges;

使用root登錄,修改mysql數(shù)據(jù)庫的user表

使用password()函數(shù)進行密碼加密

updateusersetauthentication_string=password('新密碼')whereuser='用戶名';例:updateusersetauthentication_string=password('123')whereuser='laoweng';

注意修改完成后需要刷新權(quán)限

刷新權(quán)限:flushprivileges

如果向在一個Ubuntu中使用msyql命令遠程連接另外一臺mysql服務(wù)器的話,通過以下方式即可完成,但是此方法僅僅了解就好了,不要在實際生產(chǎn)環(huán)境中使用

修改 /etc/mysql/mysql.conf.d/mysqld.cnf 文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

然后重啟msyql

sudo service mysql restart

在另外一臺Ubuntu中進行連接測試

如果依然連不上,可能原因:

網(wǎng)絡(luò)不通

通過 ping xxx.xxx.xx.xxx可以發(fā)現(xiàn)網(wǎng)絡(luò)是否正常

查看數(shù)據(jù)庫是否配置了bind_address參數(shù)

本地登錄數(shù)據(jù)庫查看my.cnf文件和數(shù)據(jù)庫當前參數(shù)show variables like 'bind_address';

如果設(shè)置了bind_address=127.0.0.1 那么只能本地登錄

查看數(shù)據(jù)庫是否設(shè)置了skip_networking參數(shù)

如果設(shè)置了該參數(shù),那么只能本地登錄mysql數(shù)據(jù)庫

端口指定是否正確

刪除賬戶

語法1:使用root登錄

dropuser'用戶名'@'主機';例:dropuser'laoweng'@'%';

語法2:使用root登錄,刪除mysql數(shù)據(jù)庫的user表中數(shù)據(jù)

deletefromuserwhereuser='用戶名';例:deletefromuserwhereuser='laoweng';-- 操作結(jié)束之后需要刷新權(quán)限flushprivileges

推薦使用語法1刪除用戶, 如果使用語法1刪除失敗,采用語法2方式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《鳥哥的Linux私房菜》筆記 1、Linux的賬號與用戶組 如何管理好一個服務(wù)器主機的賬號,以及在管理主機賬號時...
    Zhang21閱讀 2,008評論 0 5
  • 1,MySQL權(quán)限體系 mysql 的權(quán)限體系大致分為5個層級: 全局層級: 全局權(quán)限適用于一個給定服務(wù)器中的所有...
    不排版閱讀 1,003評論 0 4
  • 四、賬戶管理, 在 第一節(jié)課中的7.3已經(jīng)展示過基本的賬戶管理 4.1、基本的了解 在生產(chǎn)環(huán)境下操作數(shù)據(jù)庫時,絕對...
    有怪獸103閱讀 271評論 0 0
  • 用戶在計算機中識別并不是通過名字,而是通過ID進行識別。每個登錄的用戶都至少兩個ID,一個用戶ID稱UID,一個為...
    shaclow閱讀 437評論 0 0
  • 劉姐姐&檀姐姐、娟姐姐&管姐姐、周哥哥&藝術(shù)組1 5級的小老師們: 你們好! 我是雅欣,時光過得真快啊,我已經(jīng)好...
    寫作星閱讀 331評論 0 1

友情鏈接更多精彩內(nèi)容