賬戶管理

  • 在生產(chǎn)環(huán)境下操作數(shù)據(jù)庫時厌殉,絕對不可以使用root賬戶連接寸五,而是創(chuàng)建特定的賬戶旁蔼,授予這個賬戶特定的操作權(quán)限锨苏,然后連接進(jìn)行操作,主要的操作就是數(shù)據(jù)的crud
  • MySQL賬戶體系:根據(jù)賬戶所具有的權(quán)限的不同棺聊,MySQL的賬戶可以分為以下幾種
    • 服務(wù)實(shí)例級賬號:伞租,啟動了一個mysqld,即為一個數(shù)據(jù)庫實(shí)例限佩;如果某用戶如root,擁有服務(wù)實(shí)例級分配的權(quán)限葵诈,那么該賬號就可以刪除所有的數(shù)據(jù)庫裸弦、連同這些庫中的表
    • 數(shù)據(jù)庫級別賬號:對特定數(shù)據(jù)庫執(zhí)行增刪改查的所有操作
    • 數(shù)據(jù)表級別賬號:對特定表執(zhí)行增刪改查等所有操作
    • 字段級別的權(quán)限:對某些表的特定字段進(jìn)行操作
    • 存儲程序級別的賬號:對存儲程序進(jìn)行增刪改查的操作
  • 賬戶的操作主要包括創(chuàng)建賬戶、刪除賬戶作喘、修改密碼理疙、授權(quán)權(quán)限等

注意:

  1. 進(jìn)行賬戶操作時,需要使用root賬戶登錄泞坦,這個賬戶擁有最高的實(shí)例級權(quán)限
  2. 通常都使用數(shù)據(jù)庫級操作權(quán)限

授予權(quán)限

需要使用實(shí)例級賬戶登錄后操作窖贤,以root為例

主要操作包括:

  • 查看所有用戶
  • 修改密碼
  • 刪除用戶

1. 查看所有用戶

  • 所有用戶及權(quán)限信息存儲在mysql數(shù)據(jù)庫的user表中
  • 查看user表的結(jié)構(gòu)
desc user;

  • 主要字段說明:
    • Host表示允許訪問的主機(jī)
    • User表示用戶名
    • authentication_string表示密碼,為加密后的值

查看所有用戶

select host,user,authentication_string from user;

結(jié)果

mysql> select host,user,authentication_string from user;
+-----------+------------------+-------------------------------------------+
| host      | user             | authentication_string                     |
+-----------+------------------+-------------------------------------------+
| localhost | root             | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| localhost | mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | debian-sys-maint | *EFED9C764966EDB33BB7318E1CBD122C0DFE4827 |
+-----------+------------------+-------------------------------------------+
3 rows in set (0.00 sec)

2. 創(chuàng)建賬戶贰锁、授權(quán)

  • 需要使用實(shí)例級賬戶登錄后操作赃梧,以root為例
  • 常用權(quán)限主要包括:create、alter李根、drop槽奕、insert、update房轿、delete粤攒、select
  • 如果分配所有權(quán)限,可以使用all privileges

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

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

2.2 示例1

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

step1:使用root登錄
mysql -uroot -p
回車后寫密碼,然后回車

step2:創(chuàng)建賬戶并授予所有權(quán)限
grant select on jing_dong.* to 'laowang'@'localhost' identified by '123456';

說明

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

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

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

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

show grants for laowang@localhost;

step3:退出root的登錄
quit

step4:使用laowang賬戶登錄
mysql -ulaowang -p
回車后寫密碼,然后回車

  • 登錄后效果如下圖

2.3 示例2

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

grant all privileges on jing_dong.* to "laoli"@"%" identified by "12345678"

賬戶操作

1. 修改權(quán)限

grant 權(quán)限名稱 on 數(shù)據(jù)庫 to 賬戶@主機(jī) with grant option;

2. 修改密碼

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

  • 使用password()函數(shù)進(jìn)行密碼加密

    update user set authentication_string=password('新密碼') where user='用戶名';
    例:
    update user set authentication_string=password('123') where user='laowang';
    
    
  • 注意修改完成后需要刷新權(quán)限

    刷新權(quán)限:flush privileges
    
    

3. 遠(yuǎn)程登錄(危險慎用)

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

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

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

然后重啟msyql

service mysql restart

在另外一臺Ubuntu中進(jìn)行連接測試

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

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

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

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

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

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

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

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

4)端口指定是否正確

4. 刪除賬戶

  • 語法1:使用root登錄
drop user '用戶名'@'主機(jī)';
例:
drop user 'laowang'@'%';

  • 語法2:使用root登錄,刪除mysql數(shù)據(jù)庫的user表中數(shù)據(jù)
delete from user where user='用戶名';
例:
delete from user where user='laowang';

-- 操作結(jié)束之后需要刷新權(quán)限
flush privileges

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

3. 忘記 root 賬戶密碼怎么辦 !!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骗露,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子血巍,更是在濱河造成了極大的恐慌萧锉,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件述寡,死亡現(xiàn)場離奇詭異驹暑,居然都是意外死亡玫恳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門优俘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來京办,“玉大人,你說我怎么就攤上這事帆焕〔研觯” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵叶雹,是天一觀的道長财饥。 經(jīng)常有香客問我,道長折晦,這世上最難降的妖魔是什么钥星? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮满着,結(jié)果婚禮上谦炒,老公的妹妹穿的比我還像新娘。我一直安慰自己风喇,他們只是感情好宁改,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著魂莫,像睡著了一般还蹲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上耙考,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天谜喊,我揣著相機(jī)與錄音,去河邊找鬼倦始。 笑死斗遏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的楣号。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼怒坯,長吁一口氣:“原來是場噩夢啊……” “哼炫狱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起剔猿,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤视译,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后归敬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酷含,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鄙早,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了椅亚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片限番。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖呀舔,靈堂內(nèi)的尸體忽然破棺而出弥虐,到底是詐尸還是另有隱情,我是刑警寧澤媚赖,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布霜瘪,位于F島的核電站,受9級特大地震影響惧磺,放射性物質(zhì)發(fā)生泄漏颖对。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一磨隘、第九天 我趴在偏房一處隱蔽的房頂上張望缤底。 院中可真熱鬧,春花似錦琳拭、人聲如沸训堆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坑鱼。三九已至,卻和暖如春絮缅,著一層夾襖步出監(jiān)牢的瞬間鲁沥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工耕魄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留画恰,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓吸奴,卻偏偏與公主長得像允扇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子则奥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容