查看“Mysql权限之授权,查看和回收以及删除用户”的源代码
←
Mysql权限之授权,查看和回收以及删除用户
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
mysql权限之授权,查看和回收以及删除用户 ==mysql权限之授权== <pre> 命令格式 grant 权限 on 数据库名.表名 to 用户名@登陆方式 identified by 'password1'; grant select,insert,update,delete on dbname.tablename to user@ip identified by 'password'; # 4 root grant all on *.* to root@'127.0.0.1' identified by 'myFD23'; grant select,insert, update,delete on wiki.* to evan@'10.104.55.111' identified by '12345678'; #程序用的用户 GRANT Select,Update,insert,delete ON dbname1.* TO app@"%" IDENTIFIED BY "xxxxx"; GRANT Select,Update,insert,delete ON dbname2.* TO app@"%" IDENTIFIED BY "xxxxx"; #创建只读用户 GRANT SElECT ON *.* TO 'username'@'%' IDENTIFIED BY "password"; flush privileges; 小结:使用引号或双引号没有任何区别,主要是用于区别字符和命令 </pre> ==mysql授权查看== <pre> 查看mysql中存在的用户 这个在回头查看授权时非常好用 mysql> select user,host from mysql.user; (root@127.0.0.1:)[mysql]> select user,host from mysql.user; +------------+--------------------------+ | user | host | +------------+--------------------------+ | oldgirl | % | | wan | % | | wanlong | % | | rep | 10.10.10.% | | root | 10.10.10.% | | wan | 10.10.10.% | 查看MySQL用户权限: show grants for 你的用户@ip; #根据上面 就可以 收集回原来的授权详情 show grants for 你的用户; # or 其它 #查看len数据库已经授权的用户 select user from mysql.db where db="dbname" mysql> select * from mysql.user where user='root' \G #查看用户和IP ,下面的例子是查看 下面的库有没有 对 19.145.130.218 的dataviewre授权,对烦人的数据中心的报警很有用 show grants for dataviewer@'19.145.130.218'; 这样就能看此机 哪些库对 dataviewer@’19.145.130.218‘ 有授权 查看MYSQL数据库中所有用户 mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; </pre> ==常用权限== <pre> 1.select、insert、update和delete权限 允许你在一个数据库现有的表上实施操作,是基本权限 2.alter权限允许你使用ALTER TABLE 3.create和drop权限允许你创建新的数据库和表,或抛弃(删除)现存的数据库和表 如果你将mysql数据库的drop权限授予一个用户,该用户能抛弃存储了MySQL存取权限的数据库! 4.grant权限允许你把你自己拥有的那些权限授给其他的用户。 你不能明显地指定一个给定用户应该被拒绝存取。即,你不能明显地匹配一个用户并且然后拒绝连接。你不能指定一个用户有权创建立或抛弃一个数据库中的表,也不能创建或抛弃数据库本身。 可以同时列出许多被授予的单个权限。 例如,如果想让用户能读取和修改已有表的内容,但又不允许创建新表或删除表,可按如下授权: GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db.* TO 'user'@'%' IDENTIFIEDBY "pass" #2017 <privileges>是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型: 数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。 Delete: 删除表的记录。 Drop: 删除数据表或数据库。 INDEX: 建立或删除索引。 Insert: 增加表的记录。 Select: 显示/搜索表的记录。 Update: 修改表中已存在的记录。 全局管理MySQL用户权限: file: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 特别的权限: ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录--其它什么也不允许做。 </pre> ==密码修改== update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost'; flush privileges; ==mysql权限回收== <pre> revoke INSERT,UPDATE,DELETE on dbname.tablename from user@ip; revoke all on user.* from tom@'localhost'; #最开始的权限 (root@127.0.0.1:)[mysql]> show grants for sdk@10.22.103.142; +-------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for dkmsdk_lyz@10.104.103.162 | +-------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'sdk'@'10.104.103.162' IDENTIFIED BY PASSWORD '*dfds' | </pre> ==删除用户== <pre> REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。 该语句的语法格式如下: Delete from user where user = "user_name" and host = "host_name" ; 使用DELETE删除用户sss,代码如下: delete from user where user='sss' and host='localhost' ; flush privileges ; </pre> ==常见问题== ===问题1=== <pre> 授权后依然访问不了 mysql> grant all on *.* to root@'192.168.30.54' ; Query OK, 0 rows affected (0.00 sec) 问题是 my.cnf bind-address问题 bind-address 127.0.0.1 改为 bind-address 0.0.0.0 </pre> ==参考== mysql授权查看 http://blog.linuxchina.net/?p=950 mysql 权限回收 https://dev.mysql.com/doc/refman/5.7/en/revoke.html SQL之Grant(分配权限)和Revoke(回收权限) http://liaoen.blog.51cto.com/2253541/819081 MySQL取消权限和删除用户 http://blog.linuxchina.net/?p=3437 mysql 数据库授权(给某个用户授权某个数据库) http://www.cnblogs.com/jifeng/archive/2011/03/06/1972183.html 美国国家航空航天局宣布在TRAPPIST-1附近发现7颗行星,并有数颗位于适居带。 [[category:mysql]]
返回至
Mysql权限之授权,查看和回收以及删除用户
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息