MySQL简介及安装

1.1 为什么学习数据库?

  1. 岗位需求

  2. 现在的世界是大数据时代,得数据者得天下。

  3. 被迫需求:存数据

  4. 数据库是所有软件体系中最核心的存在

    DBA:数据库管理员

1.2 什么是数据库?

  数据库(DB,DataBase)

  概念:数据仓库,软件,安装在操作系统(windows、Linux、Mac...)之上!

  MySQL实际要学的还是SQL,它可以存储大量的数据,超过500万后速度降低。

  作用:存储数据,管理数据

1.3 数据库分类

1.3.1 关系型数据库SQL

  SQL语言,是结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

  SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

  结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

1.3.2 SQL从功能上可以分为3部分:数据定义、数据操纵和数据控制。

  (1)SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。

  (2)SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。

  (3)SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。

1.3.3 结构化查询语言包含6个部分

  (1)数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。

  (2)数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。

  (3)事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。

  (4)数据控制语言(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

  (5)数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREATE TABLE 或 DROP TABLE);为表加入索引等。

  (6)指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

1.3.4 语言特点

  (1)SQL风格统一

  SQL可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据、建立数据库、査询、更新、维护、数据库重构、数据库安全性控制等一系列操作,这就为数据库应用系统开发提供了良好的环境,在数据库投入运行后,还可根据需要随时逐步修改模式,且不影响数据库的运行,从而使系统具有良好的可扩充性。

  (2)高度非过程化

  非关系数据模型的数据操纵语言是面向过程的语言,用其完成用户请求时,必须指定存取路径。而用SQL进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,因此用户无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。

  (3)面向集合的操作方式

  SQL采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

  (4)以同一种语法结构提供两种使用方式 SQL既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接输入SQL命令对数据库进行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言(如C、C#、JAVA)程序中,供程序员 设计程序时使用。而在两种不同的使用方式下,SQL的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的操作方式,为用户提供了极大的灵活性与方便性。

  (5)语言简洁,易学易用

  SQL功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词:CREATE、ALTER、DROP、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE。且SQL语言语法简单,接近英语口语,因此容易学习,也容易使用。

  举例:MySQL,Oracle,Sql Server,DB2,SQLite等

  通过表与表之间、行与列之间的关系进行数据的存储。

1.3.2 非关系型数据库:NoSQL(Not Only)

  举例:Redis,MongoDB等

  非关系型数据库,对象存储,通过对象的自身属性来决定。

1.3.3 DSMS(数据库管理系统)

  数据库管理的软件,可以科学有效的管理我们的数据,维护和获取数据;

  MySQL就是一个数据管理系统!

1.4 MySQL简介

MySQL是一个关系型数据库管理系统!

前身:瑞典MySQL AB公司

现在:属于Oracle旗下产品

官网https://www.mysql.com

下载地址https://dev.mysql.com/downloads/mysql/

网盘下载地址:https://pan.baidu.com/s/1prPSmOp_xczQY5RFavKo-g 提取码:0cm3

MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。

优点:开源的数据库软件,体积小、速度快、总体拥有成本低--->导致招人成本比较低,所有人必须会。

应用场合:适用于大中小型网站,可集群开发!

1.5 安装MySQL

安装建议:

  1. 尽量不要使用exe安装,会生成注册表

  2. 尽可能使用压缩包安装

安装教程参考

  狂神说Java:https://www.cnblogs.com/hellokuangshen/p/10242958.html

  MySQL——简介和安装 - Godlesss - 博客园 https://www.cnblogs.com/godles/p/12202175.html

安装步骤如下:

1.下载MySQL5.7版本64位的安装包

  下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip,下载完成后解压,文件内容如下所示:

2.把解压好的安装包放在自己电脑的安装目录下

  可以把文件名后面的“-winx64”删除,只保留“mysql-5.7.19”。

3.配置环境变量

  以Windows7系统为例,找到系统环境变量,在系统变量中,编辑Path,打开后先在前面加一个“;”(英文状态),在后面加上mysql的bin文件路径,后面不用再加“;”了,修改完成后,点击确定。

bin路径如下

4.在mysql安装目录下,新建mysql配置文件my.ini

配置文件内容如下:

  [mysqld]

  basedir=**D:\Environment\mysql-5.7.19**\

  datadir=**D:\Environment\mysql-5.7.19**\data\

  port=3306

  skip-grant-tables

 注意
  • 目录一定要换成自己的安装目录,且其它严格按照上述内容输入,输入错误会导致接下来一系列的问题;
  • 此处的data文件不用管安装目录下有没有,因为这个目录初始化mysql数据库后生成的,里面包含初始化信息;
  • 不要自己新建一个data文件放在安装目录下,否则初始化mysql数据库时会提示文件已存在;
  • port=3306为MySQL默认端口号;
  • skip-grant-tables是跳过输入密码,后续会添加密码,这行内容会被注释掉。

5.启动管理员模式下的cmd,运行所有的命令

  Windows7下cmd的位置:所有文件---附件---命令提示符---右键---以管理员身份运行(打开的命令提示符窗口标题前面会加上“管理员”),接下来就在此页面进行命令输入,点击边框,右键属性,可调整该窗口大小、文字大小等。

a.将路径切换到mysql安装目录下的bin目录:cd /d D:\Software_Development\mysql-5.7.19\bin

b.安装mysql服务:mysqld -install

安装成功后提示:Service successfully installed.

c.初始化数据库文件:mysqld --initialize-insecure --user=mysql

  初始化成功后,在mysql安装目录下多出来一个data文件夹(后续操作的数据文件都存在这里),data内容如下:

  注意:检查一下文件是否都有,缺少文件可能导致MySQL启动不成功!

d.启动mysql:net start mysql

D:\Software_Development\mysql-5.7.19\bin>net start mysql 请求的服务已经启动。

请键入 NET HELPMSG 2182 以获得更多的帮助。

注意:只有启动成功才能进行mysql管理界面!!!

d.进入mysql管理界面(密码可为空):mysql -u root -p,此处的mysql对应bin下的mysql.exe

注意:-p后面没有空格,多加或报错

此处先不输入密码,按回车即可。

D:\Software_Development\mysql-5.7.19\bin>mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

e.进入界面后更改root密码:设置密码为:123456

  注意:命令最后要加“;”

update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost';

f.刷新权限:flush privileges;

  注意:此处最后也要加“;”

6.修改my.ini文件的最后skip-grant-tables

  添加注释:# skip-grant-tables

  以后每次进入MySQL数据库要输入正确密码才能进入!!!

7.重启mysql,即可正常使用

  退出:exit

mysql> exit Bye

  启动mysql:net start mysql

  停止mysql:net stop mysql

  再次进入mysql管理界面时,mysql -u root -p,回车,要输入上面设置的密码(如:123456),输入的密码会变为**,否则会报错。

  也可直接输入密码进入,但这样不安全:

  出现上面的页面就表示连接成功了!

可能出现的问题

  • 缺少组件.dll:MySQL需要的vc环境.exe
  • 命令输错,重新输入
  • sc delete mysql , 清空mysql服务,然后再次重新安装,轻易不要这么做!!!

注意:bin>与mysql>两个路径不一样,输入的内容也不一样,注意区别。

posted @ 2021-06-02 17:22  Coder_Cui  阅读(230)  评论(0编辑  收藏  举报