一、前言

说起来 数据库(Structured Query Language),本站写过很多类似文章。

如:

甚至:我还做了一个项目:SQL 中用户建立与权限授予


然而,今天弄信息安全的时候一个 MYSQL 的问题瞬间把握弄懵了。我就在想如果碰到 利用社区开源代码进行二次开发的商业软件,那应该怎么办呢?有哪些具体的操作。

本文针对上述内容做了思考,总结以下内容。

二、思考

从商业软件的角度出发,一定是希望以最小的代价获取最大的回报。

  • 利用 mairadb 开源代码完成核心部分,开发一个 GUI 外壳方便用户使用与隐藏伪装。
  • 利用 phpmyadmin 现成网页端解决方案。
  • MySQL 生态非常好,兼容性非常高。

三、检查

1、确定 my.ini 位置

首先找到 control panel -> 看到MYSQL服务 -> 右键属性确定my.ini位置

2、尝试登陆

发现无法登陆。(using password: YES)

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password)
这种类型的提示是帐号密码不对或者帐号不存在的现象。

四、破解

1、添加 skip-grant-tables

在文件“底部”添加 skip-grant-tables 保存退出 -> 重启服务

BTW:网上说给 mysqld.exe 加 --skip-grant-tables 进行权限的略过,我并没有成功。

2、破解登陆

2-1、查询情况

cmd.exe -> mysql -h localhost -u root -p > 直接登陆

MariaDB [(none)]> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec) MariaDB [(none)]>

2-2、新建用户

MariaDB [(none)]> create user 'root'@'%' identified by "example";
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec) MariaDB [(none)]>

2-3、删除用户

MariaDB [(none)]> drop user 'root'@'%';
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]>

这样就没办法远程登陆(“%”)了

2-4、权限相关

MariaDB [(none)]> grant all privileges on *.* to 'rabbit'@'%' IDENTIFIED BY 'rabbit';
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> revoke all privileges on *.* from 'root'@'%' ;
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]>
  • ALL PRIVILEGES- as we saw previously, this would allow a MySQL user all access to a designated database (or if no database is selected, across the system)
  • CREATE- allows them to create new tables or databases
  • DROP- allows them to them to delete tables or databases
  • DELETE- allows them to delete rows from tables
  • INSERT- allows them to insert rows into tables
  • SELECT- allows them to use the Select command to read through databases
  • UPDATE- allow them to update table rows
  • GRANT OPTION- allows them to grant or remove other users' privileges

2-5、修改密码

MariaDB [(none)]> SET PASSWORD FOR 'rabbit'@'%' = PASSWORD('test');
Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('other-way') where user = 'rabbit' and host = '%';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0 MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

希望大家都能熟练掌握。

[SQL] 简单新建(create)删除(drop\delete)权限(grant/revoke)修改(set\update)的更多相关文章

  1. SQL 触发器 新建时删除相同数据

    --create alter trigger [dbo].[trigger_sqsj] on [dbo].[lctnrcrd] after INSERT as BEGIN ) id ),dlr,) d ...

  2. MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理

    MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...

  3. oracle 中删除表 drop delete truncate

    oracle 中删除表 drop delete truncate   相同点,使用drop delete truncate 都会删除表中的内容 drop table 表名 delete from 表名 ...

  4. SQL基础教程(第2版)第4章 数据更新:4-2 数据的删除(DELETE)

    第4章 数据更新:4-2 数据的删除(DELETE) ● 如果想将整个表全部删除,可以使用DROP TABLE语句,如果只想删除表中全部数据,需使用DELETE语句.● 如果想删除部分数据行,只需在W ...

  5. 数据库的SQL基本用法 创建 删除 查询 修改

    1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 备份数据的 ...

  6. mysql用户密码修改,用户添加、删除及设置权限

    一下的示例所用用户名和密码为:test,111111 Mysql密码修改: Mysql修改密码需要root的权限,先执行mysql -uroot -p(密码); 1)使用set password方式来 ...

  7. Sql Server来龙去脉系列 必须知道的权限控制核心篇

    最近写了<Sql Server来龙去脉系列  必须知道的权限控制基础篇>,感觉反响比较大.这可能也说明了很多程序猿对数据库权限控制方面比较感兴趣,或者某些技术点了解的没有很透彻. 有些人看 ...

  8. 数据定义: CREATE、DROP、ALTER

    CREATE DATABASE 句法 CREATE DATABASE [IF NOT EXISTS] db_name 数据库.表.索引.列和别名 中被给出. 如果数据库已经存在,并且你没有指定 IF ...

  9. 在SQL Server中快速删除重复记录

     在SQL Server中快速删除重复记录 2006-07-17 21:53:15 分类: SQL Server 开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询 ...

随机推荐

  1. Linux学习---linux系统下安装配置Jenkins

    1.首先准备java环境,安装JDK 2.下载jenkins至Linux服务器 下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Installing+ ...

  2. SublimeText Videos Notes

    [SublimeText Videos Notes] Getting Started 1.Hello:https://tutsplus.com/course/improve-workflow-in-s ...

  3. python's output redirect

    [python's output redirect] fin = open("xx.txt", 'r'); print >>fin, "hello world ...

  4. 【Python爬虫】听说你又闹书荒了?豆瓣读书9.0分书籍陪你过五一

    说明 五一将至,又到了学习的季节.目前流行的各大书单主打的都是豆瓣8.0评分书籍,却很少有人来聊聊这9.0评分的书籍长什么样子.刚好最近学了学python爬虫,那就拿豆瓣读书来练练手. 爬虫 本来思路 ...

  5. Cocoa Touch(三):图形界面UIKit、Core Animation、Core Graphics

    UIKit 视图树模型 1.视图树模型 计算机图形实际上是一个视图树模型,每个视图都有一个本地坐标系.每个本地坐标系的组成部分是:原点在父坐标系中的位置,每个基在父坐标系中的位置,由此就可以根据向量的 ...

  6. Ant+jmeter+jenkins搭建测试的持续集成

    前提: Ant+jmeter 已经搭建完成并成功运行(参看ant+jmeter自动化性能测试) Jenkins在本地已经安装可运行(参看上一篇) 1.下载Jenkins安装 2.浏览器输入地址http ...

  7. 解决 Laravel try catch 不工作的问题

    最近再用laravel框架发现,try catch用了没有效果,不能捕获异常, 然后在think框架里也试了一下,发现竟然也不可以! [php] view plain copy try{  $i = ...

  8. 在PowerDesigner中设计物理模型1——表和主外键(转)

    出处:http://www.cnblogs.com/studyzy/archive/2009/12/15/1624899.html 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念 ...

  9. IntelliJ IDEA 2017版 SpringBoot徒手书写HelloWorld

    1.打开编译器,选择File---->New---->Project 2.弹出设置界面,选择如图样式的1.2.3 3.设置包名称 4.继续next 5.finish完成即可 6.自动生成目 ...

  10. 三)Wiring up jobs using triggers and the SchedulerFactoryBean

    示例地址: https://github.com/witaste/quartz.git │ pom.xml │ └─src └─main ├─java │ └─cn │ └─zno │ └─job │ ...