一、什么是数据

数据(Data):描述事务的符号记录,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机

在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容,如:

  qiuxi  male    安徽  软件工程

但这样的单纯一条记录并没有任何意义,如果我们按逗号作为分隔,依次定义各个数据的含义:

id   name     sex    age  adderess  major       # 字段
qiuxi male 安徽 软件工程 # 记录

如果这样表示的话,就能够了解一个人的信息了,让别人一看就清楚了。这里被定义的各个数据的含义,就称之为字段,这条数据信息,称之为一条记录。

二、什么是数据库

  之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上。如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有什么问题。但需要考虑的问题是:程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,垂直扩展是有极限的。于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行。需要注意的是,虽然我们将程序的各个组件分布到各台机器,但各组件仍然是一个整体,言外之意,所有组件的数据还是要共享的。但每台机器上的组件都只能操作本机的文件,这就导致了数据必然不一致。于是我们想到了将数据与应用程序分离:把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件,即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理......为了远程访问并处理这台共享机器上的文件,我们必须为我们的程序额外写一段代码,完成如下功能:

# 1、远程连接
# 2、打开文件
# 3、读写(加锁)
# 4、关闭文件

我们写任何程序都需要有这段代码,于是我们提取这段代码,写成一个专门的处理软件,这就是数据库管理软件的由来,但它解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,总之,能把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

数据库(DataBase,简称DB),顾名思义就是存放数据的仓库,只不过这个仓库是在计算机存储设备上。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

三、数据库管理系统

 数据库管理系统(Database  Management System,简称DBMS)是位于用户与操作系统之间的一系列以统一的方式管理和维护数据库中数据的软件集合。它的用途是科学地组织和存储数据、高效地获取和维护数据,例如:MySQL、Oracle、DB2、SQL Server 等

MySQL 是目前最流行的关系型数据库管理系统之一,由瑞典 MySQLAB(AB,在瑞典语中表示 “股份公司”,是 “aktiebolag” 的首字母缩写)公司开发,目前属于 Oracle 公司。在 Web 应用方面,MySQL 是最好的 RDBMS(Relational Database Manasgement System,关系数据库管理系统)应用软件之一。

Oracle 是美国 Oracle 公司开发的一种适用于大型、中型和微型计算机的关系数据库管理系统。提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户端/服务器(Client/Server)或 B/S 体系结构的数据库之一。

DB2 是 IBM 公司研制出的一种关系型数据库管理系统,分别在不同的操作系统平台上服务。DB2主要应用于大型应用系统,具有较好的可伸缩性,可以支持从大型机到单用户环境,应用于OS/2、Windows等平台下。

SQL Server 是美国微软公司开发的一个关系数据库管理系统,以 T-SOL 作为其数据库查询和编程语言。SQL Server 采用二级安全验证、登录验证以及数据库用户许可验证等安全模式。

四、数据库服务器,数据库管理系统,表与记录的关系(重点理解)

  数据库说白了就是文件夹

  数据库管理系统就是一个软件

  数据库服务器:就是对外专门提供数据的一个机器

  表:student, scholl, class_list(即文件)

  数据库:lzsh_info(即文件夹)

  数据库管理系统:如MySQL(是一个软件)

  数据库服务器:一台计算机(对内存要求比较高)

总结:

  数据库服务器---运行--->数据库管理软件

  数据库管理软件--->管理--->数据库

  数据库---组织--->表,即文件夹---组织--->文件

  表---存放--->多条记录,即文件---存放--->多行内容

五、MySQL 简介

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

1、MySQL 是什么?

  MySQL 就是一个基于 socket 编写的 C/S 架构的软件

  客户端软件:

    MySQL 自带:如 mysql 命令,mysqldump 命令等

    Python 模块:如 pymysql

2、数据库管理软件分类

  关系型:如SQLite,DB2,Oracle,Access,SQL Server,MySQL,注意:SQL语句通用

  非关系型:MongoDB,Redis,Memcache

  可以简单的理解为:关系型数据库需要有表结构,非关系型数据库是key-value存储的,没有表结构

