【网络安全 --- MySQL数据库】网络安全MySQL数据库应该掌握的知识,还不收藏开始学习。

四,MySQL

4.1 mysql安装

#centos7默认安装的是MariaDB-5.5.68或者65,
#查看版本的指令:[root@web01 bbs]# rpm -qa| grep mariadb
#安装mariadb的最新版,只是更新了软件版本,不会删除之前原有的数据。
#修改yum源的配置文件
vim /etc/yum.repos.d/mariadb.repo
i[mariadb]
name=mariadb laster version
baseurl=http://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.6/centos7-amd64/
gpgcheck=0
#yum安装mariadb
yum install mariadb-server -y
#重新启动mariadb并设置开机自启
systemctl start mariadb
systemctl enable mariadb
# 安装完之后建议运行一下安全初始化的动作:
mysql_secure_installation

4-2 授权

#授权 ,默认情况下mysql和mariadb都是不允许root用户远程连接登录的。
# grant 操作(增删改查,all) on 库名.表名 to 用户名@'%' identified by '密码';grant all on *.* to root@'192.168.31.%' identified by 'aini';
grant all on wordpress.* to wordpress@'192.168.61.%' identified by '123456';
grant all on wordpress.t1 to jaden@'192.168.61.%' identified by '123';  #jaden用户只能对menu表进行操作# 网站代码中连接数据库的时候使用的是哪个用户,那个用户有什么权限,那么网站代码就能对数据库做什么操作。## 查看某个用户有哪些权限
show grants for root@'%';# 单独创建用户
create user wang@'%' identified by '123';# 单独创建的用户是没有任何权限的,只能登录,需要授权
grant all on wordpress.* to wang@'%';# 上面两条就等于我们前面授权加创建用户的一条指令。
# 删除用户
drop user wang@'%';# 查看用户的权限
show grants for jaden@'192.168.61.%';# 回收权限: 注意:只有在本机登录的root用户才有这个能力
revoke select on wordpress.t1 from jaden@'192.168.61.%'; 
show grants for jaden@'192.168.61.%';

4-3 登录修改密码

#使用普通用户登录
mysql -u wordpress -p123456 -h 10.0.0.7
#默认的数据文件存储位置是
/var/lib/mysql/
#/root/.mysql_history 记录了我们做的历史sql指令
# 修改用户密码
#安全初始化,可以修改root用户的密码:mysql_secure_installation
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123'); 
# 查询当前是在哪个库里面
MariaDB [mysql]> select database();
#查看表结构
desc songs;
+---------+--------------+------+----

4-4 MySQL数据类型

int   整形 数字   适合存储:年龄, 加减运算
float 浮点型     适合存储:余额 加减运算
char   字符串     适合存储:不做加减运算 身份号码 密码,单行信息
text   文本       适合存储: 适合多行信息,小说,商品描述
enum   枚举       适合存储: 固定选项,多选一
date   日期类型   适合存储:时间,一般存储的是unix时间戳,从1970.1.1 0:0:0到现在过了多少秒,这个时间戳是可以转化为具体的时间				日期的。
boolean 布尔类型   true/false 对应数字就是0/0

4-5 所有的整型int

image-20230718204445735

4-6 字符串类型

image-20230718204510252

4-7 text类型

image-20231017194357601

4-8 MySQL完整性约束

not null # 不能为空,默认是可以为空的
default   # default 100,意思是默认值为100
unique   # 唯一
auto_increment # 自增
primary key #主键:not null+unique,还自带auto_increment自增属性,但是每个表里面只能有一列能为primary key主键列
unsigned #只能存正整数,默认是可以存正数和负数的

4-9 MySQL数据表操作

