开始今日份整理

1. 数据库介绍

1.1 数据库定义

数据库是一个由一批分明别类的数据构成的有序集合,这个集合通常被保存为一个或多彼此相关的文件,我们可以理解为,数据库就是一种特殊的文件,其中存储着我们需要的数据。

使用数据库的好处

  • 持久化存储
  • 读写速度极高
  • 保证数据的有效性
  • 对程序的支持性非常好,容易扩展

1.2 数据库类型

数据库主要分为关系型数据库以及非关系型数据库。

1.2.1 关系型数据库(RDBMS)

RDBMS既关系型数据库管理系统(Relational Database Management System)

主要的软件:MySQL 、Oracle、 Sql Server

定义:数据库里面的数据全部存在数据表这种弄,而这些表在存储的过程中,各自之间有内在的联系,因为这种联系,我们称这样的数据库叫”关系型数据库”。

优点:

  • 容易理解,二维表的结构
  • 使用方便,使用SQL语言使得操作关系型的数据库非常方便,便于复杂的查询
  • 支持事物等复杂的数据操作功能

1.2.2 非关系型数据库(NoSQL)

NoSQL:不仅仅是是SQL

主要软件:MongoDB、Redis

优点:

  • 数据之间无联系,容易扩展
  • 结构简单,具有非常高的读写性能,在大数据量下,同样表现优秀
  • 无需事先建立字段,随时可以存储自定义的数据格式

1.3 关系型数据库核心元素

  • 数据行(记录)
  • 数据列(字段)
  • 数据表(数据行的集合)----自定义为文件夹下的文件
  • 数据库(数据表的集合)----自定义为电脑中的文件夹

例:一个学生表(表,字段,列,行)

2. MySQL的安装以及设定

2.1 MySQL的基本介绍

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般网站软件的开发都选择 MySQL 作为网站数据库。MySQL是一种客户端/服务器端(C/S)的软件,我们要学会如何如何安装服务器端的MySQL,还需要学会如何利用客户端工具操作MySQL数据,常用的客户端工具有: 命令行、pycharm-database、Navicat等

官网:https://www.mysql.com/

下载:https://dev.mysql.com/downloads/windows

2.2 MySQL的设定

2.2.1 windows平台下的密码破解

方式一

#1 关闭mysql
#2 在cmd中执行:mysqld --skip-grant-tables
#3 在cmd中执行:mysql
#4 执行如下sql:
update mysql.user set authentication_string=password('') where user = 'root';
flush privileges; #5 tskill mysqld #或taskkill -f /PID 7832
#6 重新启动mysql

方式二

#1. 关闭mysql,可以用tskill mysqld将其杀死
#2. 在解压目录下,新建mysql配置文件my.ini
#3. my.ini内容,指定
[mysqld]
skip-grant-tables #4.启动mysqld
#5.在cmd里直接输入mysql登录,然后操作
update mysql.user set authentication_string=password('') where user='root and host='localhost'; flush privileges; #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了

希望自己永远不要用到这俩种方式。。。。

2.2.2 linux平台下的密码破解

方法一:删除授权库mysql,重新初始化

[root@egon ~]# rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql

方法二:启动时,跳过授权库

