mysql學習總結05 使用者許可權

2021-08-20 22:39:13 字數 3928 閱讀 7768

2. 許可權管理

mysql中所有使用者資訊儲存在mysql資料庫下的user表中。在安裝mysql時,如果不建立匿名使用者,那麼預設使用者只有root超級使用者。mysql使用host(允許訪問的ip或者主機位址)和user(使用者名稱)共同組成主鍵來區分使用者。如果host%,表示所有使用者(客戶端)都可訪問

兩種方式:

1. 直接使用root使用者在mysql.user表中插入記錄(不推薦)

mysql> insert

into mysql.user(host,user,password) values('localhost','csxiaoyao',password('000000'));

2. 使用建立使用者的sql指令

基本語法:

create user 『使用者名稱』@』主機位址』 identified by 『《明文密碼》』;

mysql> -- 建立user1

mysql> create user 'user1'@'%' identified by '123456';

mysql> -- 檢視mysql.user表中是否存在新增使用者

mysql> select * from mysql.user;

mysql> -- 簡化版建立使用者(所有使用者可以訪問,不需要密碼)

mysql> create user user2;

mysql> -- 使用新使用者登入

mysql> mysql -uuser2;

1. 使用drop user指令

基本語法:

drop user 『使用者名稱』@』host』;

2. 使用delete指令

mysql> delete from mysql.user where user="csxiaoyao"

and host="localhost";

mysql> flush privileges;

注意:密碼需要使用系統函式 password() 加密處理

1. 使用修改密碼sql指令

基本語法:

set password for 使用者 = password(『新明文密碼』);

mysql> set password for

'user1'@'%' = password('19931128');

2. 使用update修改表

基本語法:

update mysql.user set password = password(『新明文密碼』) where user = 『使用者名稱』 and host= 『位址』;

mysql> update mysql.user set password=password('19931128') where user=

"csxiaoyao"

and host=

"localhost";

3. 使用mysqladmin

基本語法:

格式:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼

$ mysqladmin -u root password 931128

-- 初始化資料庫root無密碼

$ mysqladmin -u root -p931128 password 19931128

mysql中三類許可權:

資料許可權:增刪改查( select / update / delete / insert )

結構許可權:結構操作( create / drop )

管理許可權:許可權管理( create user / grant / revoke )

基本語法:

grant 《許可權列表 / all privileges> on 《資料庫 / * >.《表名 / * > to 《使用者[@ 登入主機]> [identified by 『《密碼》』];

許可權列表:使用,分隔,可使用all privileges代表全部許可權 ( select, insert, update, delete, create, drop, index, alter, grant, references, reload, shutdown, process, file共14個許可權,可被all privileges或all代替 )

資料庫.表名:可以是單錶(資料庫.表名),可以是具體某個資料庫(資料庫. * ),也可以整庫( * . * ),.表示賦予使用者操作伺服器上所有資料庫所有表許可權

mysql> -- 許可權修改立即生效,不需要重新整理

mysql> grant select,insert on

dbtest.tbtest

to'user1'@'%';

mysql> -- user1使用show tables只能看到tbtest一張表

需要密碼:

mysql> grant all privileges on*.

*to'csxiaoyao'@'%' identified by

'19931128';

mysql> flush privileges;

基本語法:

revoke 《許可權列表 / all privileges> on 《資料庫 / * >.《表名 / * > from 使用者;

mysql> -- 許可權修改立即生效,不需要重新整理

mysql> revoke all privileges on

dbtest.tbtest

from

'user1'@'%';

基本語法:flush privileges;

mysql> flush privileges;
重置root密碼(windows)

停止服務

重啟服務跳過許可權

直接登入

修改root使用者的密碼:指定 使用者名稱@host

重啟服務

$ service mysqld stop

$ mysqld –skip-grant-tables

$ mysql

mysql> update mysql.user

set password = password('root') where

user='root'

and host='localhost';

$ flush privileges;

$ service mysqld start

# mysqld_safe --user=root --skip-grant-tables

# mysql -u root

mysql配置使用者許可權 mysql使用者許可權配置

mysql使用者許可權配置 有什麼不對的地方請各位大神多多指教!1,檢視使用者表 mysql select user,password,host from mysql.user user 使用者名稱 password 密碼 加密 host 連線ip 2,開放遠端連線 vim etc mysql ma...

mysql使用者許可權時間 Mysql使用者許可權管理

1.檢視mysql使用者 select user,host,authentication string from mysql.user user host authentication string root localhost root b7d0cf7b6e2f root 127.0.0.1 ro...

mysql使用者和許可權 MySQL使用者及許可權知識梳理

一 賬號使用者賬號mysql使用者賬號組成 user host user 使用者名稱。mysql create user user host identified by pwd 使用者重新命名 mysql rename user old username to new username 刪除使用者 ...