mysql登陸,建立使用者,許可權控制

2021-08-22 09:49:59 字數 3558 閱讀 6622

如何登陸mysql:

注意:(2)一般的資料庫軟體中有很多外掛程式,選擇性的安裝,一般只需要client,server,database  

(3)在安裝資料庫的過程中會建立root使用者及可以備選的使用者,及密碼。

2.登陸mysql:

(1)第一種方式(一般本地連線):通過client登陸,預設使用的是root使用者,直接輸入密碼就可以登陸。如下圖所示:

(2)第二種方式(本地或者遠端連線):

以windows為例:在dos視窗中cd到mysql安裝目錄下的bin目錄,然後輸入一下命令

>mysql -hlocalhost -uroot -p123456          -h後面的引數是請求連線的機器位址(一般本地連線時省略),-u後面接的是使用者名稱,-p後面接的是密碼

二.mysql資料庫使用者建立及許可權管理:

1.建立使用者並賦許可權:

(1)第一種方式:grant命令

mysql>grant all privileges on *.* to username@hostname identified by 'password';

mysql>flush privileges;                  //許可權修改之後一定要記得重新整理系統許可權表才能生效

格式:grant 許可權 on 資料庫.表 to 使用者名稱@登入主機 identified by "密碼"; 

通過grant命令可以建立使用者同時分配許可權,也可以給已有的使用者賦許可權,而且許可權可以重複附加(第一次給查的許可權,第二次給刪的許可權)

hostname如果用「%」表示所有的機器都可以連線此資料庫。

(2)第二種方式:create user命令:

注:通過這種方式建立使用者之後可以通過grant命令進行許可權賦值。在建立使用者時identified by password為可選項,不設定預設不用密碼

(3)第三種方式:直接往user表中插入一條記錄

mysql>insert into user (user,host,password,.......) values('jwang12','localhost',password('jwang12'),.......);

mysql>flush privileges;

然後通過grant命令給使用者賦許可權,這種方式一般很少用。

說明:user表中不同的資料庫版本中字段的名字不太一致,比如password欄位在高版本的user表中就沒有,並且在插入時很多欄位是預設不能為空的,所以在建立使用者並賦許可權的時候多採用第一種方式。

2.檢視使用者及主機:

mysql庫中有一張user表,記錄了使用者的名稱,主機,密碼等資訊

3.修改使用者的密碼:

(1)第一種方式:修改使用者密碼實際上就是根據主機和使用者名稱來更改user表中的密碼,如下圖所示:

mysql>update mysql.user set password='jwang13' where user='jwang' and host='localhost';

mysql>flush privileges; 

(2)第二種方式:在登陸時通過mysqladmin命令修改密碼;

cd到mysql的安裝bin目錄,然後執行:

mysqladmin -u username -p password newpassword

enter password:*******       輸入舊密碼回車即可

mysql -u username -p 

enter password:*******       輸入新密碼回車即可進入資料庫環境

4.刪除使用者資訊:

(1)刪除使用者:這種方式只是刪除了user表中的記錄

mysql>delete from user where user='jwang' and host='localhost';

mysql>flush privileges;

(2)刪除賬戶及許可權:這種方式清除了有關該使用者的所有資訊,包括許可權資訊

mysql>drop user 使用者名稱@'%';

mysql>drop user 使用者名稱@ localhost; 

注意:如果只是刪除了user表中的記錄的話許可權資訊依然存在,如果重新新增乙個使用者和原先刪除的使用者一樣的話,那他缺省會擁有原先同名使用者的許可權資訊。

5.mysql許可權驗證過程:

常識1:在mysql資料庫中,有mysql_install_db指令碼初始化許可權表,儲存許可權的表有:

常識2:mysql訪問控制包含2個階段:

階段1:伺服器檢查你是否允許連線。

階段2:假定你能連線,伺服器檢查你發出的每個請求。看你是否有足夠的許可權實施某個具體的請求(如select)。

常識3:user表中有很多字段,大致分為3類:

(1)使用者列:host,user,password(有的版本的user表中沒有這個字段)

(2)許可權控制列:select_priv,insert_priv等以priv結尾的字段

(3)安全控制列:ssl_type,ssl_cipher,x509_issuer,x509_subject(ssl用於加密,x509可以用來標識使用者)

(4)資源控制列:max_questions:每小時可以允許有多少次查詢

max_updates:每小時可以允許執行多少次更新

max_connections:每小時可以建立多少次鏈結

max_user_connects:單個使用者可以同時具有的連線數。

mysql建立使用者及遠端登陸

使用者賬號及許可權管理 顯示所有的使用者,只需要檢視mysql庫中的user表。select user,host,password from mysql.user 最後別選擇檢視所有,因為會很多專案,頭大。假如在主機192.168.18.9的mysql中建立的使用者 create user jixi...

mysql授權root使用者遠端登陸許可權

提示意思是不能用grant建立使用者,mysql8.0以前的版本可以使用grant在授權的時候隱式的建立使用者,8.0以後已經不支援,所以必須先建立使用者,然後再授權,命令如下 mysql create user root identified by hadoop3 query ok,0 rows ...

使用者以sysdba許可權無法登陸

資料庫所有具有dba許可權的使用者都不能以sysdba登入,提示說許可權不夠 首先dba是乙個角色,而sysdba是乙個許可權。dba角色包含了資料庫中絕大多數的許可權,但是不包括sysdba許可權。具有sysdba許可權的使用者可以開啟或者關閉資料庫。當資料庫沒有開啟時,任何儲存在資料庫中的資料都...