日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MYSQL账户管理及主要操作

發(fā)布時間:2024/7/5 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MYSQL账户管理及主要操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

賬戶管理

  • 在生產(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)限

查看賬戶

  • 需要使用實例級賬戶登錄后操作,以root為例
  • 主要操作包括:
    • 查看所有用戶
    • 修改密碼
    • 刪除用戶

查看所有用戶

  • 所有用戶及權(quán)限信息存儲在mysql數(shù)據(jù)庫的user表中
  • 查看user表的結(jié)構(gòu)
desc user\G;
  • 主要字段說明:
    • host表示允許訪問的主機
    • user表示用戶名
    • authentication_string表示密碼,為加密后的值
  • 查看所有用戶
select host,user,authentication_string from user;

創(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 '用戶名'@'訪問主機' identified by '密碼';

授權(quán)

  • 語法如下:
grant 權(quán)限名稱 on 數(shù)據(jù)庫 to 賬戶1,賬戶2,... with grant option;

示例

  • step1:使用root登錄
mysql -uroot -p 回車后寫密碼,然后回車
  • step2:創(chuàng)建賬戶并授予所有權(quán)限,說明如下
    • 用戶名為py,密碼為123
    • 操作python數(shù)據(jù)庫的所有對象python.*
    • 訪問主機通常使用百分號%表示此賬戶可以使用任何ip的主機登錄訪問此數(shù)據(jù)庫
    • 訪問主機可以設(shè)置成localhost或具體的ip,表示只允許本機或特定主機訪問
grant all privileges on python.* to 'py'@'%' identified by '123';
  • 查看用戶有哪些權(quán)限
show grants for py;
  • step3:退出root的登錄
quit
  • step4:使用py賬戶登錄
mysql -upy -p 回車后寫密碼,然后回車

回收權(quán)限

  • 需要使用實例級賬戶登錄后操作,以root為例
  • 如果不希望某用戶擁有此權(quán)限,可以將此權(quán)限從用戶上撤銷
  • 語法如下:
revoke 權(quán)限列表 on 數(shù)據(jù)庫名.* from '用戶名'@'主機';

示例

  • step1:使用py登錄后,向表classes中插入數(shù)據(jù)python3
use python; insert into classes(name) values('python3');
  • step2:退出py
quit
  • 使用root登錄
mysql -uroot -p 回車后寫密碼,然后回車
  • step3:回收insert權(quán)限
revoke insert on python.* from 'py'@'%';
  • step4:退出root
quit
  • step5:使用py賬戶登錄
mysql -u py -p 回車后寫密碼,然后回車
  • step6:向表classes中插入數(shù)據(jù)python3
use python; insert into classes(name) values('python3');

修改密碼

  • 語法1:不需登錄
mysqladmin -u py -p password '新密碼' 例: mysqladmin -u py -p password '123456' 回車后寫密碼,然后回車
  • 語法2:使用root登錄,修改mysql數(shù)據(jù)庫的user表
    • 使用password()函數(shù)進行密碼加密
    • 注意修改完成后需要刷新權(quán)限
update user set authentication_string=password('新密碼') where user='用戶名'; 例: update user set authentication_string=password('123') where user='py';刷新權(quán)限:flush privileges
  • 語法1用于賬戶自己修改密碼
  • 語法2用于修改自己或其它賬戶的密碼,一般是dba或經(jīng)理修改員工的密碼

刪除賬戶

  • 語法1:使用root登錄
drop user '用戶名'@'主機'; 例: drop user 'py'@'%';
  • 語法2:使用root登錄,刪除mysql數(shù)據(jù)庫的user表中數(shù)據(jù)
delete from user where user='用戶名'; 例: delete from user where user='py';-- 操作結(jié)束之后需要刷新權(quán)限 flush privileges
  • 推薦使用語法1刪除用戶
  • 如果主機的字母大寫時,使用語法1刪除失敗,采用語法2方式

總結(jié)

以上是生活随笔為你收集整理的MYSQL账户管理及主要操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。