网络安全-MySQL数据库
MySQL
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面> MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
默认端口:3306
基础操作
- MySQL数据库安装
操作系统:Cent OS 6.9
安装MySQL:yum install -y mysql-server
启动MySQL:service mysqld start
第一次启动MySQL会初始化数据库
- 数据库登录
初次安装的MySQL数据库root用户没有登录密码,可以直接登录
命令:mysql -u root - 为MySQL管理账户(root)添加或者修改密码:
mysqladmin -u root -p password “新密码” ,回车输入原密码
- 交互式shell登录
命令:mysql -u root -p 回车输入密码
- 非交互式shell登录
命令:mysql -u root -p123456
- MySQL数据库有专属的命令语句又称为SQL语句,SQL语句不区分大小写
- MySQL非交互式执行SQL语句:mysql -u root -p密码 -e “SQL语句”
- MySQL中存储的内容:库(目录文件夹)- 表(xls表格)
- 显示MySQL中的所有库:show databases;
MySQL中默认存在三个库,information_schema、mysql、test - 显示数据库下的数据表
命令:use 数据库名;
show tables;
其中mysql中有一个名为user的数据表,其中存储了mysql管理账户的相关信息。所以该数据表也是SQL注入漏洞的主要目标。 - 获取数据表中的数据
select 字段名 from 表名 where 字段名=字段值;
select 后面跟字段名,多个字段名之间用逗号隔开,查询所有字段使用“*”代表。
where 后面跟查询条件,指定在数据表中查询什么样的数据,查询条件根据个人需求可有可无。
查询数据表中的所有数据:select * from 数据库.数据表;
user表中有三个重要字段:host、user、password
- 查看表结构
表中的所有字段名称、字段类型、是否允许为空,是否是数据表的主键,是否有默认值。
主键值是数据表中每一条数据的唯一标识,每个表中只能有一个主键,但是允许有联合主键,主键值不能为空。
- 数据库加固
将mysql库中user表中代表本机的三条数据,host字段为localhost、127.0.0.1以及::1并且对应的user字段为root的几条数据设置上相同的密码或者只留下一条其余没有密码的数据全删除掉 - 创建数据库
命令:create database 数据库名;
- 创建数据表
创建数据表时需指定在哪一个数据库下面创建数据表。有两种方式,一种是创建数据表之前使用use语句指定数据库,第二种是创建数据表的语句中的表名使用“数据库.数据表”的形式来表示。
命令:create table 数据库名.表名 (字段名 字段类型(字段长度),…,primary key(字段名));
- 修改表结构-添加字段
命令:alter table 数据库名.数据表名 add 字段名 字段值 字段类型(字段长度) [first | after 字段名]
- 修改表结构-修改字段
命令:alter table 数据库名.数据表名 modify 字段名 字段值 字段类型(字段长度) [first | after 字段名]
- 修改表结构-删除字段
命令:alter table 数据库名.数据表名 drop 字段名;
- 数据操作-添加数据
命令:insert into 数据库名.数据表名 [字段名,…] values (字段值,…)
- 数据操作-更新数据
命令:update 表名 set 字段名=“字段值” where 字段名=“字段值”;
- 数据操作-删除数据
命令:delete from 表名 where 字段名=“字段值” ;
- MySQL数据库备份
- 备份表文件(*.frm、*.MYD、*.MYI)
Linux操作系统中mysql数据库文件的存储路径:/var/lib/mysql(该路径是mysql的默认安装目录,并不是绝对的,可以在mysql的配置文件中修改该路径)
windows操作系统中mysql数据库文件存储路径:MySQL安装目录下的data目录中 - 命令字备份
mysqldump -u root -p密码 数据库名 数据表名 > /tmp/数据库名_数据表名.sql
恢复备份:mysql -u root -p密码 数据库名 < /tmp/数据库名_数据表名.sql
- 删库跑路
命令:drop table 数据表名;
命令:drop database 数据库名; - 用户管理
创建用户
命令:CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
host:允许用户从拿一台机器登录
删除用户
命令:DROP USER ‘username’@‘host’;
- 权限管理
授权:grant 权限种类 on 数据库名.数据表名 to ‘username’@‘host’ identified by “password”;
权限种类:select delete update create drop等,多个权限之间可以使用逗号隔开,所有权限可以用all privileges代替。
设置用户张三对kaso.test拥有查询权限
设置张三对kaso.test的所有权限
撤权:revoke 权限种类 on 数据库名.数据表名 from ‘username’@‘host’;
撤销zhangsan对kaso.test的update权限
- root用户密码破解
限制条件:需要MySQL数据库停止工作,而且必须是Linux操作系统的root用户才有权限。
- 以安全模式启动MySQL
命令:mysqld_safe --skip-grant(跳过权限验证)
mysql -u root - 修改root用户密码
命令:update mysql.user set password=password(“新密码”) where user = “root”;
3. 退出安全模式,启动mysql服务,重新登陆。
网络安全-MySQL数据库相关推荐
- 《网络安全入门到精通》- 3.1 - 数据库 - MySQL数据库
「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「订阅专栏」:此文章已录入专栏<网络安全入门到精通> MySQL数据库 一.环境准备 1. My ...
- mysql数据库的lls_初识网络安全及搭建网站(内网)(示例代码)
网站由服务器,容器,脚本,数据库组成. 服务器和家庭电脑一样. 容器又为环境或服务:apache,lls,tomcat,nginx等 脚本:php,aspx,asp,jsp等 数据库:mysql,ms ...
- [渗透攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包
这是最近学习渗透和网站攻防的基础性文章,前面文章从数据库原理解读了防止SQL注入.SQLMAP的基础用法.数据库差异备份.Caidao神器.这篇文章将详细讲解MySQL数据库攻防知识,有点类似第一篇文 ...
- mysql数据库详解(续一)
第三节 配置MYSQL数据库 配置mysql数据库通常通过命令行选项.配置文件.和环境变量来进行,并且优先顺序也是命令行最高,环境变量优先级最低. 1.配置文件定位 mysql的配置文件可以在以下四个 ...
- mysql md5解密_Web渗透测试——Mysql数据库手工注入
我们之前讲到了SQL注入漏洞是一种非常危险的高危漏洞,攻击者可以利用许多工具轻而易举的获得目标站点后台管理权限,我们也介绍了许多SQL注入利用工具,有网友问我,既然可以使用工具自动注入,为什么还要用手 ...
- 超经典两万字,MySQL数据库快速入门。
「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<MySQL数据库快速入门> MyS ...
- 安全测试(三) 服务器安全 渗透测试 常规服务器安全漏洞 高危端口暴露、弱口令密码、暴力破解、服务器提权、Mysql数据库提权等 浅谈《社会工程学》实战案例
文章目录 一.前言 二.服务器安全 高危端口 2.1 端口号(Port number) 2.2 常见端口后及其用途表 2.3 端口号 扫描工具介绍 2.4 端口号 端口说明 攻击技巧 2.5 安全警示 ...
- MySQL数据库(三)-表行的语句使用
初学数据库的基本概念 MySQL数据库的使用(一)-数据库的增删改查 MySQL数据库的使用(二)-表的增删改查 前言 在昨天的内容上继续SQL的使用,内容主要是如何添加内容到表中,删除,更改,查看等 ...
- 阿里云中mysql数据库被攻击了,最终数据找回来了
介绍 昨天登自己的网站的时候,发现登不上去,由于是用springboot写的,存放在阿里云轻量云服务器中,所以我去后台查看了一下日志,发现是查不到数据了. 这个时候就发现是数据库出现了问题,然后通过图 ...
- 写底层 jdbc 实现mysql数据库增删改的 合并方法 的类 继承ConnectionFactory 实现DaoMessage接口: 并批量添加数据
接口: public interface DaoMessage<T> {int ERROR = 0x400;int SUCCESS = 0x200; //接口参数默认finalint ge ...
最新文章
- php获取当月开始和结束的时间戳,PHP获取今天开始和结束的时间戳
- python 三角函数
- 树莓派小车参考方案,了解一下
- 用provide/inject来实现简单的vuex状态管理功能
- centos7查看mysql进程显示端口_CentOS查看进程端口号以及kill操作
- 【汇编语言】通用数据处理指令——数据传送类指令
- 在网上找来的几个大牛,忽然觉得自己来参加ACM倒也不是一件错误的事情,梦想总是要有的,万一成了呢。
- md5算出来不一样_西安美发培训学校:为什么我看到的色卡上的颜色和染出来的颜色会不一样呢?...
- datastore java_Java Datastore.find方法代码示例
- ORVIBO 精灵款升级分析
- 谁在崛起,谁在没落?新一线城市竞争力盘点,用Python绘制动态图带你看懂!...
- 设计模式04—工厂模式
- java敏捷开发的落地与实施_20165219 《Java程序设计》实验三(敏捷开发与XP实践)实验报告...
- 组织架构图,比较实用,收走
- Python打印详细报错日志,获取报错信息位置行数
- protege 简介
- Python--Opencv:errorFindContours supports only CV_8UC1 images when mode = CV_RETR_FLOODFILL otherw
- 计算机科学领域sci杂志,【分享】计算机类SCI杂志--其他(无重复) - 信息科学 - 小木虫 - 学术 科研 互动社区...
- git bash 下 pacman 环境配置
- skywalking