您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)MySQL與Oracle差異比較之用戶權(quán)限的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
用戶權(quán)限
編號(hào) | 類別 | ORACLE | MYSQL | 注釋 |
1 | 創(chuàng)建用戶 | Create user user_name identified by user_password default tablespace starSpace temporary tablespace temp; | CREATE USER user_name IDENTIFIED BY user_password; | 1.oracle創(chuàng)建用戶 Oracle 的默認(rèn)用戶有三個(gè): sys / system / scott. 其中sys和system 是系統(tǒng)用戶,擁有dba權(quán)限, scott用戶是Oracle數(shù)據(jù)庫的一個(gè)示范賬戶, 在數(shù)據(jù)庫安裝時(shí)創(chuàng)建, 不具備dba權(quán)限. 創(chuàng)建用戶命令: Create user user_name identified by user_password [default tablespace tableSpace] [temporary tablespace tableSpace}; 說明: 每個(gè)用戶都有一個(gè)默認(rèn)表空間和一個(gè)臨時(shí)表空間,如果沒有指定,oracle就將system設(shè)置為默認(rèn)表空間,將temp設(shè)為臨時(shí)表空間. 2.mysql創(chuàng)建用戶 創(chuàng)建用戶命令: mysql> CREATE USER yy IDENTIFIED BY '123'; yy表示你要建立的用戶名,后面的123表示密碼 上面建立的用戶可以在任何地方登陸。 如果要限制在固定地址登陸,比如localhost 登陸: mysql> CREATE USER yy@localhost IDENTIFIED BY '123'; |
2 | 刪除用戶 | Drop user user_name cascade; | Drop user user_name; | 1. Oracle SQL>drop user 用戶名; //用戶沒有建任何實(shí)體 SQL> drop user 用戶名 CASCADE; // 將用戶及其所建實(shí)體全部刪除 注: 當(dāng)前正連接的用戶不得刪除。 2. Mysql 自4.1.1以后,刪除一個(gè)MYSQL帳戶,可以使用drop user 語句了。 不過在5.0.2之前的版本中,drop user語句只能刪除沒有任何權(quán)限的用戶。 從5.0.2往后的版本中,drop user語句可以刪除任何用戶。(當(dāng)然不能自己刪自己)。示例:drop user "garfield"@"localhost"。別忘了加后面的@,不然會(huì)報(bào)錯(cuò)。 在4.1.1與5.0.2之間的版本中要?jiǎng)h除一個(gè)MYSQL帳戶,需要進(jìn)行以下操作。 1) 使用show grants語句查看要?jiǎng)h除的MYSQL帳戶都有哪些權(quán)限,使用方法如show grants for "garfield"@"localhost"。 2) 使用revoke語句收回用戶在show grants里擁有的權(quán)限。執(zhí)行這個(gè)語句將刪除除user表之外的其它所有權(quán)限表中的相關(guān)記錄,并且收回在user表中該用戶擁有的全局權(quán)限。 3) 使用drop user 語句把用戶從user表中刪除。 |
3 | 修改密碼 | alter user user_name identified by new_password | mysqladmin -u root -p 123456 password "your password"; | 1.mysql修改密碼 第一種方式: 1) 更改之前root沒有密碼的情況 c:\mysql\bin>mysqladmin -u root password "your password" 2) 更改之前root有密碼的情況,假如為123456 c:\mysql\bin>mysqladmin -u root -p123456 password "your password" 注意:更改的密碼不能用單引號(hào),可用雙引號(hào)或不用引號(hào) 第二種方式: 1) c:\mysql\bin>mysql -uroot -p密碼 以root身份登錄 2) mysql>use mysql 選擇數(shù)據(jù)庫 3) mysql>update user set password=password('你的密碼') where User='root'; 4) mysqlflush privileges; 重新加載權(quán)限表 |
4 | 設(shè)置用戶權(quán)限 | Grant connect to star -- star角色允許用戶連接數(shù)據(jù)庫, 并創(chuàng)建數(shù)據(jù)庫對(duì)象 Grant resource to star -- star角色允許用戶使用數(shù)據(jù)庫中的存儲(chǔ)空間. Grant dba to star -- DBA權(quán)限 | GRANT ALL ON picture.* TO test IDENTIFIED BY "test"; | 1. 詳見<<oracle vs mysql 用戶權(quán)限.doc>> 2.1 Oracle 權(quán)限設(shè)置 2. 詳見<<oracle vs mysql 用戶權(quán)限.doc>> 1.4 用戶權(quán)限設(shè)置 |
5 | 回收權(quán)限 | Revoke select, update on product from user02; | REVOKE privileges (columns) ON what FROM user | 1. Oracle Revoke語句的基本格式如下: REVOKE 權(quán)限類型 [(字段列表)] [, 權(quán)限類型 [(字段列表)]…]ON {數(shù)據(jù)庫名稱.表名稱}FROM 用戶名@域名或IP地址 例如,管理員撤銷用戶admin@localhost對(duì)數(shù)據(jù)庫xsxk所擁有的創(chuàng)建、創(chuàng)建數(shù)據(jù)庫及表的權(quán)限,并撤銷該用戶可以把自己所擁有的權(quán)限授予其他用戶的權(quán)限,可使用以下命令。 mysql>revoke create,drop on xsxk.* from admin@localhost; mysql>revoke grant option on xsxk.* from admin@localhost; revoke語句中的“用戶名@域名或IP地址”部分必須匹配原來grant語句中的“用戶名@域名或IP地址”部分,而“權(quán)限類型”部分可以是所授權(quán)的一部分權(quán)限。而且,revoke只能撤銷權(quán)限,不能刪除用戶賬戶,在授權(quán)表user中仍保留該用戶的記錄;用戶仍可以連接到數(shù)據(jù)庫服務(wù)器。如果要完全刪除用戶,則使用前面提到的delete語句從user表中刪除該用戶記錄。 2. Mysql 要取消一個(gè)用戶的權(quán)限,使用REVOKE語句。REVOKE的語法非常類似于GRANT語句,除了TO用FROM取代并且沒有INDETIFED BY和WITH GRANT OPTION子句: REVOKE privileges (columns) ON what FROM user user部分必須匹配原來GRANT語句的你想撤權(quán)的用戶的user部分。privileges部分不需匹配,你可以用GRANT語句授權(quán),然后用REVOKE語句只撤銷部分權(quán)限。 REVOKE語句只刪除權(quán)限,而不刪除用戶。即使你撤銷了所有權(quán)限,在user表中的用戶記錄依然保留,這意味著用戶仍然可以連接服務(wù)器。要完全刪除一個(gè)用戶,你必須用一條Delete語句明確從user表中刪除用戶記錄 |
感謝各位的閱讀!關(guān)于“MySQL與Oracle差異比較之用戶權(quán)限的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。