网络安全-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用户才有权限。
  1. 以安全模式启动MySQL
    命令:mysqld_safe --skip-grant(跳过权限验证)
    mysql -u root在这里插入图片描述在这里插入图片描述
  2. 修改root用户密码
    命令:update mysql.user set password=password(“新密码”) where user = “root”;
    在这里插入图片描述3. 退出安全模式,启动mysql服务,重新登陆。
    在这里插入图片描述
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
是的,我了解您的问题。MySQL是一种开源的关系数据库管理系统,因其易用性和可靠性而备受欢迎。以下是一些关于MySQL数据库管理的常见问题和答案: 1. 如何创建一个MySQL数据库? 答:您可以使用MySQL命令行或者MySQL Workbench来创建一个新的数据库。在命令行中,您可以使用CREATE DATABASE语句来创建一个新的数据库。在MySQL Workbench中,您可以使用“Create a new Schema”向导来创建一个新的数据库。 2. 如何备份和恢复MySQL数据库? 答:您可以使用mysqldump命令来备份MySQL数据库,通过将备份文件导入到新的MySQL服务器中来恢复MySQL数据库。另外,您也可以使用MySQL Workbench的备份和恢复功能来备份和恢复MySQL数据库。 3. 如何优化MySQL数据库的性能? 答:您可以通过使用索引、优化查询、调整服务器参数和升级硬件等方式来优化MySQL数据库的性能。另外,您也可以使用MySQL Workbench的性能分析器来分析查询语句的性能,并查找潜在的性能问题。 4. 如何保护MySQL数据库的安全性? 答:您可以通过使用强密码、限制对MySQL服务器的访问、定期备份数据、更新MySQL服务器和应用程序等方式来保护MySQL数据库的安全性。另外,您也可以使用防火墙和安全软件来保护服务器免受网络攻击。 希望这些回答能够解决您的问题。如果您还有其他问题,请随时提出。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值