priv

Mysql误删了root用户怎么办

匿名 (未验证) 提交于 2019-12-02 21:59:42
1、停止mysql服务;在mysql安装目录下找到my.ini;在my.ini中找到以下片段[ mysqld ];另起一行加入代码: skip-grant-tables 2、启动mysql服务,并登录mysql(无用户名和密码);找到user表加入root用户 INSERT INTO user (Host,User,Password) VALUES( ‘ localhost ‘ , ‘ root ‘ ,password( ‘ root ‘ )); 3、root用户设置权限 update user set Host= ‘ localhost ‘ ,select_priv= ‘ y ‘ , insert_priv= ‘ y ‘ ,update_priv= ‘ y ‘ ,Alter_priv= ‘ y ‘ ,delete_priv= ‘ y ‘ ,create_priv= ‘ y ‘ ,drop_priv= ‘ y ‘ ,reload_priv= ‘ y ‘ ,shutdown_priv= ‘ y ‘ ,Process_priv= ‘ y ‘ ,file_priv= ‘ y ‘ ,grant_priv= ‘ y ‘ ,References_priv= ‘ y ‘ ,index_priv= ‘ y ‘ ,create_user_priv= ‘ y ‘ ,show_db_priv= ‘ y

day33 数据库初识

北战南征 提交于 2019-12-02 13:35:52
目录 day33 数据库初识 今日内容概要 昨日内容回顾 今日内容详细 数据库的概念 数据库的基本术语 数据库的分类 MySQL的安装 MySQL客户端命令 数据库基本操作 day33 数据库初识 今日内容概要 数据库的概念 数据库的基本术语 数据库的分类 MySQL的安装 MySQL的基本命令 昨日内容回顾 socketserver subprocess 粘包 今日内容详细 数据库的概念 我们从前都是把数据存放到文件当中。但是对于真正的生产环境而言,文件存储有其先天的不足。 比如,很多情况下,我们的客户端和服务器都不止一个。而如果把数据只以文件的形式存储到一个服务器上,另一台服务器可能不能及时接收到相应。对于用户信息之类的重要数据而言,这将是不可接受的。而且我们往往一台计算机只进行一种任务。这样的话,即便有一台计算机出了问题,其他计算机依然可以继续正常工作,整个系统的容灾性会很好。 于是,很多情况下,我们会把储存数据的任务交给独特的计算机,也就是数据库。 当然,一台数据库也可能不能满足我们对多任务处理和数据安全的要求,我们还会使用多台计算机协调备份数据。 数据库之间实时要进行通信,一旦某一个数据库中的数据发生了改变,另一个数据库也要及时备份。 我们其实可以按照从前学过的socket网络编程和文件操作的只是来实现数据库的操作。但是,如果要保证能够完美地支持高并发

4-1 数据的增删改

