在生產環境下運算元據庫時,絕對不可以使用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 '說明:(1)可以操作python資料庫的所有表,方式為:laowang
'@'localhost
' identified by '
123456';
grant all privileges on jing_dong.* to "
laoli
"@"%
" identified by "
12345678
"
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;使用root 登入,修改mysql資料庫的user表# 修改完許可權後還需要重新整理一下
flush privileges;
# 使用password()函式進行密碼加密如果向在乙個ubuntu中使用msyql命令遠端連線另外一台mysql伺服器的話,通過以下方式即可完成,但是此方法僅僅了解就好了,不要在實際生產環境中使用update user set authentication_string=password('
新密碼') where user='
使用者名稱';例:
update user set authentication_string=password('
123') where user='
laowang';
# 注意修改完成後需要重新整理許可權
#重新整理許可權
flush privileges
修改 /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 ...