六、MySQL 的安装

1、在官网下载 MySQL5.6(https://dev.mysql.com/downloads/mysql/5.6.html#downloads),得到一个压缩包

2、将下载的压缩包解压后的整个目录放在自己喜欢的位置,我的放在 D 盘的 Program Files 下,并改名为 MySQL5.6

3、进入MySQL5.6 目录,将里面的 my-default.ini 文件复制一份,并命名为 my.ini

4、打开 my.ini 文件将里面的 basedir 前面的 # 取消(取消注释),将其值设置为我们解压后的 MySQL5.6 根目录路径;将 datadir 取消注释设置为 MySQL5.6 里的 data 目录路径,这是存放数据的路径。并且我还设置了字符编码为utf8(注意:MySQL 中的 uft8 编码中间没有横杠,不能写成 utf-8)

5、安装 MySQL 服务并启动:以管理员身份打开 cmd 窗口后,将目录切换到你解压文件的 bin 目录

再输入mysqld install 回车运行就行了

接着就是输入 net start mysql 启动服务,提示启动成功(注:MySQL5.7 以上版本默认没有 data 目录,这里会启动不成功,需要手动生成 data 目录)

MySQL5.7 生成 data 目录,执行:mysqld --initialize-insecure --user=mysql

6、打开即可登录 MySQL 数据库,还在命令模式下,将目录切换到自己的 bin 目录下。输入 mysql -uroot -p,默认是没有密码的。回车进入,root是用户名

7、配置环境变量

配置好环境变量之后,就可以直接在cmd中输入 mysql -u root -p 打开MySQL数据库,不用进入 bin 目录,当然你的服务必须启动先,不然还是不行。可以将服务设置为开机自启动(Windows 系统下 MySQL 安装后默认是自启动)

到这里 MySQL 就算是安装完成了,下面来测试一下,接着上面的命令窗口直接输入show databases; ,表示查看所有的数据库,注意不要忘了分号,在 MySQL 中表示语句的结束

再测试环境变量:关闭命令窗口,重新打开一个新的 cmd 命令窗口直接输入 mysql -u root -p 就能进入说明环境变量已经配置正确,如图:

七、为 MySQL 设置修改密码

方法1: 用 SET PASSWORD 命令 
首先登录 MySQL。 
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('000000');

方法2:用 mysqladmin 
格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 000000

方法3:用 UPDATE 直接编辑 user 表 
首先登录 MySQL。 
mysql> use mysql; 
mysql> update user set password=password('000000') where user='root' and host='localhost'; 
mysql> flush privileges;

方法4:在忘记 root 密码的时候,可以这样 
以 Windows为例: 
1. 关闭正在运行的 MySQL 服务。 
2. 打开 cmd 窗口,转到 bin 目录。 
3. 输入 mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动 MySQL 服务的时候跳过权限表认证。 
4. 再开一个 cmd 窗口(因为刚才那个窗口已经不能动了),转到 bin 目录。 
5. 输入 mysql 回车,如果成功,将出现 MySQL 提示符 >。 
6. 连接权限数据库: use mysql; 。 
6. 改密码:update user set password=password("000000") where user="root";(别忘了最后加分号) 。 
7. 刷新权限(必须步骤):flush privileges; 。 
8. 退出 quit。 
9. 注销系统,再进入,使用用户名 root 和刚才设置的新密码 000000 登录。

Learning-MySQL【1】:数据库初识及 MySQL 的安装的更多相关文章

  1. MYSQL之数据库初识、安装详解、sql语句基本操作

    目录 MYSQL之数据库初识及安装详解 1.什么是数据库? 1.什么是数据?(data) 2.什么是数据库?(databases,简称DB) 2.为什要用数据库? 3.什么是数据库管理系统?(Data ...

  2. MySQL 之数据库初识

    一 数据库概述 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的.过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用. 数据库是长期存放在计算机内.有组 ...

  3. mysql的数据库存放的路径以及安装路径

    1.简单查看路径 1.查看数据库的存放路径 进入mysql终端mysql>show variables like '%datadir%'; 2.查看文件安装路径 [root@hadoop01 e ...

  4. 数据库初识--从MySQL 出发

    要学Web 开发,也得先对数据库有所了解呀.数据库分门别类,多种多样,目前我选择了 MySQL . 看了 MySQL,觉得数据库处理也不是很难,主要就是一些对数据的处理,MySQL 主要就是一些命令的 ...

  5. mysql之数据库基本概念(mysql学习笔记一)

    数据库系统   数据库管理系统(DBMS)+数据库(DATABASE)(+数据库管理员) DBS=dbms+db 定义: 大量信息进行管理的高效解决方案,按照数据结构来组织.存储和管理数据的仓库 关系 ...

  6. scrapy 管道里面使用mysql插入数据库 python操作mysql

    # -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your pipeline to t ...

  7. Mysql 5.* 数据库备份及导入

    作者:邓聪聪 倒出数据文件 1) 导出数据和表结构: 进入数据库查看表结构 msql -u用户名 -p密码 msql -u用户名 -p密码 -S /var/lib/mysql/mysql.sock  ...

  8. Mysql:数据库导入导出

    Mysql:数据库导入导出 Mysql数据库导出 mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名 1.mysqldump是在cmd下的命令,需要在linux命令行 ...

  9. (3.15)mysql基础深入——mysql默认数据库/系统数据库

    (3.15)mysql基础深入——mysql默认数据库 关键词:Mysql默认数据库,mysql系统数据库 系统数据库的组成 一共4个 [1]information_schema(可以理解成字典表) ...

随机推荐

  1. 怎么用js实现jq的removeClass方法

    1.addClass:为指定的dom元素添加样式. 2.removeClass:删除指定dom元素的样式. 3.toggleClass:如果存在(不存在),就删除(添加)一个样式. 4.hasClas ...

  2. word-break和word-wrap的使用和区别

    问题起源: 中文是一个字就是一个单词,而英文字母要有一个空格才将他们分割为一个单词:文字换行没事,主要是英文 <!DOCTYPE html> <html> <head&g ...

  3. 如何使用onclick方式添加多个事件回调函数

    通过给onclcik包裹一个函数进行上下文的切换与参数的传递: function addClcikEvent(el, fn){ if(el.onclick){ var _back = el.oncli ...

  4. [07-01]http网页提示含义

    出现较多的一些网页代码提示的意思: 100 - 继续. 101 - 切换协议. 110 重新启动标记答复. 120 服务已就绪,在 nnn 分钟后开始. 125 数据连接已打开,正在开始传输. 150 ...

  5. Linux下Solr单机版、集群版安装与配置

    一.安装 1.需要的安装包有apache-tomcat-7.0.47.tar.gz.solr-4.10.3.tgz.tgz(jdk自行安装) 这里默认大家已经安装好jdk与tomcat,所以在这里不做 ...

  6. mysql导入数据时报错

     问题 导入数据时有时会因为数据字段大的问题导入失败. mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败. ...

  7. ORACLE——NVL()、NVL2() 函数的用法

    NVL和NVL2两个函数虽然不经常用,但是偶尔也会用到,所以了解一下. 语法: --如果表达式1为空则显示表达式2的值,如果表达式1不为空,则显示表达式1的值 NVL(表达式1,表达式2); --如果 ...

  8. [js]js栈内存的全局/私有作用域,代码预解释

    js代码如何执行的 浏览器提供执行环境: 全局作用域(提供js执行环境, 栈内存) --> 执行js需要预解释 - 带var : 提前声明 - 带function关键字的: 提前声明+定义 js ...

  9. ZooKeeper之service discovery

    Zookeeper整体介绍 ZooKeeper is a centralized service for maintaining configuration information, naming, ...

  10. linux查看cpu个数,线程数及cpu型号

    1.查看CPU逻辑id grep 'physical id' /proc/cpuinfo | sort -u physical id : 0physical id : 1 2.查看物理CPU个数 $ ...