怎么给mysql用户添加权限_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 joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost 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
允许向别人赋予同样权限.
怎么给mysql用户添加权限_MySQL下添加用户以及给予权限的实现相关推荐
- linux环境下添加定时任务,linux下添加定时任务。
这周要做一个定时增量更新Elasticsearch索引的功能,以前没有做过定时更新,所以请教了下同事,使用crontab添加linux下的定时任务. 一.linux下定时执行任务的方法 在linux中 ...
- linux idea 权限,Linux下idea由于缺少相关权限导致的tomcat ERROR
昨天一天都在倒腾两个系统,也是醉了. 不过还好,系统修好了,在ubuntu下重新安装idea后,出现了这个错误: Intellij Idea Tmocat Error running Tomcat: ...
- linux中怎么添加输入法,linux下添加中文输入法
一.安装环境 查看linux版本号 [ztteng@ztteng ~]$ lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:g ...
- mysql root用户不存在_MySQL – 解决root用户下仍然出现权限问题-无法建库
关键词(Key Words) ERROR 1006 (HY000): Can't create database Starting MySQL. The server quit without upd ...
- mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- mysql怎么获得权限_mysql怎么给用户加权限
mysql给用户加权限的方法:首先创建用户,代码为[create user 用户名 identified by '密码']:然后给用户分配权限,代码为[grant 权限 on 数据库.数据表 to ' ...
- mysql怎么给用户加权限_mysql怎么给用户加权限
mysql给用户加权限的方法:首先创建用户,代码为[create user 用户名 identified by '密码']:然后给用户分配权限,代码为[grant 权限 on 数据库.数据表 to ' ...
- mysql怎么给权限_mysql怎么给用户加权限
mysql怎么给用户加权限 mysql给用户加权限的方法:首先创建用户,代码为[create user 用户名 identified by '密码']:然后给用户分配权限,代码为[grant 权限 o ...
- mysql授权无密码用户_MySQL下新建用户,授权,删除用户,修改密码
一.创建一个新的用户. 创建用户的方式有两种: 1.create user:就是向用户管理表里插入一个新的用户. 2.最好的方法是使用GRANT语句,因为这样更精确,错误少.从MySQL 3.22.1 ...
最新文章
- python第三方开发软件_python开发者的必备工具(一)
- 【学习笔记】springboot的过滤器与拦截器的使用 springboot的事件驱动模型
- WebRTC十周年、Space X成功对接国际空间站、TikTok复制品Zynn或有快手支持|Decode the Week...
- python对象属性在引用时前面需要加()_python基础-面向对象进阶
- C++primer 第 2 章 变量和基本类型
- 漫步最优化二十三——一维优化
- Linux——通配符
- day05 Python 元组
- 切换不同的数据状态布局,包含加载中、空数据和出错状态,可自定义状态布局
- Qt信号槽中槽函数为虚函数的一些感想
- 查看当前Linux系统的发行版本命令详解
- 优秀java程序员-利器-eclipse-01 快捷键
- 三菱伺服驱动器说明书_干货——PLC控制伺服系统(伺服电机)
- Html点击复制文本内容
- matlab制作有值显示的条形统计图
- 年终囍一批、愁一批......浮躁啊,眼红啊,这个真有
- 软件开发的流程是怎样的?
- Chrome浏览器安装Vue.js devtools插件
- 【GBASE培训】GBase数据库2022年第6期培训圆满结束
- 纵观20年间程序员薪酬变化:涨幅下降,初级编码岗大幅消失