MySQL下添加用户以及给予权限的实现

在mysql中添加用户的方法如下:

1 使用root用户登录

mysql -u root -p

2  选择mysql数据库

use mysql

3  添加用户

insert into user(Host,User,Password)  values("localhost","你的用户名",password("你的密码"));

把汉字换成你想使用的用户名或密码

4 刷新MySQL的系统权限相关表

flush privileges;

给用户添加权限:

假设我现在数据库中有一个名字为ysou的数据库,有一个用户名为honest的用户,我想让honest拥有ysou中所有表的所有(增删改查)权限,

操作如下:

1 使用root用户登录

mysql -u root -p

2 添加权限

grant all on ysou.* to honest ;

3 退出root,使用honest登陆mysql,使用show databases既可以看到目前honest可以操作的表格,当然,,我们可以进入相应数据库进行操作。

mysql> UPDATE user SET password=PASSWORD("123") WHERE ;

mysql> FLUSH PRIVILEGES;

mysql> GRANT ALL ON mail.* TO  IDENTIFIED BY "456";

解决办法   grant all privileges on *.* to  identified by ‘1‘;

flush privileges;

附:

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%‘表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to [email protected] identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to [email protected] identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to [email protected] identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

GRANT 允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限.对象创建后,除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限. 一旦用户有某对象的权限,他就可以使用那个特权.不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限.

GRANT

名称

GRANT — 赋予一个用户,一个组或所有用户访问权限

GRANT privilege [, ...] ON object [, ...]

TO { PUBLIC | GROUP group | username }

输入

privilege

可能的权限有:

SELECT

访问声明的表/视图的所有列/字段.

INSERT

向声明的表中插入所有列字段.

UPDATE

更新声明的所有列/字段.

DELETE

从声明的表中删除所有行.

RULE

在表/视图上定义规则 (参见 CREATE RULE 语句).

ALL

赋予所有权限.

object

赋予权限的对象名.可能的对象是:

table (表)

view (视图)

sequence (序列)

index (索引)

PUBLIC

代表是所有用户的简写.

GROUP group

将要赋予权限的组 group .目前的版本中,组必须是用下面方法显式创建的.

username

将要赋予权限的用户名.PUBLIC 是代表所有用户的简写.

输出

CHANGE

如果成功,返回此信息.

ERROR: ChangeAcl: class "object" not found

如果所声明的对象不可用或不可能对声明的组或用户赋予权限.

注意

目前,要想在 Postgres 里面只赋予几列权限,你必须创建一个包含那几列的视图(view),然后把权限赋予那几个视图。

使用 psql \z 命令获取关于现存对象权限的更多信息:

Database = lusitania

+------------------+---------------------------------------------+

| Relation | Grant/Revoke Permissions |

+------------------+---------------------------------------------+

| mytable | {"=rw","miriam=arwR","group todos=rw"} |

+------------------+---------------------------------------------+

Legend:

uname=arwR -- privileges granted to a user

group gname=arwR -- privileges granted to a GROUP

=arwR -- privileges granted to PUBLIC

r -- SELECT

w -- UPDATE/DELETE

a -- INSERT

R -- RULE

arwR -- ALL

小技巧: 目前,要创建一个 GROUP (组), 你将不得不手工向表 pg_group 中插入数据,像:

INSERT INTO pg_group VALUES (‘todos‘);

CREATE USER miriam IN GROUP todos;

参考 REVOKE 语句重新分配访问权限.

用法

给所有用户向表 films 插入记录的权限:

GRANT INSERT ON films TO PUBLIC;

赋予用户 manuel 操作视图 kinds 的所有权限:

GRANT ALL ON kinds TO manuel;

兼容性

SQL92
SQL92 GRANT 语法允许对表中的某单独列/字段设置权限,并且允许设置一权限以赋予别人相同权限.
GRANT privilege [, ...]
ON object [ ( column [, ...] ) ] [, ...]
TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ]
这些字段与 Postgres 实现是兼容的,除了下面一些例外: 
privilege 
SQL92 允许声明附加的权限:
SELECT 
REFERENCES 
允许在一个声明的表的整合约束中使用某些或全部列/字段. 
USAGE 
允许使用一个域,字符集,集合或事务.如果声明的对象不是表/视图, privilege 只能声明为 USAGE. 
object 
[ TABLE ] table 
SQL92 允许一个附加的非函数关键字 TABLE. 
CHARACTER SET 
允许使用声明的字符集. 
COLLATION 
允许使用声明的集合序列. 
TRANSLATION 
允许使用声明的字符集转换. 
DOMAIN 
允许使用声明的域. 
WITH GRANT OPTION 
允许向别人赋予同样权限.

时间: 2024-11-16 09:45:42

MySQL下添加用户以及给予权限的实现的相关文章

linux中MySQL下添加用户以及给予权限的实现

1.在linux中首先登入mysql:mysql -u root -p(提示输入密码,输入即可)  2.选择mysql数据库:use mysql.    在mysql表中插入系统的用户名和用户密码: insert into user(Host,User,Password) values("localhost","你的用户名",password("你要设置的密码")); 3.刷新mysql系统相关的表:flush privileges; 4.给新增

嵌入式环境:CentOS下添加用户并且让用户获得root权限

CentOS下添加用户并且让用户获得root权限 http://www.centoscn.com/CentOS/config/2014/0810/3471.html 1.添加用户,首先用adduser命令添加一个普通用户,命令如下:  #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing password for user tommy.New UNIX password:     //在这里输入新密码Retype new UN

MySql中添加用户/删除用户

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 这样就创建了一个名为:test 密码为:

oracle添加用户并给予管理员身份登陆

sqlplus / as sysdba;--超级管理员sys登陆 show user;--显示当前用户 conn system/admin;--切换用户 CREATE user admin identified by admin;--创建用户admin,密码admin alter user admin account unlock;--解锁 grant create session to admin; --给予管理员权限 切换用户 oracle添加用户并给予管理员身份登陆 原文地址:https:

linux下添加用户到sudo组 并禁止sudo用户修改密码

linux下添加用户到sudo组 创建用户  useradd hanli 为新用户设置密码  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod -G op hanli 查看用户属于哪个组  groups hanli 查看用户组成员    groupmems -g wheel -l  (wheel是组名) 查看所有用户组   cat /etc/group   cat /etc/gshadow 查看所有用户       cat /etc/pass

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 这样就创建了一个名为:test 密码为:

Mysql命令行添加用户并且给予远程访问服务器的权限

--查询用户SELECT User, Password, Host FROM user; --创建一个用户,任意主机可以登录%,密码是123456 CREATE USER 'palm'@'%' IDENTIFIED BY '123456'; -- 给用户赋予所有权限 GRANT ALL ON *.* TO 'palm'@'%'; -- 刷新数据库 flush privileges; 参见:http://my.oschina.net/u/1179414/blog/202377文章

linux下添加用户并赋予root权限(转)

转自:http://blog.csdn.net/stormbjm/article/details/9086163 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码 Changing password for user tommy.New UNIX password:     //在这里输入新密码Retype new UNIX password:  //再次输入新密码pas

linux下添加用户并赋予root权限

1.添加用户,首先用adduser命令添加一个普通/系统用户,命令如下:# adduser [-r] –d /tommy tommy//添加一个名为tommy的用户 # passwd tommy   //修改密码Changing password for user tommy.New UNIX password:     //在这里输入新密码Retype new UNIX password:  //再次输入新密码passwd: all authentication tokens updated