[root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
[mysqld]
skip-grant-table
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql
MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> \q
[root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql -u root -p123 #以新密码登录

2.2.3 统一字符编码

强调:配置文件中的注释可以有中文,但是配置项中不能出现中文

#1. 修改配置文件
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8 #mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8 #2. 重启服务
#3. 查看修改结果:
\s
show variables like '%char%'

在sql中统一字符编码还是有必要的!!!

ok

MySQL学习-预备知识的更多相关文章

  1. MySQL学习基础知识1

    什么是数据库? 数据库就是存储数据的仓库. 存储方式: 变量 无法永久存储 文件处理,可以永久存储,弊端:文件只能在自己的计算机读写,无法被分享(局域网除外) 数据库分类: 1.关系型数据库 提供某种 ...

  2. WEB框架-Django框架学习-预备知识

    今日份整理,终于开始整个阶段学习的后期了,今日开始学习Django的框架,加油,你是最胖的! 1.web基础知识 1.1 web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是 ...

  3. mysql学习基础知识3

    1.视图 简化sql语句的编写,限制可以查看的数据 一张虚拟的表,不占任何内存,查视图时都是临时从所查的表中拿数据 特点: 对于视图的增删改查 都会同步到原始表 对原始表的修改,会同步到视图内可查看的 ...

  4. MySQL学习基础知识2

    1.基础语句 查 select(* | 字段名 | 四则运算 | 聚合函数) from 表名称; 加上as取别名 as可省略 如:select name, (math+english)/2 total ...

  5. 域渗透学习预备知识-IPC$的入侵防御

    一.什么是IPC$ 以下段落引文自:http://www.xfocus.net/articles/200303/493.html IPC$(Internet Process Connection)是共 ...

  6. Java NIO学习-预备知识

    java NIO加入了Channels.Buffers.Selector.通过他们可以为java的io添加非阻塞IO. 一.对于经典java IO库 1.除了Buffered开头的类,其他均没有加缓冲 ...

  7. 1、C++学习预备知识

    C++在C语言面向过程的编程的基础上增加了类代表的面向对象编程和模板支持的泛型编程. 过程性编程强调的是,算法的过程性,OOP(面向对象编程)强调的是数据,试图让语言来满足问题的要求.其理念是设计与问 ...

  8. Django-DRF组件学习-预备知识

    1.web开发应用模式 在开发Web应用中,有两种应用模式: 1.1 前后端不分离 所谓的前后端不分离,就是前后端数据都在同一个服务器中,前端的样式以及页面渲染都由后端一次性渲染出来在前端浏览器中展示 ...

  9. 受限玻尔兹曼机(RBM)学习笔记(一)预备知识

    去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算法原 ...

随机推荐

  1. HTTP/1.1-HTTP/2.0-HTTP/3.0-HTTPS

    HTTP/1.1 网上关于HTTP/1.1的讨论多是基于RFC2616文档,而IETF已更新了HTTP/1.1并将其分为六个部分,使协议变得更简单易懂,对老版本RFC2616中模糊不清的部分做了解释 ...

  2. 前端每日实战:136# 视频演示如何用 D3 和 GSAP 创作一个横条 loader

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/pOZKWJ 可交互视频 此视频是可 ...

  3. pymysql ,主键, 索引

    目录 一.pymysql模块的使用 1. 安装pymysql 2. 连接MySQL 3. sql注入问题 二.索引 1. 什么是索引 2. 索引有什么用 3. 索引的底层原理 4. 主键 5. MyS ...

  4. apk反编译(仅供娱乐)

    第一个文件夹里面放apk,第二个解析classes.dex,第三个查看java代码,下面三个apktool用来解析apk文件, 记得在环境变量中配置apktool,路径为apktool所在路径 1.解 ...

  5. Trie树简介

    Trie树, 即字典树, 又称单词查找树或键树, 多叉树 基本性质 根节点不包含字符,除根节点外每一个节点都只包含一个字符 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串 每个节点 ...

  6. EventArgs

    序言 DataEventArgs<DataSet> arg = new DataEventArgs<DataSet>(ds); 事件总线 什么是事件总线 我们知道事件是由一个P ...

  7. String,Integer,int类型之间的相互转换

    String, Integer, int 三种类型之间可以两两进行转换 1. 基本数据类型到包装数据类型的转换 int -> Integer (两种方法) Integer it1 = new I ...

  8. Codeforces 912D Fishs ( 贪心 && 概率期望 && 优先队列 )

    题意 : 给出一个 N * M 的网格,然后给你 K 条鱼给你放置,现有规格为 r * r 的渔网,问你如果渔网随意放置去捕捞小鱼的情况下,捕到的最大期望值是多少? 分析 :  有一个很直观的想法就是 ...

  9. 论文阅读:FlexGate: High-performance Heterogeneous Gateway in Data Centers

    摘要: 大型数据中心通过边界上的网关对每个传入的数据包执行一系列的网络功能,例如,ACL被部署来阻止不合格的流量,而速率限制被用于防止供应商过度使用带宽,但是由于流量的规模巨大,给网关的设计和部署带来 ...

  10. 配置kubernetes.client的参数遇到的坑

    配置kubernetes.client遇到的一些坑: 一,job-name不能重名,如果job-name已经有了,再创建job,则会发生冲突cliflict 这样将会报以下错误:Reason : Co ...