页面“Org-mode”与“Mysql权限之授权,查看和回收以及删除用户”之间的差异

来自linux中国网wiki
(页面间的差异)
跳到导航 跳到搜索
→‎pre
 
 
第1行: 第1行:
 +
mysql权限之授权,查看和回收以及删除用户
  
Emacs 的 Org-mode 在一定程度上可以替代 OneNote,有些方面甚至更好
+
==mysql权限之授权==
=pre=
 
 
<pre>
 
<pre>
Emacs键盘命令的约定表示方法:
+
命令格式
 +
grant 权限 on 数据库名.表名 to 用户名@登陆方式 identified by 'password1';
  
C 代表 Ctrl 键
+
grant select,insert,update,delete on dbname.tablename to user@ip identified by 'password';
M 代表 Alt 键
+
# 4 root
S 代表 Shift 键
+
grant all on *.*  to root@'127.0.0.1' identified by 'myFD23';
以上三个按键单独按下没有意义,用 - 号表示它们搭配使用的按键
 
用空格连接的一系列符号表示顺序按下符号所代表的按键
 
其他符号: LEFT/RIGHT/UP/DOWN 分别代表的左右上下方向键, TAB 即 Tab 键, RET 代表 Enter 键
 
例如:
 
C-x 表示同时按下Ctrl和x字符键
 
C-S-TAB 表示同时按下Ctrl, Shift和Tab键
 
M-x org-mode 表示先同时按下Alt和x字符键,再键盘输入org-mode字符串
 
C-x C-s 表示先同时按Ctrl和x字符键,然后同时按下Ctrl和s字符键
 
C-c C-e hh 表示先同时按Ctrl和c字符键,然后同时按下Ctrl和e字符键,最后键盘输入hh
 
</pre>
 
  
=install=
+
grant  select,insert,
<pre>
 
# 如果用老版本的emacs
 
