关于 mysql.test 数据库

       

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

在一个项目的预商用环境下,我搭建的数据库都是以“test_”开头的,昨天应开发要求给创建了一个只有select权限的用户以供查看数据排错,但是奇怪的事情就发生了,开发过一会儿跟我说用这个账户可以修改数据!

       我自己试了一下尼玛果然可以,于是各种排查,最后锁定在数据库名称上,因为只要新建了用户,在不赋予任意权限之前都可以操作这项目所属的几个数据库,而对于其它数据库则规规矩矩来。然后请教别人,在官方的操作手册里指出grant命令创建权限时注意数据库名称里的通配符“_”和“%”要及时转义,但是经排查测试发现并不是匹配问题,于是继续疯狂搜索,终于找着一篇帖子:http://space.itpub.net/7607759/viewspace-676674

  • mysql.user表决定是否允许或拒绝到来的连接。对于允许的连接,user表授予的权限指出用户的全局(超级用户)权限。这些权限适用于服务器上的all数据库。
  • mysql.db表范围列决定用户能从哪个主机存取哪个数据库。权限列决定允许哪个操作。授予的数据库级别的权限适用于数据库和它的表。

      看到这里,我们找到原因了!原来在mysql里默认以test开头的数据库能被任意可登陆用户访问操作!具体可以select * from mysql.db where user=''\G看一下。

关于test数据库

      “从权限上来看,host%user为空,这就说明了不限制的,所有能连接到MySQL的用户,几乎都拥有test库的所有权限”于是我推测出奇怪问题的服务器之前在安装Mysql后没有执行mysql_secure_installation命令,而只是单纯删除了test数据库,再对比执行过安全初始化的mysql,其中mysql.db表里已经没有了test记录。

另外,以后建立数据库不要随便以“test”开头了。

转载于:https://www.cnblogs.com/AloneSword/p/3457243.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中strip()、lstrip()、rstrip()用法详解

Python中strip()、lstrip()、rstrip()用法详解 Python中有三个去除头尾字符、空白符的函数,它们依次为: strip: 用来去除头尾字符、空白符(包括\n、\r、\t、 ,即:换行、回车、制表符、空格) lstrip:用来去除开头字符、…

HDU 4121 Xiangqi 模拟题

题目: http://acm.hdu.edu.cn/showproblem.php?pid4121 首先对标题赞一个,非要叫 “Xiangqi” 而不是 ”中国象棋“ 或者 ”Chinese chess“ 。。 然后是题意:黑棋只剩下一个”将“了,红棋各种 ”车” “马” “炮“,…

mysql在cmd命令行下的相关操作

1、设置新的root密码。 mysql -u root -p 直接回车,无需输入密码就可以进入数据库了。 此时在命令行下执行 use mysql (切换到系统数据库) 执行以下语句既可修改root用户密码: update user set passwordPASSWORD("123456…

python 多继承的问题

(1)、关于Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。 例如: class B():def a(self):print("this is B"…

python 常看

(1)、单链表的翻转 参考: https://www.cnblogs.com/mafeng/p/7149980.html 参考代码: def reverse_linkedlist2(head): if head None or head.next None: #边界条件 return head cur head #循环变量 tmp None #保存数据的临时变量 newhead None…

Android中的音频播放(MediaPlayer和SoundPool)

Android中音频和视频的播放我们最先想到的就是MediaPlayer类了,该类提供了播放、暂停、停止、和重复播放等方法。该类位于android.media包下,详见API文档。其实除了这个类还有一个音乐播放类那就是SoundPool,这两个类各有不同分析一下便于大家…

python中的静态方法和类方法

一、先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法。 普通实例方法,第一个参数需要是self,它表示一个具体的实例本身。 如果用了staticmethod,那么就可以无视这个self&#xf…

我所遭遇过的中间件--VTK

我所遭遇过的中间件--VTK Vtk是我接触的第一款软件开发包,它引导我对图形学的入门.我是先学的VTK,后学的OpenGL和D3D.VTK是专为图形学开发,特点是接口清晰,好上手,又含有大量的图像处理算法.从VTK入手3D图形学,要比从OpenGL和D3D容易的多. 最初接触VTK是研一那年暑假,研一时我做…

java.lang.OutOfMemoryError: PermGen space 问题解决

Tomcat/bin/catalina.bat 或 .sh 文件中的“rem ----- Execute The Requested Command -”这个后面增加了下面的语句set JAVA_OPTS%JAVA_OPTS% -Xms256m -Xmx1024m -XX:PermSize256M -XX:MaxNewSize256m -XX:MaxPermSize512m Myeclipse配置选项 打开选项..输入tomcat关键字,然…

python中的__new__和__init__

一、__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候。 这样便是__init__最普通的用法了。 但__init__其实不是实例化一个类的时候第一个被调…

python 中的__getattr__和__setattr__

__getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法 __setattr__当设置类实例属性时自动调用,如j.name5 就会调用__setattr__方法 self.[name]5 因为这个类是从dict继承来的,是dict的超类 …

correct ways to define variables in python

http://stackoverflow.com/questions/9056957/correct-way-to-define-class-variables-in-python later say this转载于:https://www.cnblogs.com/luomingchuan/p/3475268.html

python 的钻石继承问题

如果子类继承自两个单独的超类,而那两个超类又继承自同一个公共基类,那么就构成了钻石继承体系。这种继承体系很像竖立的菱形,也称作菱形继承。 class Base:def __init__(self, value):print("This is Base __init__")self.value …

认知http响应头

HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内 容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协…

Python3的方法解析顺序(MRO)

Python 2.3 的新式类的 C3 算法。它也是 Python 3 唯一支持的方式(笔者使用python3,所以就先讲这种的) 一个例子: class D(object): pass class E(object): pass class F(object): pass class C(D, F): pass class B(E, D): …

WPF 用 DataTemplate 合并DataGrid列表列头类似报表设计及行头列头样式 - 学习

WPF中 DataGrid 列头合并&#xff0c;类似于报表设计。效果图如下↓ 1.新建一个WPF项目WpfApplication1&#xff0c;新建一个窗体DataGridTest&#xff0c;前台代码如下&#xff1a; <Window x:Class"WpfApplication1.DataGridTest" xmlns"http://sch…

python 中的pickle库

序列化&#xff1a;我们把变量从内存中变成可存储或传输的过程称之为序列化&#xff0c;在Python中叫pickling&#xff0c;在其他语言中也被称之为serialization&#xff0c;marshalling&#xff0c;flattening等等&#xff0c;都是一个意思。 序列化之后&#xff0c;就可以把…

他山之石,可以攻玉——来自亚马逊的电商启示录

题记&#xff1a;“创新是我们的DNA&#xff0c;技术是我们改善客户体验的基础2009 年致股东的信” 1. 从亚马逊的成功讲起 1.1 历经8 年亏损始成正果 它是世界上所有电商的龙头和楷模&#xff0c;是毫无争议的行业标杆和旗帜&#xff0c;它在战略和经营上的一举一动都是关注的…

python数据结构-栈和队列的实现

&#xff11;、栈&#xff08;后进先出(last in first out&#xff0c;LIFO)&#xff09; 栈是一种特殊的列表&#xff0c;栈内的元素只能通过列表的一端访问&#xff0c;这一端称为栈顶。栈被称为一种后入先出&#xff08;LIFO&#xff0c;last-in-first-out&#xff09;的数…