【997755.com澳门葡京】mysql数据库常用语句叁,用户管理和权限设置

一、管理用户

mysql 用户管理和权力设置

mysql 用户管理和权力设置的连带命令整理。

用户管理

【997755.com澳门葡京】mysql数据库常用语句叁,用户管理和权限设置。mysql>use mysql;

查看

mysql>select host,user,password from user ;

创建

mysql>create user zx_root;

修改

mysql>rename user feng to newuser; //mysql
5之后方可运用,之前供给动用update 更新user表

删除

mysql>drop user newuser;   //mysql伍事先剔除用户时务必先利用revoke
删除用户权限,然后删除用户,mysql伍随后drop
命令能够去除用户的还要删除用户的相干权限

更换密码

mysql>set password for zx_root =password(‘xxxxxx’);

mysql>update  mysql.user  set  password=password(‘xxxx’)  where
user=’otheruser’
 
查阅用户权限

mysql>show grants for zx_root;

赋予权力

mysql>grant select on dmc_db.*  to zx_root;

回收权限

mysql>revoke  select on dmc_db.*  from  zx_root;
 //假若权限不存在会报错
 
地点的指令也可采纳八个权力同时给予和回收,权限以内采用逗号分隔

mysql>grant select,update,delete  ,insert  on dmc_db.*  to
 zx_root;

借使想登时看到结果使用

flush  privileges ;

一声令下更新 
 
设置权有效期务必付出一下新闻

一,要给以的权限

二,被授予访问权限的数据库或表

3,用户名

grant和revoke能够在多少个档案的次序上主宰访问权限

一,整个服务器,使用 grant ALL  和revoke  ALL

2,整个数据库,使用on  database.*

3,特点表,使用on  database.table

4,特定的列

5,特定的积攒进度
 
user表中host列的值的意义

%              相配全部主机

localhost      localhost不会被分析成IP地址,直接通过UNIXsocket连接

12七.0.0.一      会通过TCP/IP协议连接,并且只幸好本机访问

::一            ::一就是相称援助ipv六的,表示同ipv四的1二7.0.0.壹

grant 普通数据用户,查询、插入、更新、删除 数据库中享有表数据的职务。

grant select on testdb.* to
[email protected]’%’

grant insert on testdb.* to
[email protected]’%’

grant update on testdb.* to
[email protected]’%’

grant delete on testdb.* to
[email protected]’%’

要么,用一条 MySQL 命令来代表:

grant select, insert, update, delete on testdb.* to
[email protected]’%’

玖>.grant
数据库开采人士,创立表、索引、视图、存款和储蓄进程、函数。。。等权力。

grant 创制、修改、删除 MySQL 数据表结构权限。

grant create on testdb.* to
[email protected]’192.168.0.%’;

grant alter on testdb.* to
[email protected]’192.168.0.%’;

grant drop on testdb.* to
[email protected]’192.168.0.%’;

grant 操作 MySQL 外键权限。

grant references on testdb.* to
[email protected]’192.168.0.%’;

grant 操作 MySQL 权且表权限。

grant create temporary tables on testdb.* to
[email protected]’192.168.0.%’;

grant 操作 MySQL 索引权限。

grant index on testdb.* to
[email protected]’192.168.0.%’;

grant 操作 MySQL 视图、查看视图源代码 权限。

grant create view on testdb.* to
[email protected]’192.168.0.%’;

grant show view on testdb.* to
[email protected]’192.168.0.%’;

grant 操作 MySQL 存款和储蓄过程、函数 权限。

grant create routine on testdb.* to
[email protected]’192.168.0.%’;
— now, can show procedure status

grant alter routine on testdb.* to
[email protected]’192.168.0.%’;
— now, you can drop a procedure

grant execute on testdb.* to
[email protected]’192.168.0.%’;

十>.grant 普通 DBA 管理有些 MySQL 数据库的权限。

grant all privileges on testdb to
[email protected]’localhost’

里头,关键字 “privileges” 能够简单。

11>.grant 高端 DBA 管理 MySQL 中具有数据库的权限。

grant all on *.* to
[email protected]’localhost’

1二>.MySQL grant 权限,分别能够功效在七个等级次序上。

  1. grant 效用在整整 MySQL 服务器上:

grant select on *.* to
[email protected];
— dba 能够查询 MySQL 中全体数据库中的表。

grant all on *.* to
[email protected];
— dba 能够管理 MySQL 中的全部数据库

  1. grant 成效在单个数据库上:

