MySql 简介

发布于:2023-01-18 ⋅ 阅读:(239) ⋅ 点赞:(0)

目录

数据存取演变历史

数据库软件应用史

数据库的本质

数据库的分类

1.关系型数据库

关系型数据库有哪些?

2. 非关系型数据库

非关系型数据库有哪些?

MySQL简介

基本使用

系统服务制作

密码相关操作

SQL与NoSQL

数据库的概念


数据存取演变历史

1.文本文件

        文件路径 和 数据格式可能不一样

2.软件开发目录规范

           规定了数据文件的存储位置>>>db文件夹, 但是数据格式还是没有完全统一

3.数据库服务

         统一了存取位置, 也统一了数据格式

数据库软件应用史

单机游戏时代:

        不同计算机上的相同程序, 数据无法共享, 数据库服务全在本地完成

网络游戏时代:

        不同计算机上的相同程序, 数据可以共享. 数据库服务单独在网络架设(远程数据库服务)

远程数据库服务: 数据库集群:

1.数据安全性问题

2.服务器负载问题

让多台服务器运行相同的数据库服务

数据库的本质

底层原理角度看数据库:

        数据库指的是用于操作数据的进程 [运行在内存中的代码]

现实应用角度看数据库:

        数据库指的是拥有操作界面的应用程序 [用于操作进程的界面]

一般情况下我们讲的都是数据库软件

数据库软件本质上也是一款款CS架构的应用程序 >>> 理论上所有的程序员都可以编写

数据库的分类

1.关系型数据库

        1.1 数据的组织方式有明确的表结构

                id   name   pwd

                关系型数据库存取数据库的方式可以看成是表格

        1.2 表与表之间可以建立数据库层面的关系

                用户表   房屋表

                >>> 只要获取到用户表的一条数据就可以获取到与之相关的其他表数据

关系型数据库有哪些?

MySQL, PostgreSql, MariaDB,Oracle,squlite,db2,sql server

MySQL: 是一款开源型数据库, 使用最为广泛,

PostgreSQL: 开源型数据库, 支持二次开发

MariaDB: 开源型数据库, 与MySQL是同一个作者, 用法也极其相似

Oracle: 收费软件, 安全性极高, 主要用于银行及各大重要机构

sqlite: 小型数据库, 主要用于本地测试 , django框架自带该数据库

2. 非关系型数据库

        2.1 数据的组织方式没有明确的表结构, 是以K:V键值对的形式组织的

        {'name':'lili'}      {'username':'kevin','pwd':123}

        2.2 数据之间无法直接建立数据库层面的关系

非关系型数据库有哪些?

redis, mongoDB,memcache 

redis: 目前最火,使用频率最高的缓存型数据库

mongoDB: 稳定性数据库, 最像关系型的非关系型数据库, 用于爬虫, 大数据

Memcache : 已经被redis淘汰

MySQL简介

1. 版本问题;

        5.6x是之前使用频率最高的版本

        5.7x是尝试迁移的版本

        8.0x是最新版本, 本地用得较多, 线上环境几乎不用

""" 操作几乎没有区别, 主要体现在底层运作上不一样"""

2. 下载与安装

  详情参见: MySQL 安装使用 - Yietong - 博客园

基本使用

1. 先启动服务端

        可能会报错, 拷贝关键信息去百度

2.查找MySQL文件位置

        mysql  cmd窗口就是服务端, 不要关闭

3.再次开启新的cmd窗口

         mysql  直接回车会议游客模式进入, 功能较少

4. 用户名密码登录

        mysql -u 用户名 -p 密码

>>>>mysql默认管理员账户  用户名是root, 密码是空

5. 退出 

        exit  /  quit 

系统服务制作

1. 添加环境变量

        环境变量的添加方式参见:python,pycharm 的环境变量设置_Yietong309的博客-CSDN博客_pycharm环境变量配置

2. 将mysql服务端制作成系统服务(开机自启动)

        2.1 以管理员身份打开cmd窗口

        2.2 执行系统服务命令  >>> mysql   --  install

        2.3 启动服务端

                2.3.1 右键直接点启动

                2.3.2 命令启动  >>>  net start mysql

查看系统服务的命令  >>> services.msc

关闭mysql服务端   >>>>  net stop mysql

移除系统服务  >>>> 1. 先确保服务已经关闭   2. 执行移除命令 >>>  mysqld  -- remove

密码相关操作

1.修改密码

        mysqladmin命令

                通用方式; 直接在cmd中写  >>> mysqladmin -u用户名 -p原密码 password 新密码

                第一次修改  >>>  mysqladmin  -u root -p password 123

                第二次修改  >>>  mysqladmin  -u root -p123 password 321

        偏门方式(有些版本无法使用):  # 需要先登录
                 set password=PASSWORD(新密码);

2. 忘记密码:

        直接重装/拷贝对应文件,  先关闭服务端, 然后以不用校验用户身份的方式启动, 进行修改 最后安装正常的方式启动

        2.1 net stop mysql

        2.2 mysqld  -- skip-grant-tables

        2.3 mysql -uroot -p

        2.4 update mysql.user set password = password(123) where Host= 'localhost' and User = 'root';

        2.5 net stop mysql 

        2.6 net start mysql

SQL与NoSQL

数据库的服务端支持各种语言充当客户端

 以MySQL服务端为例

   MySQL客户端,python代码编写的客户端,Java代码编写的客户端

 为了能够兼容所有类型的客户端, 有两种策略

1. 服务端兼容  >>>> 不合理, 这种方式比较消耗数据库服务端资源

2. 指定统一标准  >> SOL语句 , NoSQL语句

SQL 语句是操作关系型数据库的语法    >>>>  有时候也用来表示关系型数据库

NoSQL语句是操做非关系型数据库的语法    >>>>  有时候也用来表示非关系型数据库

数据库的概念

为了方便理解, 我们为数据库和文件做了一个对应关系

库>>>> 文件夹

表>>>> 文件夹里的文件

记录>>>> 文件里的一行行数据


网站公告

今日签到

点亮在社区的每一天
去签到