Mysql用戶管理

一、Linux下登錄mysql

1、登錄MySQL數據庫(mysql -hlocalhost -uroot -p)

mysql -hlocalhost -uroot -p

-h數據庫主機

-u用戶

-p密碼

-P端口號(大寫P)

例如:mysql -h127.0.0.1 -uroot -p123456 -P3306

PS:-p密碼部分,可以直接指定密碼,如果不指定,會提示輸入密碼。

2、查看當前數據庫列表--顯示數據庫(show databases)

3、激活當前數據庫--選擇數據庫(use hivgw)

4、設置字符編碼爲UTF8 (set names utf8)

5、退出mysql(quit或者exit)

 

二、MySQL用戶管理:添加用戶、授權、刪除用戶

1、添加用戶

以root用戶登錄數據庫,運行以下命令:

create user wolf identified by 'wolf';

上面的命令創建了用戶wolf,密碼是wolf。在mysql.user表裏可以查看到新增用戶的信息:

2、授權

命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";(回收權限使用命令:revoke …… from ……)

grant all privileges on private_chat.* to wolf@'%' identified by 'wolf';

flush privileges;

上面的語句將private_chat數據庫的所有操作權限都授權給了用戶wolf。

在mysql.db表裏可以查看到新增數據庫權限的信息:

也可以通過show grants命令查看權限授予執行的命令:

show grants for 'wolf';

授權命令說明:

(1)privilegesCode表示授予的權限類型,常用的有以下幾種類型[1]:

all privileges:所有權限。

select:讀取權限。

delete:刪除權限。

update:更新權限。

create:創建權限。

drop:刪除數據庫、數據表權限。

USAGE:沒有權限。

所有權限說明,請見文末附一。

(2)dbName.tableName表示授予權限的具體庫或表,常用的有以下幾種選項:

.:授予該數據庫服務器所有數據庫的權限。

dbName.*:授予dbName數據庫所有表的權限。

dbName.dbTable:授予數據庫dbName中dbTable表的權限。

(3)username@host表示授予的用戶以及允許該用戶登錄的IP地址。其中Host有以下幾種類型:

localhost:只允許該用戶在本地登錄,不能遠程登錄。

%:允許在除本機之外的任何一臺機器遠程登錄。

192.168.52.32:具體的IP表示只允許該用戶從特定IP登錄。

::1  ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

(4)password指定該用戶登錄時的密碼。

(5)flush privileges表示刷新權限變更。

設置權限時必須給出的信息:

(1)要授予的權限

(2)被授予訪問權限的數據庫或表

(3)用戶名

grant和revoke可以在幾個層次上控制訪問權限:

(1)整個服務器,使用 grant ALL  和revoke  ALL

(2)整個數據庫,使用on  database.*

(3)特定表,使用on  database.table

(4)特定的列

(5)特定的存儲過程

3、修改密碼

運行以下命令可以修改用戶密碼

update mysql.user set password = password('wolfnew') where user = 'wolf' and host = '%';

flush privileges;

4、刪除用戶

運行以下命令可以刪除用戶:

drop user wolf@'%';

drop user命令會刪除用戶以及對應的權限,執行命令後你會發現mysql.user表和mysql.db表的相應記錄都消失了。

5、常用命令組

創建用戶並授予指定數據庫全部權限:適用於Web應用創建MySQL用戶

create user wolf identified by 'wolf';

grant all privileges on wolfDb.* to wolf@'%' identified by 'wolf';

flush  privileges;

創建了用戶wolf,並將數據庫wolfDB的所有權限授予wolf。如果要使wolf可以從本機登錄,那麼可以多賦予localhost權限:

grant all privileges on wolfDb.* to wolf@'localhost' identified by 'wolf';

 

附一:權限表

權限

說明

all

 

alter

 

alter routine

使用alter procedure 和drop procedure

create

 

create routine

使用create  procedure

create temporary tables

使用create temporary table

create  user

 

create view

 

delete

 

drop

 

execute

使用call和存儲過程

file

使用select into outfile  和load data infile

grant option

可以使用grant和revoke

index

可以使用create index 和drop index

insert

 

lock tables

鎖表

process

使用show full processlist

reload

   使用flush

replication client

服務器位置訪問

replocation slave

由複製從屬使用

select

 

show databases

 

show view

 

shutdown

使用mysqladmin shutdown 來關閉mysql

super

 

update

 

usage

無訪問權限

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章