grant select on testdb.* to
[email protected];
— dba 能够查询 testdb 中的表。

  1. grant 作用在单个数据表上:

grant select, insert, update, delete on testdb.orders to
[email protected];

  1. grant 成效在表中的列上:

grant select(id, se, rank) on testdb.apache_log to
[email protected];

  1. grant 效率在仓库储存进度、函数上:

grant execute on procedure testdb.pr_add to ‘dba’@’localhost’

grant execute on function testdb.fn_add to ‘dba’@’localhost’

留意:修改完权限以往 一定要刷新服务,只怕重启服务,刷新服务用:FLUSH
PLANDIVILEGES。

用户管理和权力设置 mysql
用户管理和权限设置的相干命令整理。 用户管理 mysqluse mysql; 查看
mysqlselect host,user,password from user ; 创设 my…

本文实例讲述了MySQL用户权限验证与治本办法。分享给大家供大家参考,具体如下:

一:查询钦点数据库中有所的表名

查阅用户     

一、Mysql权限分两品级验证

数据库名:test

use mysql;

  1. 服务器检查是否允许连接:用户名、密码,主机地址。

  2. 自己辩论每八个请求是还是不是有权力试行。

select table_name from information_schema.tables
where table_schema=’test’; 

select user from user;

2、Mysql权限列表

即使想询问该schema下的全体新闻,只要把table_name修改成 * 即可。

创办用户账号

权限 权限级别 权限说明
create 数据库、表或索引 创建数据库、表或索引权限
drop 数据库或表 删除数据库或表权限
grant option 数据库、表或保存的程序 赋予权限选项
references 数据库或表 外键权限
alter 更改表,比如添加字段、索引、修改字段等
delete 删除数据权限
index 索引权限
insert 插入权限
select 查询权限
update 更新权限
create view 视图 创建视图权限
show view 视图 查看视图权限
alter routine 存储过程 更改存储过程权限
create routine 存储过程 创建存储过程权限
execute 存储过程 执行存储过程权限
file 服务器主机上的文件访问 文件访问权限
create temporary tables 服务器管理 创建临时表权限
lock tables 服务器管理 锁表权限
create user 服务器管理 创建用户权限
proccess 服务器管理 查看进程权限
reload 服务器管理 执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限
replication client 服务器管理 复制权限
replication slave 服务器管理 复制权限
show databases 服务器管理 查看数据库权限
shutdown 服务器管理 关闭数据库权限
super 服务器管理 执行kill线程权限

 

create user 用户名 identified by
‘密码’

3、Mysql用户权限管理操作

二:查询表结构音讯

重命名用户名

1. 权力查询:

数据库名:test

rename user 原用户名 to 新用户名

(壹)查看mysql的享有用户及其权限:

表名:employee

删除用户

select * from mysql.user\G;

SELECT table_schema ,table_name ,column_name ,
column_type , data_type, column_comment FROM
information_schema.COLUMNS where
TABLE_SCHEMA like ‘test’ and TABLE_NAME like  ’employee’;

drop user 用户名

(格式化呈现)

 

修改用户密码

(二)查看当前mysql用户权限:

叁:查询表的成立语句

set password for
用户名=password(‘新密码’)

show grants;

表名:employee

update user set host = ‘%’ where user
=’root’; 设置是还是不是远程登六

(3)查看某些用户的权能:

show create table employee;

二、查看用户访问权限,使用grant命令

show grants for 用户名@主机;

 

壹.grant  权力 on 数据库名.数据表名 to
用户名

示例:

4:修改表中字段的叙述COMMENT

注:权限包蕴select、insert、update、delete等

show grants for root@localhost;

alter table employee modify id int comment ‘职员和工人编号’;

2.查看 show grants for 用户名

二. Mysql用户成立:

 

3.授予用户全体权力 grant all on 数据库名.数据表名 to 用户名;

方法1:使用create user命令创立。

5:用户管理

 三、撤消用户具有权限,使用revoke命令

create user '用户名'@'主机' identified by '密码';

mysql>use mysql;

壹.revoke  权力 on 数据库名.数据表名 to 用户名

示例:

查看

二.撤回用户具有权力 revoke all on
数据库名.数据表名 from
用户名;

create user 'wjt'@'localhost' identified by 'wujuntian';

mysql> select host,user,password from user ;

四、调控访问权限的层系