#切换库
use linux;
#创建表 #每个web项目其实都会创建很多个表来存储不同的数据
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],字段名3 类型[(宽度) 约束条件]
);
示例:
mysql> create table jaden(  -> id int, -> name varchar(50),-> age int(3)-> );
#查看一下mysql帮我们创建表的时候的详细指令show create table jaden;#创建库和创建表的时候还可以指定字符集编码,默认字符集是Latin。DEFAULT CHARACTER SET utf8mb4create table jaden(id int, name varchar(50)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
# ENGINE=MyISAM这是指定存储引擎,这个后面说。#往表里面插入数据insert into jaden(id,name,age) value(1,'xx',18); # 插入单条数据insert into jaden(id,name,age) values(2,'xx2',15),(3,'xx3',19); #插入多条数据#创建只有name列的表t1;create table t1(name char(6));#查看表结构desc t1;#往表t1插入数据insert t1 value('zhang');insert t1 value('li');#查询t1表中所有数据select * from t1;#指定字符集的创表语句create table t2(name char(6),age int(3)) default charset=utf8;#往表t2插入数据insert t2 value('张三',20);insert t2 value('李四',60);#创建表t4create table t4(name char(6),age int(3) default 0 ) default charset=utf8;#指定列插入数据insert t4(name) values('张三'),('李四');#查询结果mysql> select * from t4;+--------+------+| name   | age |+--------+------+| 张三   |    0 || 李四   |    0 |+--------+------+2 rows in set (0.00 sec)##修改表
#修改字段的长度alter table s2 modify name char(10);#查看创表语句show create table s2;#增加字段alter table s2 add age int(3);#删除字段alter table s2 drop age;#ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] FIRST; #添加这个字段的时候,把它放到第一个字段位置去。
#ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;#after是放到后的这个字段的后面去了,我们通过一个first和一个after就可以将新添加的字段放到表的任意字段位置了。# 修改表的字符集alter table 表名 charset=utf8mb4;#使用where条件删除单条数据delete from t5 where name='zhangsan';#删除所有数据delete from t5;#单条件修改:update t5 set password='123' where name='wangwu';#单条件修改多列:update t5 set password='123',name='xxx' where name='wangwu';#多条件修改update t5 set password='123' where name='wangwu' and id=1;update t5 set password='123' where name='wangwu' or id=1;#修改所有数据update t5 set password='123456';

4-10 MySQL查询数据

#sql查询
## city有多少个中国的城市?
select * from city where CountryCode='CHN';## 查询city表中,山西省的城市名?
select * from city where district='shanxi';## 查询city表中,山西省和河北省的城市名?
select * from city where district='shanxi' or district='hebei' ;## 查询city表中,山西省和河北省的城市中人口大于100w?
select * from city where (district='shanxi' or district='hebei') and Population >1000000 ;## 查询city表中,要求只显示城市名和人口数量,山西省和河北省的城市名按人口数量排序,升序?
select Name,Population from city where district='shanxi' or district='hebei'order by Population ;## 查询city表中,要求只显示城市名和人口数量,山西省和河北省的城市名按人口数量排序,降序?
select Name,Population from city where district='shanxi' or district='hebei'order by Population desc ;## 查询city表中,要求只显示城市名和人口数量,山西省和河北省的城市名按人口数量前5名;
select Name,Population from city where district='shanxi' or district='hebei'order by Population desc limit 5;## 查询city表中,要求只显示城市名和人口数量,山西省和河北省的城市名按人口数量第2名和第3名;
select Name,Population from city where district='shanxi' or district='hebei'order by Population desc limit 1,2;## 查询city表中,所有中国省份中带an的城市
select * from city where countrycode='chn' and district like '%an%' ;## 查询city表中,所有中国的城市人口在89000和89999之间的城市
select * from city where countrycode='chn' and Population  between 89000 and 89999 ;## 查询city表中,要求只显示城市名和人口数量,查询CHN人口最多的前5个城市?
## 查询city表中,要求只显示城市名和人口数量,查询CHN人口最少的前5个城市?
## 查询中国的城市数量?
select count(name) as 中国城市总数 from city where countrycode='CHN';## 查询世界的国家数量?
select count(name) from country;## 查询中国的总人口?
select sum(population) from city where countrycode='chn';## 把多行合并成一行
select group_concat(name) from city where countrycode='chn' and district='hebei';## 把多列合并成一列
select concat(Name,"#",CountryCode,"#",District) from city where countrycode='chn' and district='hebei' ;

4-11 MySQL 索引

#增加主键索引(要求结果唯一)alter table t100w add PRIMARY KEY(id);#创建普通索引alter table t100w add index num(num);#创建联合索引alter table t100w add index lianhe(k1,k2);#查看索引show index from t100w;#删除普通索引alter table t100w  drop index lianhe;#删除主键索引alter table t100w  drop  PRIMARY key;#创建表的时候,指定索引create table zhu2(id int(8) primary key AUTO_INCREMENT ,name char(10),passwd char(10));

4-12 MySQL Union

