mysql(2)許可權管理

2022-09-08 17:12:12 字數 2728 閱讀 9521

1.初始化完成之後的使用者:只有乙個root使用者,5.6及之前的版本是沒有密碼的,5.7會產生隨機密碼,在初始化時可以看到,在配置日誌檔案中也可以檢視。

2.使用者的許可權管理步驟

1)檢查使用者的-hip和使用者名稱是否被允許

2)檢視mysql.user表是否存在該使用者,這裡沒有許可權設定,預設對所有的庫都有許可權

3)然後檢視mysql.db表中該使用者對某些庫的許可權

4)然後檢視mysql.table_priv對於某個庫的某張表的許可權檢視

5)然後檢視mysql.columns_priv對某張表的某列的檢視許可權

檢視命令: 例如檢視user表描述,進入mysql ,語句:  use  mysql ; desc user;

檢視user表中root的內容,select *  from user where  user="root"  \g     \g表示把結果集豎起來便於檢視;

如下authentication_string 就是我們的密碼,但是是同password函式處理過的,是不可逆的,所以是安全的;

3.常用許可權

sql語句:select, insert ,update, delete , index等

儲存過程: create routine,  alter routine ,execute ,irigger

管理許可權:super, reload ,  show database ,shutdown,   grant  option等

所有許可權可以檢視:

4.新增使用者

create  user    '使用者名稱'@'ip位址'  identified   by  '密碼';

grant  privileges(許可權型別) db.table(資料庫表名,所有的可以用*.*) to '使用者名稱'@'ip位址'  identified   by  '密碼';//給予許可權,在沒有該使用者的前提下建立使用者

insert  into   mysql.user(host,user,password,[priviligelist]) values(位址,使用者名稱,密碼,許可權)

5.刪除使用者

drop  user  '使用者名稱'@'ip位址' ;

6.檢視許可權

show  grants  for  '使用者名稱'@'ip位址' ;//檢視許可權資訊

7.授予許可權

privileges:select,insert,update,delete,create,drop,references,index,alter,createtemporarytables,lock tables,execute,createview,showview,createroutine,alterroutine,event,trigger

grant  privileges(許可權型別).,.,. db.table(資料庫表名,所有的可以用*.*表示所有的庫,庫名.*表示某庫下的所有表,該庫不能與j**a連線,連線後需要關閉才能設定) to '使用者名稱'@'ip位址'(所有的ip用『%』)  identified   by  '密碼'  with  grant  option;//授予許可權以及grant許可權

revoke  privileges(許可權型別).,.,. db.table(資料庫表名,所有的可以用*.*) to '使用者名稱'@'ip位址'  identified   by  '密碼'  with  grant  option;

grant all privileges on test_db.* to 』root』@'ip'  identified by '密碼';//all privileges  所以的privileges 許可權;

revoke all  privileges  ,grant  option  from '使用者名稱'@'ip位址' ;//收回所有的許可權

grant select(屬性) on db.table  to  』root』@'ip'  identified by '密碼';//grant 作用在表中的列上

備註:問題1

在linux上設定ip之後有可能導致jdbc無法連線上,所以將ip改為%  或者乙個波段。

問題2在設定require x509  或者ssl之後 沒有認證mysql5.6是無法登陸的,--ssl =false沒作用了;

mysql 2 登陸管理使用者

登入 mysql 當 mysql 服務已經執行時,我們可以通過 mysql 自帶的客戶端工具登入到 mysql 資料庫中,首先開啟命令提示符,輸入以下格式的命名 mysql h 主機名 u 使用者名稱 p 引數說明 h 指定客戶端所要登入的 mysql 主機名,登入本機 localhost 或 12...

學習之路 MySQL(2)

看完上篇部落格之後,應該mysql的開發環境都配置好了,現在入正題,學習下mysql的用法 一 mysql的語句規範 1 關鍵字與函式名稱是要全部大寫的,例如 show alter 2 資料名稱,欄位名稱,表名稱是要全部小寫的 3 sql語句必須以英文分號 結尾 二 對資料進行操作 通俗的說,就是找...

MySQL(2) 關聯對映

1.多表的關係,一對一,一對多,多對多 2.實現關聯的方法 3.以mysql舉例 建立country表 主鍵是name 建立presidengt表 主鍵是name 對應關係 乙個國家對應乙個 乙個 對應乙個國家。country表中的name對應president表中的f country name。指...