情势二:直接向数据表mysql.user中插入一条用户记录。

创建

全总量据库 :database.*;

示例:

mysql> create user  zx_root   IDENTIFIED by ‘xxxxx’;   //identified
by 会将纯文本密码加密作为散列值存款和储蓄

一定数据表:database.table;

复制代码 代码如下:

修改

特定列:

insert into mysql.user set
user=’wujuntian’,host=’localhost’,password=password(‘123123’);

mysql>rename   user  feng  to   newuser;//mysql
伍之后能够运用,此前要求采用update 更新user表

特定期存款款和储蓄进度。

注意:

删除

5、可予以和能够收回的常用权限

动用格局二必然要记得要试行flush
privileges刷新权限。其次,mysql5.7以往,mysql.user表的password字段已被authentication_string替代,所以应将“password”改为“authentication_string”,密码一定要使用password函数加密。

mysql>drop user newuser;   //mysql5从前删除用户时必须先使用revoke
删除用户权限,然后删除用户,mysql5从此drop
命令能够去除用户的还要删除用户的相干权限

权限 描述
all 除grant option外的所有权限
select 使用select
insert 使用insert
delete 使用delete
update 使用update
create 使用create table
create routing 使用create  procedure
create temporary tables 使用create temporary table
drop 使用drop table
lock tables 使用lock tables
create user 使用create user
create view 使用create view
index 使用create index和drop index
alter 使用alter table
alter routing 使用alter procedure 和drop procedure
execute  使用call和存储过程
show databases 使用show databases
show view 使用show create view
shutdown 使用mysqladmin shutdown 关闭mysql
process 使用show full processlist
reload 使用flash
perlication client f服务器位置的访问
perlication slave 由复制从属使用
usage 无访问权限

3. Mysql用户删除:

改变密码

 

drop user '用户名'@'主机';

mysql> set password for zx_root =password(‘xxxxxx’);

四. Mysql用户权限授予:

 mysql> update  mysql.user  set  password=password(‘xxxx’)  where
user=’otheruser’

刚创建的用户默许是未有权限的,须求采用grant指令张开权力的赋予。

查阅用户权限

grant指令完整格式:

mysql> show grants for zx_root;

grant 权限列表 on 数据库名.数据表名 to
‘用户名’@’主机’ identified by ‘密码’ with grant option;

加之权力

示例:

mysql> grant select on dmc_db.*  to zx_root;

grant all privileges on *.* to 'wjt'@'localhost' identified by "wujuntian" with grant option;

回收权限

可使用“*”表示具备数据库或具备数据表,“%”表示其他主机地址。

mysql> revoke  select on dmc_db.*  from  zx_root;
 //假使权限不存在会报错

997755.com澳门葡京,能够利用grant重复给用户增加权限,进行权力叠加。

 

with grant
option:那一个选项表示该用户能够将自身抱有的权杖授权给别人。

地方的下令也可使用两个权力同时给予和回收,权限以Nelly用逗号分隔

回想授权后一定要刷新权限:

mysql> grant select,update,delete  ,insert  on dmc_db.*
 to  zx_root;

flush privileges;

倘诺想马上看到结果使用

5. Mysql用户权限回收:

flush  privileges ;

revoke指令格式:

命令更新 

revoke 权限列表 on 数据库名.数据表名 from 用户名@主机;

 

示例:

安装权限期必须付出一下音讯

revoke select on test.user from wjt@localhost;

一,要给以的权杖

注意:

贰,被给予访问权限的数据库或表

实际上GRANT语句在实行的时候,借使权力表中不设有目的账号,则开创账号;假设已经存在,则实施权限的剧增。

3,用户名

usage权限不可能被回收,也正是说,REVOKE用户权限并无法去除用户。

grant和revoke能够在多少个等级次序上调节访问权限

6. 对账户重命名:

一,整个服务器,使用 grant ALL  和revoke  ALL

rename user ‘旧用户名’@’旧主机’ to
‘新用户名’@’新主机’;

二,整个数据库,使用on  database.*

示例:

3,特点表,使用on  database.table

rename user 'wujuntian'@'localhost' to 'ajun'@'localhost';

四,特定的列

柒. Mysql用户密码修改:

伍,特定的囤积进程

方法一:使用set password命令。

 

set password for ‘用户名’@’主机’ =
password(‘新密码’);

user表中host列的值的意思

示例:

%              相称全数主机

set password for 'root'@'localhost' = password('123456');

