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

无访问权限

 

 

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