Get it with M-x package-install RET org RET (
 
</pre>
 
  
=TODO=
+
update,delete  on  wiki.* to evan@'10.104.55.111' identified by  '12345678';
<pre>
 
输入C-c . 会出现一个日历,我们点选相应的时间即可插入
 
  
* 待办事项(TODO )
+
#程序用的用户  
  TODO是org-mode最具特色的一个功能,也是org-mode设计的初衷,org-mode的作者本意是用其来完成一个个人时间管理程序(GDT)。因此,可以用org-mode来做一个个人时间管理工具!   下面我们来看怎么写TODO。TODO 也是一类标题,因此也需要用*开头,在Emacs中输入 * 然后快捷键如下
 
C-c C-t 按照 无状态->TODO->DONE->无状态 的顺序更改任务状态
 
  
** TODO 洗衣服
+
GRANT Select,Update,insert,delete  ON dbname1.* TO app@"%"  IDENTIFIED BY "xxxxx";
可以看到当中的TODO变成了红色,我们讲光标移到该行,按C-c C-t,则发现TODO变成了DONE(这个序列可以自己定义,详见org-mode手册)。org-mode兼有了标题和列表的功能,也可以添加checkbox和完成进度,除此之外,还可以设计优先级。 我们输入:
+
GRANT Select,Update,insert,delete  ON dbname2.* TO app@"%"  IDENTIFIED BY "xxxxx";
 +
#创建只读用户
 +
GRANT SElECT ON *.* TO 'username'@'%' IDENTIFIED BY "password";
 +
flush privileges;
  
*** TODO [# A] 任务1
+
小结:使用引号或双引号没有任何区别,主要是用于区别字符和命令
*** TODO [# B] 任务2
 
*** TODO 总任务 [33%]
 
**** TODO 子任务1
 
**** TODO 子任务2 [0%]
 
      - [-] subsub1 [1/2]
 
      - [ ] subsub2
 
      - [X] subsub3
 
    **** DONE 一个已完成的任务
 
  
一些常用操作如下: - C-c C-t 变换TODO的状态 - C-c / t以树的形式展示所有的 TODO - C-c C-c 改变 checkbox状态 - C-c, 设置优先级(方括号里的ABC) - M-S-RET 插入同级TODO标
 
 
</pre>
 
</pre>
  
== 快速创建任务的操作==
+
==mysql权限之密码修改==
 
<pre>
 
<pre>
快捷键   功能                                           备注(return is enter)
+
#mysql5.7
 
 
M-<return> 在当前 headline 后建立一个同级 headline 无 headline 时创建一个一级 headline
 
 
 
M-S-return 在当前任务后建立一个同级任务,标记为TODO(好像无效) 同下 (这个试过有效)
 
C-S-return 在当前任务的内容后面建立一个同级任务,标记为TODO 无任务时创建一级任务,标记为TODO
 
  
 +
update mysql.user set authentication_string=PASSWORD('123456#') where user='root';
 +
flush privileges;
 +
特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
 
</pre>
 
</pre>
  
==自定义状态序列 ==
+
==mysql授权查看==
 
<pre>
 
<pre>
如果只想在某个文件中为其设置独有的关键词序列,那么可以在org文件的头部用"#+SEQ_TODO"来进行设置:
+
查看mysql中存在的用户 这个在回头查看授权时非常好用
 
+
mysql> select user,host from mysql.user;
#+SEQ_TODO: TODO DOING DONE
 
 
 
 
 
#我的emacs 配置 .emacs
 
(setq org-todo-keywords '((sequence "TODO" "DOING" "DONE")))
 
(setq org-todo-keyword-faces '(("TODO" . "red")
 
                              ("DOING" . "yellow")
 
                              ("DONE" . "green")))
 
  
</pre>
+
([email protected]:)[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
除了 headline 外,Org mode 还支持列表、文字修饰(粗体、斜体、下划线等)、代码块、引用等常见的功能
 
  
[http://www.zmonster.me/2015/07/12/org-mode-introduction.html 强大的Org mode(1):简单介绍与基本使用]
 
  
==基本的任务管理==
+
其它
<pre>
+
#查看len数据库已经授权的用户
快捷键         功能                                               备注
+
select user from mysql.db where db="dbname"
C-c C-t       按照 无状态->TODO->DONE->无状态 的顺序更改任务状态 org-todo
 
Shift-<right> 同上
 
Shift-<left> 按照与 Shift-<right> 相反的顺序更改任务状态
 
</pre>
 
  
[http://www.zmonster.me/2015/07/15/org-mode-planning.html 强大的Org mode(2):任务管理]
+
mysql> select * from mysql.user where user='root' \G   
  
== 标题编辑==
+
#查看用户和IP ,下面的例子是查看 下面的库有没有 对 19.145.130.218 的dataviewre授权,对烦人的数据中心的报警很有用
<pre>
+
show grants for dataviewer@'19.145.130.218';
M-S-LEFT/RIGHT 升级/降级标题树,即标题树内的各级标题相应升/降级
+
这样就能看此机 哪些库对 dataviewer@’19.145.130.218‘ 有授权
</pre>
 
  
https://blog.csdn.net/u014801157/article/details/24372485
 
  
=== org 图片===
 
<pre>
 
file://home/evan/wallpaper/f.jpg
 
填写地址时 要 [[ ]] 不过显示时就没了
 
  
emacs gui 
+
查看MYSQL数据库中所有用户
 +
mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  
alt+x  org-toggle-inline-images  回车就显示了  ,cli  下好像是不显示的  要images 什么的支持吧
 
 
 
  
  
显示图片
 
  
使用如下标签插入图片,使用C-c C-x C-v inline方式显示图片,或者使用C-c C-o打开链接。
 
[[file:a.png]]
 
 
</pre>
 
</pre>
  
=see aslo=
+
==常用权限==
 +
<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"
  
[https://blog.csdn.net/u014801157/article/details/24372485 Emacs月月积累(终结篇):熟练使用org-mode管理日常事务]
+
#2017
 +
<privileges>是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:
  
 +
数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。
 +
Create: 建立新的数据库或数据表。
 +
Delete: 删除表的记录。
 +
Drop: 删除数据表或数据库。
 +
INDEX: 建立或删除索引。
 +
Insert: 增加表的记录。
 +
Select: 显示/搜索表的记录。
 +
Update: 修改表中已存在的记录。
  
[https://i.linuxtoy.org/docs/guide/ch32s03.html#id3155525 第 32 章 组织你的意念:Emacs org mode]
+
全局管理MySQL用户权限:
  
[http://www.zmonster.me/2015/07/12/org-mode-introduction.html 强大的Org mode(1):简单介绍与基本使用]
+
file: 在MySQL服务器上读写文件。
 +
PROCESS: 显示或杀死属于其它用户的服务线程。
 +
RELOAD: 重载访问控制表,刷新日志等。
 +
SHUTDOWN: 关闭MySQL服务。
  
[https://i.linuxtoy.org/docs/guide/ch32s03.html#id3155525 Emacs org mode]
+
特别的权限:
  
[https://www.cnblogs.com/qlwy/archive/2012/06/15/2551034.html#sec-1 神器中的神器org-mode之入门篇]
+
ALL: 允许做任何事(和root一样)。
 +
USAGE: 只允许登录--其它什么也不允许做。
  
[http://www.cnblogs.com/Open_Source/archive/2011/07/17/2108747.html Org-mode 简明手册]
+
</pre>
 +
==密码修改==
 +
update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
 +
flush privileges;
  
[http://www.cnblogs.com/holbrook/archive/2012/04/12/2444992.html org-mode: 最好的文档编辑利器,没有之一]
+
==mysql权限回收==
 +
<pre>
 +
revoke INSERT,UPDATE,DELETE  on dbname.tablename from user@ip;
 +
revoke all on user.* from tom@'localhost';
  
[https://www.jianshu.com/p/32501603970d 用1天快速上手org-mode]
+
#最开始的权限
 +
([email protected]:)[mysql]> show grants for [email protected];
 +
+-------------------------------------------------------------------------------------------------------------------------------------------------+
 +
| Grants for [email protected]                                                                                                            |
 +
+-------------------------------------------------------------------------------------------------------------------------------------------------+
 +
| 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>
  
[https://emacs-china.org/t/org-mode/204 如何使用 Org-mode 来计划一天的工作]
+
==常见问题==
 +
===问题1===
 +
<pre>
 +
授权后依然访问不了
  
[http://fuzihao.org/blog/2015/02/19/org-mode%E6%95%99%E7%A8%8B/ org-mode入门教程]
+
mysql> grant all on *.* to  root@'192.168.30.54' ;
 +
Query OK, 0 rows affected (0.00 sec)
  
[http://www.cnblogs.com/holbrook/archive/2012/04/14/2447754.html Org-mode,最强的任务管理利器,没有之一]
+
问题是 my.cnf bind-address问题
 +
bind-address 127.0.0.1
 +
改为
 +
bind-address 0.0.0.0
  
 +
</pre>
  
[https://phower.me/project/500/460731605/ 使用Org-Mode&Git-Hook自动部署Wiki]
 
 
https://ox-hugo.scripter.co/
 
 
 
[http://www.cnblogs.com/holbrook/archive/2012/04/17/2454619.html 用Org-mode实现GTD]
 
 
[https://blog.csdn.net/u011729865/article/details/54236547 spacemacs org-mode配置GTD]
 
  
[https://emacs-china.org/t/topic/5013/10 一个实际可用的 org-mode 轻度GTD 方案]
+
==参考==
 +
mysql授权查看
 +
http://blog.linuxchina.net/?p=950
  
 +
mysql 权限回收
 +
https://dev.mysql.com/doc/refman/5.7/en/revoke.html
  
[http://smallzhan.github.io/emacs/2018/05/30/p-org-mode-orgbabel.html Org mode 和 Org-babel 的那些事(二)]
+
SQL之Grant(分配权限)和Revoke(回收权限)
 +
http://liaoen.blog.51cto.com/2253541/819081
  
[https://zh.wikipedia.org/wiki/Org-%E6%A8%A1%E5%BC%8F org-mode meawiki]
+
MySQL取消权限和删除用户
 +
http://blog.linuxchina.net/?p=3437
  
[https://www.zhihu.com/question/19851600/answer/17893051 Org-mode、reST、 Markdown 各有什么优缺点]
+
mysql 数据库授权(给某个用户授权某个数据库)
 +
http://www.cnblogs.com/jifeng/archive/2011/03/06/1972183.html
  
[[category:emacs]]
+
美国国家航空航天局宣布在TRAPPIST-1附近发现7颗行星,并有数颗位于适居带。
 +
[[category:mysql]]

2019年11月14日 (四) 01:58的版本

mysql权限之授权,查看和回收以及删除用户

mysql权限之授权

命令格式
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;

小结:使用引号或双引号没有任何区别,主要是用于区别字符和命令 

mysql权限之密码修改

#mysql5.7 

update mysql.user set authentication_string=PASSWORD('123456#') where user='root';
flush privileges;
特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了

mysql授权查看

查看mysql中存在的用户 这个在回头查看授权时非常好用
mysql> select user,host from mysql.user;

([email protected]:)[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;




常用权限

 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: 只允许登录--其它什么也不允许做。

密码修改

update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
flush privileges;

mysql权限回收

revoke INSERT,UPDATE,DELETE   on dbname.tablename from user@ip;
revoke all on user.* from tom@'localhost'; 

#最开始的权限 
([email protected]:)[mysql]> show grants for [email protected];
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                                            |
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'sdk'@'10.104.103.162' IDENTIFIED BY PASSWORD '*dfds' |

删除用户

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 ; 

常见问题

问题1

 
授权后依然访问不了 

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


参考

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颗行星,并有数颗位于适居带。