localhost    localhost不会被分析成IP地址,直接通过UNIXsocket连接

方法二:修改mysql.user表中的password(或authentication_string)字段。

12七.0.0.壹      会通过TCP/IP协议连接,并且只可以在本机访问;

示例:

::一                 ::一正是同盟补助ipv6的,表示同ipv四的1贰七.0.0.1

复制代码 代码如下:

 

update mysql.user set password=password(‘123123′) where user=’root’ and
host=’localhost’;

 

注意:

grant 普通数据用户,查询、插入、更新、删除 数据库中装有表数据的职务。

此方法自然要实施“flush
privileges;”指令刷新权限,否则密码修改不能够生效。Mysql五.7随后应将“password”改为“authentication_string”。

grant select on testdb.* to common_user@’%’

办法三:使用grant指令在授权时修改密码:

grant insert on testdb.* to common_user@’%’

grant select on 数据库名.数据表名 to
用户名@主机 identified by ‘新密码’ with grant option;

grant update on testdb.* to common_user@’%’

示例:

grant delete on testdb.* to common_user@’%’

复制代码 代码如下:

抑或,用一条 MySQL 命令来代表:

grant select on test.user to ajun@localhost identified by ‘111111’ with
grant option;

grant select, insert, update, delete on testdb.* to common_user@’%’

方式四:运维mysqladmin脚本文件。

九>.grant
数据库开垦人员,创制表、索引、视图、存储进程、函数。。。等权限。

该公文一般在mysql安装目录下的bin目录中。进入该目录,依据一下三种具体情状输入指令(唯有root用户有其一权力)。

grant 创造、修改、删除 MySQL 数据表结构权限。

(壹)用户尚无密码:

grant create on testdb.* to developer@’192.168.0.%’;

mysqladmin -u 用户名 password
新密码;

grant alter on testdb.* to developer@’192.168.0.%’;

(2)用户已有密码:

grant drop on testdb.* to developer@’192.168.0.%’;

mysqladmin -u 用户名 -p password
新密码;

grant 操作 MySQL 外键权限。

(回车后会提示输入旧密码,输入之后就可以修改成功。)

grant references on testdb.* to developer@’192.168.0.%’;

注意:

grant 操作 MySQL 目前表权限。

变动密码时候自然要使用PASSWOXC60D函数(mysqladmin 和GRANT
两种办法不用写,会活动抬高)。

grant create temporary tables on testdb.* to developer@’192.168.0.%’;

八. 遗忘密码登6mysql:

grant 操作 MySQL 索引权限。

方法一:

grant index on testdb.* to developer@’192.168.0.%’;

先甘休正在运作的Mysql服务,在命令行窗口进入mysql安装目录下的bin目录,在-skip-grant-tables参数下运转mysqld文件(Linux系统运行mysqld_safe文件更安全):

grant 操作 MySQL 视图、查看视图源代码 权限。

mysqld --skip-grant-tables

grant create view on testdb.* to developer@’192.168.0.%’;

那般可以跳过Mysql的访问调控,在支配台以助理馆员的地方进入mysql数据库。其它再展开八个限令行窗口,进入mysql安装目录下的bin目录,直接输入:mysql,回车,就能够登入mysql,然后就能够再度安装密码了(注意:此时“Mysql用户密码修改”中的八种办法唯有第二种艺术能使用!)。设置成功后退出,重启Mysql服务。

grant show view on testdb.* to developer@’192.168.0.%’;

方法二:修改mysql配置文件my.ini。

grant 操作 MySQL 存款和储蓄进程、函数 权限。

事实上原理和办法1一致,都以使用Mysql提供的–skip-grant-tables参数来跳过Mysql的访问调节。打开mysql配置文件my.ini,在'[mysqld]’下加入“skip-grant-tables”,保存,重启Mysql服务,然后就能够不需密码登入mysql进行密码修改了。

grant create routine on testdb.* to developer@’192.168.0.%’; — now,
can show procedure status