你说的曾经没有我的故事 提交于 2019-12-01 06:54:32
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。 ======================================================== 本节内容包括: 插入数据 更新数据 删除数据 查询数据 二 插入数据INSERT 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二: INSERT INTO 表名 VALUES (值1,值2,值3…值n); 2. 指定字段插入数据 语法: INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…); 3. 插入多条记录 语法: INSERT INTO 表名 VALUES (值1,值2,值3…值n), (值1,值2,值3…值n), (值1,值2,值3…值n); 4. 插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3…字段n) SELECT (字段1,字段2

浅析椭圆曲线加密算法(ECC)

﹥>﹥吖頭↗ 提交于 2019-11-29 16:47:57
本文首发于先知社区,原文链接: https://xz.aliyun.com/t/6295 数学基础 黎曼几何中的“平行线” 欧几里得《几何原本》中提出五条公设: 过相异两点,能作且只能作一直线。 有限直线可以任意地延长。 以任一点为圆心、任意长为半径,可作一圆。 凡直角都相等。 两直线被第三条直线所截,如果同侧两内角和小于两个直角, 则两直线作会在该侧相交(平行公设)。 《几何原本》中只有第29条命题, 一条直线与两条平行直线相交,则所成的内错角相等,同位角相等,且同旁内角之和等于两直角 才用到了第五公设,其他命题并没有使用到,因此一些数学家提出疑问:第五公设能否不作为公设,而作为一条定理?能否靠前四条公设证明之?因此出现了长期的关于“平行线理论”的讨论。欧氏几何讲“过直线外一点有且只有一条直线与已知直线平行”,后面就有个罗氏几何(罗巴切夫斯基)讲“过直线外一点至少存在两条直线和已知直线平行”,那么是否有“过直线外一点,不能做直线和已知直线平行?”,黎曼几何就回答了这个问题。 黎曼几何中不承认平行线的存在,即在同一平面内任何两条直线都有公共点(交点)。另一条公设讲:直线可以无限延长,但总的长度是有限的。 黎曼几何也被称为椭圆几何。椭圆曲线就是基于黎曼几何的“平行线理论”。 定义平行线相较于无穷远点P∞,使平面上所有直线都有唯一的交点。 无穷远点的性质: 一条直线只有一个无穷远点。

MySQL基本操作

跟風遠走 提交于 2019-11-29 03:22:56
一MySQL数据库的安装 在7上面使用的mariadb是5.5版本的,和MySQL的5.5版本是一样的 5.6之后版本号就和MySQL不一样了,是10版本了。 在官网上面有3种类型的,tar.gz后缀表示的是源码包。 要学会3种方式安装,源码,二进制, yum安装。最后一种最简单。 第二种选择不带库的二进制的包,因为我们不做开发。这个是编译过的,所以解压缩目录不能随便放的。 第三种yum包安装 For best results with RPM packages, use the Repository Configuration Tool 安装MySQL或者Mariadb的方式: 1、源代码:编译安装 2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用 3、程序包管理器管理的程序包CentOS安装光盘 项目官方:https://downloads.mariadb.org/mariadb/repositories/ To generate the entries select an item from each of the boxes below. Once an item is selected in each box, your customized repository configuration will appear below. 1. Choose a

MySQL8 基于角色的权限管理

大憨熊 提交于 2019-11-28 17:41:37
MySQL8新增了角色(role)的概念,使账号权限的管理,更加灵活方便。所谓角色,就是一些权限的集合。然后再把该集合授权给某个账户(往往是某一批账户,因为账号会绑定IP,不同的IP,虽然账号名相同被视为不同账号),这样当我们需要对这些账号减少或增加权限时,只需要修改权限集合(role)即可,不用单个账号多次修改。这确实使DBA的运维轻松了不少。 下面我们看下role是如何使用的。 创建角色 比如开发环境账户需要某库的所有权限,生产环境账号往往需要增删改查这些权限,我们可以单独为这些权限建一个role.如果有读写分离,还可以建两个读和写的role。 12345678 create role 'app_dev','app_read','app_write';mysql8[(none)]>show grants for 'app_dev';+-------------------------------------+| Grants for app_dev@% |+-------------------------------------+| GRANT USAGE ON *.* TO `app_dev`@`%` |+-------------------------------------+ 创建角色时同样可以绑定Host(默认%), 即角色名分为name + host两部分

mysql5.7导出数据提示--secure-file-priv选项问题的解决方法

百般思念 提交于 2019-11-28 08:08:39
mysql可使用 into outfile 参数把表中数据导出到csv,例如可用以下命令把user表的数据导出到user.csv select * from user into outfile '/tmp/user.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\r\n'; 执行后,user表的数据会导出到/tmp/user.csv。 参数说明: into outfile ‘导出的目录和文件名’ 指定导出的目录和文件名 fields terminated by ‘字段间分隔符’ 定义字段间的分隔符 optionally enclosed by ‘字段包围符’ 定义包围字段的字符(数值型字段无效) lines terminated by ‘行间分隔符’ 定义每行的分隔符 问题分析 以上命令在mysql5.6下运行没有问题,但在mysql5.7下运行则出现了以下错误。 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 查看官方文档, secure_file_priv参数用于限制LOAD

信安周报-第03周:DB系统表

混江龙づ霸主 提交于 2019-11-27 19:56:36
信安之路 第03周 前言 这周自主研究的任务如下: 任务附录的解释: 文件读写在通过数据库注入漏洞获取webshell的时候很有用 系统库和表存放了很多关键信息,在利用注入漏洞获取更多信息和权限的过程很有帮助 eg:库信息、表信息、用户信息、权限信息、安装配置信息 用户信息表一般密码都是hash加密过的,可以利用hashcat暴力破解(GPU) 1.文件操作相关 1.1.探索与发现 需要什么权限才可以进行 文件读写操作 ,看个简单测试: 读写前提: secure_file_priv 不为 NULL 、用户具有 File 权限( mysql.user 中用户的 file_priv=Y ) 先看权限: root@localhost 账号直接可以读取文件 命令附录: show variables like 'secure_file_priv'; select user,host,file_priv from mysql.user; select load_file("etc/passwd"); 1.2.参数说明 secure_file_priv的简单说明: PS: MariaDB5.x 默认为空, secure_file_priv= NULL 表示 不允许 文件读写 secure_file_priv= /xxx ( / 则代表任意目录读写) 表示只能在 指定目录 /xxx 中文件读写

mysql的用户权限设置

邮差的信 提交于 2019-11-26 12:18:47
一、首先我们需要来看一下mysql默认数据库里面的四张表(user,db,tables_priv,columns_priv)。 1、user表(用户层权限) 因为字段太多,只截取了一部分。首先登陆的时候验证Host,User,Password也就是ip,用户名,密码是否匹配,匹配登陆成功将会为登陆者分配权限,分配权限的顺序也是按照上面四张表的排列顺序进行的,举个例子,如果user表的Select_priv为Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。其中的%是通配符,代表任意的意思。 2、db表(数据库层权限) 来到db表之后会匹配Host,User然后会根据Db字段对应的表进行权限分配,像Select_priv这些字段对应的权限大家应该都能看出来是对应着什么权限了吧,这里不细说了(不偷懒,举个例子Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分别代表着查询,增加,更新,删除,创建,销毁)。其中Y代表这拥有此项权限,N则代表没有此项权限。 3、tables_priv表(表层权限) 与上面一样,这是通过Host,Db,User,Table来进行定位到表层的一个权限分配。不过它只有Table_priv和Column_priv两个字段来记录权限。 4、columns

python、第四篇:记录相关操作

独自空忆成欢 提交于 2019-11-26 10:15:54
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。 ======================================================== 本节内容包括: 插入数据 更新数据 删除数据 查询数据 二 插入数据INSERT 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二: INSERT INTO 表名 VALUES (值1,值2,值3…值n); 2. 指定字段插入数据 语法: INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…); 3. 插入多条记录 语法: INSERT INTO 表名 VALUES (值1,值2,值3…值n), (值1,值2,值3…值n), (值1,值2,值3…值n); 4. 插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3…字段n) SELECT (字段1,字段2