二十三 MySQL賬戶管理

2022-06-30 12:51:10 字數 2617 閱讀 4464

在生產環境下運算元據庫時,絕對不可以使用root賬戶連線,而是建立特定的賬戶,授予這個賬戶特定的操作許可權,然後連線進行操作,主要的操作就是資料的crud。

mysql賬戶體系:根據賬戶所具有的許可權的不同,mysql的賬戶可以分為以下幾種

賬戶的操作主要包括建立賬戶、刪除賬戶、修改密碼、授權許可權等。

進行賬戶操作時,需要使用root賬戶登入,這個賬戶擁有最高的例項級許可權。

通常都使用資料庫級操作許可權。

需要使用例項級賬戶登入後操作

所有使用者及許可權資訊儲存在mysql資料庫的user表中:use mysql

檢視表:show tables;

檢視user表的結構:desc user;

檢視所有使用者:select host,user,authentication_string from user;

主要字段說明:(1)host 表示允許訪問的主機

(2)user表示使用者名稱

(3)authentication_string表示密碼,為加密後的值

需要使用例項級賬戶登入後操作

常用許可權主要包括:create、alter、drop、insert、update、delete、select

如果分配所有許可權,可以使用all privileges

grant 許可權列表 on 資料庫 to 「使用者名稱」@「訪問主機" identified by "密碼";

grant select on jing_dong.* to '

laowang

'@'localhost

' identified by '

123456';

grant all privileges on jing_dong.* to "

laoli

"@"%

" identified by "

12345678

"

說明:(1)可以操作python資料庫的所有表,方式為:jing_dong.*(2)訪問主機通常使用 百分號% 表示此賬戶可以使用任何ip的主機登入訪問此資料庫

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

檢視使用者有哪些許可權:show grants for laowang@localhost;

grant 許可權名稱 on 資料庫 to 賬戶@主機 with grant option;

grant select,insert on jing_dong.*to laowang@localhost with grant option;

# 修改完許可權後還需要重新整理一下

flush privileges;

使用root 登入,修改mysql資料庫的user表  

# 使用password()函式進行密碼加密

update user set authentication_string=password('

新密碼') where user='

使用者名稱';例:

update user set authentication_string=password('

123') where user='

laowang';

# 注意修改完成後需要重新整理許可權

#重新整理許可權

flush privileges

如果向在乙個ubuntu中使用msyql命令遠端連線另外一台mysql伺服器的話,通過以下方式即可完成,但是此方法僅僅了解就好了,不要在實際生產環境中使用

修改 /etc/mysql/mysql.conf.d/mysqld.cnf 檔案:vim/etc/mysql/mysql.conf.d/mysqld.cnf

然後重啟mysql:servive mysql restart

在另外一台ubuntu中進行連線測試:

如果連線不上,可能原因:

(1)網路不同,同ping 目標ip檢查網路是否能正常通訊

(2)檢視資料庫是否配置了bind_address引數

本地登入資料庫檢視my.conf檔案和資料庫當前引數show variables like 'bind_address';

如果設定了bind_address=127.0.0.1,那麼只能本地登入

(3)檢視資料庫是否設定了skip_networking引數

如果設定了該引數,那麼只能本地登入mysql資料庫。

(4)埠指定是否正確

(1)語法1:使用root登入

drop user '使用者名稱'@'主機'

(2)語法2:使用root登入,刪除mysql資料庫的user表中的資料

delete from user where user='使用者名稱';

# 操作結束後重新整理許可權

flush privileges

二十三 MySQL 事務

mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成乙個事務!一般來說,事務是必須滿足4個條件 acid 原子性 atomicity,或稱不可分割性 一...

隨筆 二十三

1.gradle 完a整指南 android 2.android gradle 外掛程式 3.0 挖坑日記 3.android效能優化全方面解析 4.android studio 3.2新功能特性 5.重新認識 androidstudio 和 gradle,這些都是你應該知道的 6。美團外賣andr...

演算法(二十三)

1 給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。public int maxsubarray int nums return maxsum 複雜度分析 public int maxsubarray int nums return maxsum 2 ...