Mysql中的“mysql”数据仓库储存款和储蓄着全部Mysql用户的权能音信数据表。当Mysql运维时,全数的权限表内容都被读进内部存款和储蓄器中,进行权力剖断时平素行使内部存款和储蓄器中的剧情开展判定。用grant、revoke或set
password对权力表打开的更改会及时棉被和衣服务器注意到,GRANT操作的真相就是修改权限表后进行权力的刷新。可是假诺手工业修改权限表,举例使用insert、update、delete等操作权限表的话,应该实施三个flush
privileges命令,该命令会使服务珍视新读取权限表内容到内部存款和储蓄器,从而使修改生效。若是不施行该命令,必须重启mysql服务才能见效。所以,最棒使用grant、revoke或set
password对权力表进操作,能够省去试行flush
privileges命令的辛苦,而且要是忘了施行这么些命令的话你会很抓狂。。。

grant alter routine on testdb.* to developer@’192.168.0.%’; — now, you
can drop a procedure

不仅如此,删除用户、重命名用户最棒也各自使用drop user、rename
user命令进行操作,而不用采纳delete、update命令举行操作。前者不但会对mysql.user数据表进行操作,同时也会更新任何权限表的记录,而后人只会对mysql.user表的多少开始展览操作,那样会晤世众多标题,因为用户的权能新闻不但存在于mysql.user表中。例如您使用delete删除了mysql.user表中的2个用户,可是尚未操作别的权限数据表的话,那么任何权限数据表比方tables_priv中有关该用户的权位记录还存在着,下次一经想行使create
user命令成立相同名称的用户会停业,只可以使用insert
into指令向mysql.user表中插入记录,恐怕先把别的权限数据表中与该用户名相关的笔录删除。使用update命令重命名用户也会并发相当的大难题,重命名后用户失去了多数的权位,而其余权限表中关于原用户名的记录则成了没用的笔录,除非您对每2个权力表都进行同样的立异操作,但那很艰难。所以,使用drop
user、rename
user吧,叁个限令就能够让系统活动帮您完了全部业务,何乐不为呢!

grant execute on testdb.* to developer@’192.168.0.%’;

Mysql权限检查:

10>.grant 普通 DBA 管理有个别 MySQL 数据库的权力。

mysql
先反省对大范围是或不是有权力,要是未有再到小范围里去反省。比如:先反省对那一个数据库是或不是有select权限,假设有,就同意推行。假使未有,再自己探讨对表是或不是有select权限,一贯到最细粒度,也并未有权限,就拒绝实践。因而,粒度调整越细,权限校验的步子越来越多,质量越差。

grant all privileges on testdb to dba@’localhost’

越多关于MySQL相关内容感兴趣的读者可查阅本站专题:《MySQL查询本领大全》、《MySQL事务操作技艺汇总》、《MySQL存款和储蓄进程才干大全》、《MySQL数据库锁相关手艺汇总》及《MySQL常用函数大集中》

其间,关键字 “privileges” 能够归纳。

瞩望本文所述对大家MySQL数据库计有所帮助。

1壹>.grant 高等 DBA 管理 MySQL 中有着数据库的权位。

你或者感兴趣的文章:

  • MySQL创设用户与授权及吊销用户权限方法
  • MySQL用户权限管理详解
  • mysql SKIP-NAME-RESOLVE
    错误的施用时机形成用户权限
  • Windows降低权MYSQL和apche的运维等第(普通用户权限运转)
  • MySQL中程导弹出用户权限设置的剧本分享
  • MySQL验证用户权限的章程
  • 在MySQL中扩张新用户权限的不2秘籍
  • MySQL数据库下用户及用户权限配置
  • MySQL与Oracle
    差距比较之7用户权限
  • MySQL
    创设用户、授权用户、撤除用户权限、改变用户密码、删除用户(实用才具)

grant all on *.* to dba@’localhost’

1贰>.MySQL grant 权限,分别能够功效在多少个档期的顺序上。

  1. grant 作用在全部 MySQL 服务器上:

grant select on *.* to dba@localhost; — dba 可以查询 MySQL
中持有数据库中的表。

grant all on *.* to dba@localhost; — dba 能够管理 MySQL
中的全部数据库

  1. grant 功效在单个数据库上:

grant select on testdb.* to dba@localhost; — dba 能够查询 testdb
中的表。

  1. grant 成效在单个数据表上:

grant select, insert, update, delete on testdb.orders to dba@localhost;

  1. grant 成效在表中的列上:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

  1. grant 功效在蕴藏进程、函数上:

grant execute on procedure testdb.pr_add to ’dba’@’localhost’

grant execute on function testdb.fn_add to ’dba’@’localhost’

专注:修改完权限将来 一定要刷新服务,恐怕重启服务,刷新服务用:FLUSH
P卡宴IVILEGES。

 

 

 

 

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website