在中國(guó)做外國(guó)網(wǎng)站怎么收錢網(wǎng)站查詢
文章目錄
- 前言
- 一. 用戶管理
- 1. 創(chuàng)建用戶
- 2. 刪除用戶
- 3. 修改用戶密碼
- 二. 權(quán)限控制
- 1. 用戶授權(quán)
- 2. 查看權(quán)限
- 3. 回收權(quán)限
- 結(jié)束語(yǔ)
前言
MySQL的數(shù)據(jù)其實(shí)也以文件形式保存,而登錄信息同樣保存在文件中
MySQL的數(shù)據(jù)在Linux下默認(rèn)路徑是/var/lib/mysql
登錄MySQL同樣也可以查詢用戶信息
用戶信息在數(shù)據(jù)庫(kù)mysql中的user表中
--以一定形式顯示數(shù)據(jù)select * from user\G;
*************************** 1. row ***************************Host: localhostUser: rootSelect_priv: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: YDrop_priv: YReload_priv: YShutdown_priv: YProcess_priv: YFile_priv: YGrant_priv: YReferences_priv: YIndex_priv: YAlter_priv: YShow_db_priv: YSuper_priv: YCreate_tmp_table_priv: YLock_tables_priv: YExecute_priv: YRepl_slave_priv: YRepl_client_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: YCreate_user_priv: YEvent_priv: YTrigger_priv: Y
Create_tablespace_priv: Yssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0max_updates: 0max_connections: 0max_user_connections: 0plugin: mysql_native_passwordauthentication_string: *BFD88FA31A402F8526DC79248D12DB3105F91D0Bpassword_expired: Npassword_last_changed: 2023-09-27 21:29:37password_lifetime: NULLaccount_locked: N
提煉其中比較關(guān)鍵的幾個(gè)屬性
mysql> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *BFD88FA31A402F8526DC79248D12DB3105F91D0B |
+-----------+---------------+-------------------------------------------+
host
:表示這個(gè)用戶可以從哪個(gè)主機(jī)登錄。localhost代表只能本地登錄
user
:用戶名
authentication_string
:登錄密碼通過password函數(shù)加密形成的秘鑰字符串
一. 用戶管理
1. 創(chuàng)建用戶
create user '用戶名'@'登錄主機(jī)/ip' identified by '密碼';
案例;
mysql> create user 'ljh'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.03 sec)mysql> select host,user,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *BFD88FA31A402F8526DC79248D12DB3105F91D0B |
| localhost | ljh | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------------+-------------------------------------------+
localhost
:代表只能本地主機(jī)登錄
%
:代表可以從任意主鍵登錄
具體主機(jī)ip
:只能從該主機(jī)登錄
注意:非常不建議給用戶的主機(jī)名設(shè)置為%
2. 刪除用戶
drop user '用戶名'@'主機(jī)名'
刪除時(shí)需要指明主機(jī)名,不然默認(rèn)主機(jī)名是’%’
3. 修改用戶密碼
- 自己改自己的密碼
set password=password('新的密碼');
- root用戶更改其他用戶的密碼
set password for '用戶名'@'主機(jī)名'=password('新的密碼');
二. 權(quán)限控制
MySQL有這些權(quán)限:
常用的也就是增刪查改,create,drop,delete,alter,insert等等
1. 用戶授權(quán)
剛創(chuàng)建的用戶沒有任何權(quán)限
語(yǔ)法:
grant 權(quán)限列表 on 庫(kù)名.對(duì)象 to '用戶名'@'登錄主機(jī)';
- 權(quán)限列表
單權(quán)限:
grant select on ...
多權(quán)限:grant select,delete ...
權(quán)限之間用逗號(hào)隔開
全部權(quán)限:grant all on ...
- 指定對(duì)象
/ * . *:代表本系統(tǒng)中所有數(shù)據(jù)庫(kù)的所有對(duì)象(表,視圖,存儲(chǔ)過程等)
庫(kù) . *:表示某個(gè)數(shù)據(jù)庫(kù)中的所有對(duì)象
案例:
先創(chuàng)建一個(gè)用戶
mysql> create user 'ljh'@'localhost' identified by '密碼'登錄該用戶mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
此時(shí)我們查看不了其他的表
我們可以使用root用戶賦權(quán)
mysql> grant create on *.* to 'ljh'@'localhost';
如此ljh用戶就有查表建表的權(quán)限了
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| README_DBDF |
| bit_index |
| mysql |
| performance_schema |
| scott |
| sys |
| test_demo |
| tmp1 |
| tmp2 |
+--------------------+
如果發(fā)現(xiàn)賦權(quán)后,沒有生效,執(zhí)行如下指令
flush privileges;
如果還沒有生效,可以嘗試退出重登
2. 查看權(quán)限
語(yǔ)法:
mysql> show grants for 'ljh'@'localhost';
+------------------------------------------+
| Grants for ljh@localhost |
+------------------------------------------+
| GRANT CREATE ON *.* TO 'ljh'@'localhost' |
+------------------------------------------+
注意,root用戶可以查看任意用戶的權(quán)限,普通用戶只能查看自己的權(quán)限
測(cè)試發(fā)現(xiàn),如果一個(gè)普通用戶有所有權(quán)限,也可以查看其他用戶的權(quán)限
3. 回收權(quán)限
語(yǔ)法:
revoke 權(quán)限列表 on 庫(kù).對(duì)象名 from '用戶名'@'登錄主機(jī)';
ljh用戶原本的權(quán)限:
mysql> show grants for 'ljh'@'localhost';
+--------------------------------------------------+
| Grants for ljh@localhost |
+--------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'ljh'@'localhost' |
+--------------------------------------------------+
我們回收drop權(quán)限
revoke drop on *.* from 'ljh'@'localhost';
因?yàn)樵臼怯衋ll所有權(quán)限的,回收drop后,會(huì)顯示剩余所有權(quán)限
結(jié)束語(yǔ)
感謝看到此處
如果覺得本篇文章對(duì)你有所幫助的話,不妨點(diǎn)個(gè)贊支持一下博主,拜托啦,這對(duì)我真的很重要。