Mysql
一、数据库是什么?
字面意思:存数据的仓库
二、为啥使用数据库?(*****)
Excel的缺点:
1.管理不了大量的数据(10w量级以上的数据)
2.不能并发操作同一个数据表格
3.数据库支持一些高级的操作:分组,连表等
三、数据库的分类(*****)
1.关系型数据库
对每一列的数据类型都有约束,ID(整型)name(字符串)等
MySQL,SqlServer,oracle,sqlite,maridb等
MySQL是用的比较多,主要是免费
SqlServer微软的,只有大学、政府用的比较多
oracle:甲骨文的,收费,金融公司(安全度高)、阿里
sqlite:小型的文件数据库,自己玩一玩
maridb:和MySQL一个人开发的
2.非关系型数据库
memcache没有解决
mongodb,文档型数据库,用的不太多,解决了掉电内存数据丢失的问题
Redis:微博使用,解决了掉电内存数据丢失的问题
用{“key”:‘value’}进行存储数据
3.关系型与非关系型区别:
关系型数据库,把数据存在硬盘中
非关系型,把数据存在内存中(速度快)
四、数据库MySQL的架构
类似于socket的客户端和服务端
流程:
1.MySQL服务端先启动,监听在某一个特定的端口(3306)
2.MySQL客户端连接服务端
3.MySQL客户端就可以发送操作命令,去操作服务端的数据。
五、数据库的安装
windows 安装:去官网找资料(学习的方法)安装,
MySQL软件官方下载地址(https://dev.mysql.com/downloads/mysql/),个人感觉下载压缩包版比下载安装包办的要好,因为安装包版的默认安装路径为系统盘,整个数据库有1.8G左右,太占系统盘存储。
1.安装步骤:
1.解压
想将数据库安装到哪个盘就将数据库解压到哪个盘(独立的一个文件夹)
2.添加环境变量
【右键计算机】–》【属性】–》【高级系统设置】–》【高级】–》(win10直接搜环境变量就可以到这一步)【环境变量】–》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
bin下面的mysql是客户端,mysqld是服务端
3.初始化
在cmd界面输入mysqld --initialize-insecure对数据库进行初始化。
4.启动MySQL服务
输入:mysqld
5.启动mysql客户端并连接到mysql服务端
输入指令:mysql -u root -p
6.将mysql服务制作成windows服务
制作MySQL的Windows服务,在终端执行此命令:
“c:\mysql-5.7.16-winx64\bin\mysqld” --install
移除MySQL的Windows服务,在终端执行此命令:
“c:\mysql-5.7.16-winx64\bin\mysqld” --remove
注意:引号内的路径是bin目录下的mysqld路径必须是绝对路径。
2.启动mysqd的两种方式:
1.启动服务cmd端输入 net start mysql
停止服务cmd端输入net stop mysql
2.如下图,在计算机的计算机管理里面手动进行启动、停止、重启服务端!
以上是5.6、5.7版本安装的全部过程。
3.密码的修改操作
在上面的流程走完之后软件的root权限密码默认为空,第一次修改密码时输入下面指令(在cmd窗口,管理员身份运行cmd,在cmd下输入,不是在mysql下输入):
mysqladmin -uroot -p password “要设置的密码”
第二次以及以后修改密码则输入下面的指令
mysqladmin -uroot -p"原密码" password “新密码”
4.如果密码忘掉了,修改密码方法:
1)5.6版本mysql修改密码方法
1 关闭正在运行的MySQL服务。 2 打开DOS窗口,转到mysql\bin目录。 3 输入mysqld --skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 5 输入mysql回车,如果成功,将出现MySQL提示符 >。 连接权限数据库: use mysql; 。 6 改密码:update user set password=password(“123”) where user=“root”;(别忘了最后加分号) 。 7 刷新权限(必须步骤):flush privileges; 。 8 退出 quit。 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
2)5.7版本
1 关闭mysqld的服务 2 在cmd中执行:mysqld --skip-grant-tables =》 不用密码就可以登录,绕过密码验证的权限 3 在cmd中执行:mysql =》 mysql -uroot -p 4 执行如下sql指令: (特别注意,此处5.7版本与5.6不一样)update mysql.user set authentication_string=password(‘’) where user = ‘root’;
5 flush privileges; (一定要操作) 6 重新启动mysql服务
六、初识Mysql
SQL指令
1)操作数据库
查看当前用户: select user();
数据库的命名规范:
可由字母、数字、下划线、@、#、$组成,区分大小写,不能使用关键字如create 、select等,不能单独使用数字,最长不能超过128位
增 create database 数据库名称 charset utf8;
删 drop database 数据库名称;
改:先删除再添加,如果数据库有数据的话,直接drop会导致数据库中的数据丢失,在线上环境,不能够直接删除数据,在删除数据之前需要先进行备份
查 show databases;
使用数据库 use 数据库名;
确定当前使用的数据库: select database();
查看所有用户权限
select * from mysql.user\G;
查看某个用户的权限
select * from mysql.db where user=‘用户名’\G; 用户信息存放在一个名为mysql.user的表里
se 数据库名;
确定当前使用的数据库: select database();
查看所有用户权限
select * from mysql.user\G;
查看某个用户的权限
select * from mysql.db where user=‘用户名’\G; 用户信息存放在一个名为mysql.user的表里
select user,password,host from mysql.user;
根据以上网络安全技能表不难看出,网络安全需要接触的技术还远远很多,常见的技能需要学习:外围打点能力、钓鱼远控能力、域渗透能力、流量分析能力、漏洞挖掘能力、代码审计能力等。
【----帮助网安学习,以下所有学习资料免费领!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
03网络安全的知识多而杂,怎么科学合理安排?
一、基础阶段
★中华人民共和国网络安全法 (包含18个知识点)
★Linux操作系统 (包含16个知识点)
★计算机网络 (包含12个知识点)
★SHELL (包含14个知识点)
★HTML/CSS (包含44个知识点)
★JavaScript (包含41个知识点)
★PHP入门 (包含12个知识点)
★MySQL数据库 (包含30个知识点)
★Python (包含18个知识点)
————————————————
入门的第一步是系统化的学习计算机基础知识,也就是学习以下这几个基础知识模块:操作系统、协议/网络、数据库、开发语言、常用漏洞原理。前面的基础知识学完之后,就要进行实操了。
因为互联网与信息化的普及网站系统对外的业务比较多,而且程序员的水平参差不齐和运维人员的配置事物,所以需要掌握的内容比较多。
二、渗透阶段
■SQL注入的渗透与防御(包含36个知识点)
■XSS相关渗透与防御(包含12个知识点)
■上传验证渗透与防御(包含16个知识点)
■|文件包含渗透与防御(包含12个知识点)
■CSRF渗透与防御(包含7个知识点)
■SSRF渗透与防御(包含6个知识点)
■XXE渗透与防御(包含5个知识点)
■远程代码执行渗透与防御(包含7个知识点)
■…(包含…个知识点)
————————————————
掌握常见漏洞的原理、使用、防御等知识。Web渗透阶段还是需要掌握一些必要的工具。
主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;
三、安全管理(提升)
★渗透报告编写(包含21个知识点)
★等级保护2.0(包含50个知识点)
★应急响应(包含5个知识点)
★代码审计(包含8个知识点)
★风险评估(包含11个知识点)
★安全巡检(包含12个知识点)
★数据安全(包含25个知识点)
————————————————
主要包括渗透报告编写、网络安全等级保护的定级、应急响应、代码审计、风险评估、安全巡检、数据安全、法律法规汇编等。
这一阶段主要针对已经从事网络安全相关工作需要提升进阶成管理层的岗位。如果你只学习参加工程师方面的岗位,这一阶段可学可不学。
四、提升阶段(提升)
■密码学(包含34个知识点)
■JavaSE入门(包含92个知识点)
■C语言(包含140个知识点)
■C++语言(包含181个知识点)
■Windows逆向(包含46个知识点)
■CTF夺旗赛(包含36个知识点)
■Android逆向(包含40个知识点)
————————————————
主要包括密码学、JavaSE、C语言、C++、Windows逆向、CTF夺旗赛、Android逆向等。
主要针对已经从事网络安全相关工作需要提升进阶安全架构需要提升的知识。
【----帮助网安学习,以下所有学习资料免费领!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
结语
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。给自学的小伙伴们的意见是坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果