如何登陸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許可權的使用者可以開啟或者關閉資料庫。當資料庫沒有開啟時,任何儲存在資料庫中的資料都...