网络安全-MySQL数据库

MySQL

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面> MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
默认端口:3306

网络安全-MySQL数据库_第1张图片

基础操作

  • MySQL数据库安装
    操作系统:Cent OS 6.9
    安装MySQL:yum install -y mysql-server
    启动MySQL:service mysqld start
    第一次启动MySQL会初始化数据库
    在这里插入图片描述
  • 数据库登录
    初次安装的MySQL数据库root用户没有登录密码,可以直接登录
    命令:mysql -u root网络安全-MySQL数据库_第2张图片
  • 为MySQL管理账户(root)添加或者修改密码:
    mysqladmin -u root -p password “新密码” ,回车输入原密码
    在这里插入图片描述
  • 交互式shell登录
    命令:mysql -u root -p 回车输入密码
    网络安全-MySQL数据库_第3张图片
  • 非交互式shell登录
    命令:mysql -u root -p123456
    网络安全-MySQL数据库_第4张图片
  • MySQL数据库有专属的命令语句又称为SQL语句,SQL语句不区分大小写
  • MySQL非交互式执行SQL语句:mysql -u root -p密码 -e “SQL语句”
  • MySQL中存储的内容:库(目录文件夹)- 表(xls表格)
  • 显示MySQL中的所有库:show databases;
    网络安全-MySQL数据库_第5张图片
    MySQL中默认存在三个库,information_schema、mysql、test
  • 显示数据库下的数据表
    命令:use 数据库名;
    show tables;
    网络安全-MySQL数据库_第6张图片
    其中mysql中有一个名为user的数据表,其中存储了mysql管理账户的相关信息。所以该数据表也是SQL注入漏洞的主要目标。
  • 获取数据表中的数据
    select 字段名 from 表名 where 字段名=字段值;
    select 后面跟字段名,多个字段名之间用逗号隔开,查询所有字段使用“*”代表。
    where 后面跟查询条件,指定在数据表中查询什么样的数据,查询条件根据个人需求可有可无。
    查询数据表中的所有数据:select * from 数据库.数据表;
    user表中有三个重要字段:host、user、password
    网络安全-MySQL数据库_第7张图片
  • 查看表结构
    表中的所有字段名称、字段类型、是否允许为空,是否是数据表的主键,是否有默认值。
    主键值是数据表中每一条数据的唯一标识,每个表中只能有一个主键,但是允许有联合主键,主键值不能为空。
    网络安全-MySQL数据库_第8张图片
  • 数据库加固
    将mysql库中user表中代表本机的三条数据,host字段为localhost、127.0.0.1以及::1并且对应的user字段为root的几条数据设置上相同的密码或者只留下一条其余没有密码的数据全删除掉
  • 创建数据库
    命令:create database 数据库名;
    网络安全-MySQL数据库_第9张图片
  • 创建数据表
    创建数据表时需指定在哪一个数据库下面创建数据表。有两种方式,一种是创建数据表之前使用use语句指定数据库,第二种是创建数据表的语句中的表名使用“数据库.数据表”的形式来表示。
    命令:create table 数据库名.表名 (字段名 字段类型(字段长度),…,primary key(字段名));
    网络安全-MySQL数据库_第10张图片
    网络安全-MySQL数据库_第11张图片网络安全-MySQL数据库_第12张图片
  • 修改表结构-添加字段
    命令:alter table 数据库名.数据表名 add 字段名 字段值 字段类型(字段长度) [first | after 字段名]
    网络安全-MySQL数据库_第13张图片
  • 修改表结构-修改字段
    命令:alter table 数据库名.数据表名 modify 字段名 字段值 字段类型(字段长度) [first | after 字段名]
    网络安全-MySQL数据库_第14张图片
  • 修改表结构-删除字段
    命令:alter table 数据库名.数据表名 drop 字段名;
    网络安全-MySQL数据库_第15张图片
  • 数据操作-添加数据
    命令:insert into 数据库名.数据表名 [字段名,…] values (字段值,…)
    在这里插入图片描述
    网络安全-MySQL数据库_第16张图片
  • 数据操作-更新数据
    命令:update 表名 set 字段名=“字段值” where 字段名=“字段值”;
    网络安全-MySQL数据库_第17张图片
  • 数据操作-删除数据
    命令: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
    网络安全-MySQL数据库_第18张图片网络安全-MySQL数据库_第19张图片
  • 删库跑路
    命令:drop table 数据表名;
    命令:drop database 数据库名;
  • 用户管理
    创建用户
    命令:CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
    host:允许用户从拿一台机器登录
    在这里插入图片描述
    网络安全-MySQL数据库_第20张图片
    删除用户
    命令:DROP USER ‘username’@‘host’;
    网络安全-MySQL数据库_第21张图片
  • 权限管理
    授权:grant 权限种类 on 数据库名.数据表名 to ‘username’@‘host’ identified by “password”;
    权限种类:select delete update create drop等,多个权限之间可以使用逗号隔开,所有权限可以用all privileges代替。
    设置用户张三对kaso.test拥有查询权限
    网络安全-MySQL数据库_第22张图片网络安全-MySQL数据库_第23张图片网络安全-MySQL数据库_第24张图片设置张三对kaso.test的所有权限
    在这里插入图片描述
    网络安全-MySQL数据库_第25张图片网络安全-MySQL数据库_第26张图片撤权:revoke 权限种类 on 数据库名.数据表名 from ‘username’@‘host’;
    撤销zhangsan对kaso.test的update权限
    网络安全-MySQL数据库_第27张图片在这里插入图片描述
  • root用户密码破解
    限制条件:需要MySQL数据库停止工作,而且必须是Linux操作系统的root用户才有权限。
  1. 以安全模式启动MySQL
    命令:mysqld_safe --skip-grant(跳过权限验证)
    mysql -u root在这里插入图片描述网络安全-MySQL数据库_第28张图片
  2. 修改root用户密码
    命令:update mysql.user set password=password(“新密码”) where user = “root”;
    网络安全-MySQL数据库_第29张图片3. 退出安全模式,启动mysql服务,重新登陆。
    网络安全-MySQL数据库_第30张图片

你可能感兴趣的:(网络安全基础,网络安全,mysql)