#合并两个select查询结果
CREATE TABLE `c1` (`ID` int NOT NULL AUTO_INCREMENT,`Name` char(35) NOT NULL DEFAULT '',`District` char(20) NOT NULL DEFAULT '',`Population` int NOT NULL DEFAULT '0',PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `c2` (`ID` int NOT NULL AUTO_INCREMENT,`Name` char(35) NOT NULL DEFAULT '',`District` char(20) NOT NULL DEFAULT '',`Population` int NOT NULL DEFAULT '0',PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;insert into c1(ID,Name,District,Population) select ID,Name,District,Population 
from city where CountryCode='CHN' and District='Hebei';insert into c2(ID,Name,District,Population)   select ID,Name,District,Population 
from city where CountryCode='CHN' and District='Henan';select * from c1 union select * from c2 order by Population;#sql注入中经常会使用的
select * from c1 union select 1,2,3,user();

4-13 mysql存储引擎

MyISAM: ## 读性能好,写的性能差     表级锁 每张表,三个文件
innodb## 读性能微弱,写的性能好   行级锁 每张表,两个文件

4-14 MySQL找回root密码

#b适用于mariadb 10.6
1.修改配置文件vim /etc/my.cnf.d/server.cnf[mysqld]skip-grant-tables2.启动mariadbsystemctl start mariadb3.空密码 登录数据库并执行修改密码use mysql;update user set password=password('123') where user='root' and host='localhost';flush privileges;4.删除配置文件中前面增加的skip-grant-tables
5.重启启动mariadbsystemctl restart mariadb
6.使用新密码验证mysql -uroot -p123

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

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

相关文章

ABB变频器使用PROFINET IO通信模块时的激活方法

ABB变频器使用PROFINET IO通信模块时的激活方法 ABB传动通讯总线适配器的激活(ACS380): 首先,如下图所示,要采购并安装PROFINET IO总线通信模块(我这里支持3种通信协议,大家在实际使用时,用到哪种就购买哪种即可), 如下图所示,进入参数设置, 如下图所示,进入“完…

客户管理系统是如何提高工作效率的?

对于大部分企业来说销售部门相比市场营销等部门,会投入更大的人力、物力,客户管理系统在其中发挥着重要作用,它是如何提高工作效率的。 在数字化高度发达的今天,销售自动化已经步入了企业的经营管理中,大大地改善了销…

2023年四川省网络与信息安全技能大赛初赛 个人赛 Writeup

文章目录 WebPHPs Endingweb-game-1-1can_you_getshell Pwnbabyshell Reversepacked MiscedocneBaby_TCP Web PHP’s Ending 反序列化、eval截断、无参数RCE <?php// error_reporting(0);// highlight_file(__FILE__);class saday{public $reason"things dont work…

访问文件夹

访问文件夹并读取文件内容 将展示如何使用 JavaScript 中的 showDirectoryPicker() 方法来访问文件夹&#xff0c;并读取文件的内容。 HTML 结构 首先&#xff0c;需要一个按钮来触发打开文件夹的操作&#xff1a; <button>打开文件夹</button>还需要一个段落元…

【Note】CNN与现代卷积神经网络part3(附PyTorch代码)

文章目录 2 现代卷积神经网络2.1 批量规范化2.1.1 训练深层网络2.1.2 批量规范化层2.1.2.1 全连接层2.1.2.2 卷积层2.1.2.3 预测过程中的批量规范化 2.1.3 从零实现2.1.4 使用批量规范化层的 LeNet2.1.5 简明实现2.1.6 controversies&#xff08;争议&#xff09;2.1.7 Summary…

解码yakit 适配中国的 只要base64加密直接yakit

中国版的bp 浏览器上代理 文件 服务器 yakit yakit 劫持启动 配置代理 报错 爆破 模糊字典 选择admin 选择 第一步 第二步 成功

视频SDK,高效视频解决方案

随着企业业务的不断扩展和多样化&#xff0c;视频已成为企业宣传、教育和娱乐等多个领域不可或缺的内容。为了满足企业对视频的需求&#xff0c;美摄视频SDK开发应运而生&#xff0c;为企业提供全面、高效、安全和便捷的视频解决方案。 美摄视频SDK开发公司拥有丰富的经验和卓…

【PXIE301-211】青翼科技基于PXIE总线的16路并行LVDS数据采集、1路光纤数据收发处理平台

板卡概述 PXIE301-211是一款基于PXIE总线架构的16路并行LVDS数据采集、1路光纤收发处理平台&#xff0c;该板卡采用Xilinx的高性能Kintex 7系列FPGA XC7K325T作为实时处理器&#xff0c;实现各个接口之间的互联。板载1组64位的DDR3 SDRAM用作数据缓存。板卡具有1个FMC&#xf…

数字时代,VR虚拟展会打造全渠道同步营销新模式

随着经济的快速发展&#xff0c;VR虚拟展会逐步完善&#xff0c;对线下实体展会也产生了重大的影响&#xff0c;在这个数字化时代&#xff0c;展会展览也需要寻找新的表达方式&#xff0c;VR虚拟展会以一种全新的魅力吸引越来越多的观展者。 传统展厅的局限性&#xff1b; 1、…

ESP RainMaker 客户案例 #2|PitPat

PitPat 是美国领先的健身品牌&#xff0c;致力于通过游戏化的方式改变人们的锻炼习惯&#xff0c;增强健康。该品牌通过智能设备和相关的移动应用程序为从事家庭锻炼的个人提供虚拟跑步体验。目前&#xff0c;PitPat 针对不同受众群体&#xff0c;开发了Superun&#xff0c;Dee…

自动驾驶中的数据安全和隐私

自动驾驶技术的发展已经改变了我们的出行方式&#xff0c;但伴随着这项技术的普及&#xff0c;数据安全和隐私问题也变得愈发重要。本文将探讨自动驾驶中的数据收集、数据隐私和安全挑战&#xff0c;以及如何保护自动驾驶系统的数据。 自动驾驶中的数据收集 在自动驾驶技术中…

算法刷题总结(全)

刷题总结 by lds 2023-9-5 文章目录 1.数组/字符串1.1 合并两个有序数组【easy】1.2 移除元素【easy】1.3 删除有序数组中的重复项【easy】1.4 删除有序数组中的重复项II【mid】1.5 多数元素【easy】1.6 大数相加---【美团面试手撕题目】1.7 轮转数组【mid】1.8 买卖股票的最佳…

【Minio】图片处理

详解java google Thumbnails 图片处理(亲测)_gb4215287的博客-CSDN博客Thumbnails 图片缩略图https://blog.csdn.net/gb4215287/article/details/126885783#t3

pip报failed to create process

使用pip命令的时候报failed to create process 1、错误提示窗口如下图 2、报这个错误的原因&#xff0c;是因为你改动了python的目录名称或位置。因为&#xff0c;我的电脑是安装了anaconda2和anaconda3的&#xff0c;我想让python2和python3共存&#xff0c;就将anaconda2和a…

【Spring Boot项目】根据用户的角色控制数据库访问权限

文章目录 简介方法一添加数据库依赖配置数据库连接创建用户角色表创建Spring Data JPA实体和仓库实现自定义的网关过滤器配置网关过滤器几个简单的测试API 方法二创建数据库访问接口实现数据库访问接口创建用户角色判断逻辑创建网关过滤器配置网关过滤器 总结 简介 在一些特定…

通讯网关软件027——利用CommGate X2OPCUA实现OPC UA访问MSSQL服务器

本文介绍利用CommGate X2OPCUA实现OPC UA访问MS SQL数据库。CommGate X2OPCUA是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;实现上位机通过OPC UA来获取MS SQL数据库的数据。 【解决方案】…

Cobalt Strike

文章目录 简介CS与msf的不同工具使用安装插件 简介 Cobalt strike 是一款基于 java 的渗透测试神器&#xff0c;常被业界人称为 CS 神器。自3.0 以后已经不在使用 Metasploit 框架而作为一个独立的平台使用&#xff0c;分为客户端与服务端&#xff0c;服务端是一个&#xff0c;…

(2022|ECCV,文本图像视频,3D 邻域注意,3D 稀疏注意)NÜWA:神经视觉世界创建的视觉合成预训练

NWA: Visual Synthesis Pre-training for Neural visUalWorld creAtion 公众号&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要 1. 简介 2. 相关工作 2.1. 视觉自回归模型 2.2. 视觉…

Flutter 剪裁(Clip)

&#x1f525; ClipOval &#x1f525; 子组件为正方形时剪裁成内贴圆形&#xff1b;为矩形时&#xff0c;剪裁成内贴椭圆 裁剪纯色背景 ClipOval(child: Container(width: 300.w,height: 300.w,decoration: const BoxDecoration(color: Colors.red),),), 裁剪背景图片 裁剪前…

PositiveSSL的泛域名SSL证书

PositiveSSL是Sectigo旗下的一个子品牌&#xff0c;致力于为全球用户提供优质、高效的SSL证书服务。PositiveSSL以Sectigo强大的品牌影响力和全球网络为基础&#xff0c;秉承“安全、可靠、高效”的服务理念&#xff0c;为各类网站提供全面的SSL证书解决方案。今天就随SSL盾小编…