mysql 8.0.15 安装图文教程及数据库基础

 更新时间:2019年03月24日 09:56:50   作者:SsunTtaoauto   我要评论
这篇文章主要为大家详细介绍了mysql 8.0.15 安装方法图文教程,及数据库基础知识,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

MySQL软件安装及数据库基础,供大家参考,具体内容如下

一、任务

任务一

MySQL 软件安装及数据库基础

任务时间

请于2月26日22:00前完成,在本文章评论打卡。逾期尚未打卡的会被清退。

学习内容

1.软件安装及服务器设置

   教程 MySQL 安装 | 菜鸟教程

2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL

   星球提供Navicat for SQL
   简易步骤:
      解压缩文件,复制key
      打开文件夹中的navicat.exe
      用户名随意,输入key,然后连接数据库
      输入密码,连接名改成自己喜欢的
      剩下的自己探索,怎么在navicat中创建数据库、表等等

3.数据库基础知识

   数据库定义
   关系型数据库
   二维表
   行
   列
   主键
   外键

4.MySQL数据库管理系统

   数据库
   数据表
   视图
   存储过程

二、软件安装及服务器设置

系统环境:win10 家庭版

2.1 MySQL安装

2.1.1 在MySQL官网 下载 Windows 版本的 MySQL 安装包

地址为:MySQL下载

点击下载Download后会弹出以下界面,点击 No thanks, just start my download

2.1.2 下载完后解压,将 zip 包解压到你想安装的目录,我的路径如下所示:

2.1.3 配置环境变量:

进入 计算机—属性—高级系统设置—环境变量,添加MySQL解压的路径。


2.1.4 接下来配置 MySQL 的配置文件

打开刚刚解压的文件夹 D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64 ,创建一个配置文件为 my.ini,编辑 my.ini 配置以下基本信息:

[mysql]
default-character-set=utf8

[mysqld]
port = 3306
basedir=D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64
datadir=D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\data
character-set-server=utf8
default-storage-engine=INNODB


1.接下来我们来启动下 MySQL 数据库:
管理员身份打开 cmd 命令行工具,切换目录:

D:
cd D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin

输入初始化命令:

mysqld --initialize-insecure --user=mysql 

在D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin目录下生成data目录

启动输入以下命令即可:

net start mysql

这证明已经连接成功。

2.2 MySQL 重置密码

2.2.1 登录MySQL

输入:

mysql -u root -p

因为之前没设置密码,所以密码为空,直接回车即可:


2.2.2 查询用户密码

查询用户密码命令:

mysql> select host,user,authentication_string from mysql.user;

host: 允许用户登录的ip;
user:当前数据库的用户名;
authentication_string: 用户密码;
如果没密码, root 这一行应该是空的。


2.2.3 设置(或修改)root用户密码:

注意:在MySQL 5.7.9以后废弃了password字段和password()函数

一定不要采取如下形式设置密码:

use mysql; 
update user set authentication_string="newpassword" where user="root";

这样会给user表中root用户的authentication_string字段下设置了newpassword值;

正确修改root密码的步骤为:

1.如果当前root用户authentication_string字段下有内容,先将其设置为空,没有就跳到步骤 2。

use mysql; 
update user set authentication_string='' where user='root'

2.使用ALTER修改root用户密码,方法为:

use mysql;
ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

到此为止自己创建的本地MySQL创建完毕!!!
重新连接即可!!!

三、使用图形界面软件 Navicat for SQL

Navicat for SQL安装包已存百度网盘:navicat+for+mysql10.0.11简体中文

1.解压缩文件,复制key
2.打开文件夹中的navicat.exe
3.用户名随意,输入key,然后连接数据库
4.输入密码(之前如果MySQL重新设置过密码,那这里就填新设置的密码就好),连接名改成自己喜欢的

出现的问题: 这里连接出现失败,如图

解决方案:

这里的问题其实MySQL在之前设置密码时所用的加密方式ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';为强加密,就会出现连接失败的情况;如果使用第二种加密方式ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '新密码';,就可以直接连上了。

成功连接!!!

到此,所需软件的安装及环境配置工作全部完成,可以开心的遨游MySQL的世界啦~~

四、数据库基础知识

4.1 数据库(database)定义

以《SQL必知必会(第4版) 》这本书来说,从 SQL的角度来看,数据库是一个以某种有组织的方式存储的数据集合,是保存有组织的数据的容器(通常是一个文件或一组文件)。

注意: 人们通常用数据库这个术语来代表他们使用的数据库软件, 这是不正确的,也因此产生了许多混淆。确切地说,数据库软件应称为数据库管理系统(DBMS)。数据库是通过 DBMS创建和操纵的容器,而具体它究竟是什么,形式如何,各种数据库都不一样。

4.2 关系型数据库


关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。

优点:

1.易于维护:都是使用表结构,格式一致;
2.使用方便:SQL语言通用,可用于复杂查询;
3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

4.读写性能比较差,尤其是海量数据的高效率读写;
5.固定的表结构,灵活度稍欠;
6.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

4.3 二维表

是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、 产品目录,或者其他信息清单。表是某种特定类型数据的结构化清单

存储在表中的数据是同一种类型的数据或清单。决不应该将顾客的清单与订单的清单存储在同一个数据库表中,否则以后的检索和访问会很困难。 应该创建两个表,每个清单一个表。

数据库中的每个表都有一个名字来标识自己。 这个名字是唯一的,即数据库中没有其他表具有相同的名字。 虽然在相同数据库不能两次使用相同的表名,但在不同的数据库中完全可以使用相同的表名。

模式可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)。模式是关于数据库和表的布局特性的信息。

4.4 行

表中的数据是按行存储的,所保存的每个记录存储在自己的行内。

你可能听到用户在提到时称其为数据库记录(record)。 这两个术语多半是可以交替使用的,但从技术上说,才是正确的术语。

4.5 列

表由组成。列存储表中某部分的信息。列是表中的一个字段。所有表都是由一个或多个列组成的。

数据库中每个列都有相应的数据类型。数据类型(datatype)定义了列可以存储哪些数据种类。数据类型限定了可存储在列中的数据种类(例如,防止在数值字段中录入字符值)。

数据类型及其名称是SQL不兼容的一个主要原因。

4.6 主键

表中每一行都应该有一列(或几列)可以唯一标识自己。 顾客表可以使用顾客编号,而订单表可以使用订单 ID。雇员表可以使用雇员 ID或雇员社会安全号。

主键(primary key) 是一列(或一组列),其值能够唯一标识表中每一行。没有主键,更新或删除表中特定行就极为困难,因为你不能保证操作只涉及相关的行。

提示: 应该总是定义主键
虽然并不总是需要主键,但多数数据库设计者都会保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理。

表中的任何列都可以作为主键,只要它满足以下条件:

  • 任意两行都不具有相同的主键值;
  • 每一行都必须具有一个主键值(主键列不允许 NULL值);
  • 主键列中的值不允许修改或更新;
  • 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

主键通常定义在表的一列上,但并不是必需这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

4.7 外键

外键是表中的一列,其值必须列在另一表的主键中。外键是保证引用完整性的极其重要部分。

外键有助防止意外删除。在定义外键后, DBMS不允许删除在另一个表中具有关联行的行。例如,不能删除关联订单的顾客。 删除该顾客的唯一方法是首先删除相关的订单(这表示还要删除相关的订单项)。由于需要一系列的删除,因而利用外键可以防止意外删除数据。

五、MySQL数据库管理系统

5.1 数据库(Database,简称DB)

数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。

5.2 数据表(table)

数据表是关系数据库中一个非常重要的对象,是其它对象的基础,也是一系列二维数组的集合,用来存储、操作数据的逻辑结构。

根据信息的分类情况,一个数据库中可能包含若干个数据表,每张表是由组成,记录一条数据,数据表就增加一行,每一列是由字段名字段数据集合组成,被称之为字段,每一列还有自己的多个属性,例如是否允许为空、默认值、长度、类型、存储编码、注释等。

5.3 数据库系统有3个主要的组成部分

1.数据库(Database System):用于存储数据的地方。
2.数据库管理系统(Database Management System,DBMS):用户管理数据库的软件。
3.数据库应用程序(Database Application):为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

5.4 视图

视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

如下两种场景一般会使用到视图:

不希望访问者获取整个表的信息,只暴露部分字段给访问者,所以就建一个虚表,就是视图。
查询的数据来源于不同的表,而查询者希望以统一的方式查询,这样也可以建立一个视图,把多个表查询结果联合起来,查询者只需要直接从视图中获取数据,不必考虑数据来源于不同表所带来的差异。

注意: 这个视图是在数据库中创建的,而不是用代码创建的。

5.5 存储过程(Stored Procedure)

MySQL 5.0 版本开始支持存储过程。

存储过程就是为以后使用而保存的一条或多条 SQL语句。可将其视为批文件,虽然它们的作用不仅限于批处理。存储过程是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用

优点:

  • 存储过程可封装,并隐藏复杂的商业逻辑。
  • 存储过程可以回传值,并可以接受参数。
  • 存储过程无法使用 SELECT 指令来运行,因为它是子程序,与查看表,数据表或用户定义函数不同。
  • 存储过程可以用在数据检验,强制实行商业逻辑等。

缺点:

  • 存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
  • 存储过程的性能调校与撰写,受限于各种数据库系统。

精彩专题分享:

mysql不同版本安装教程

mysql5.7各版本安装教程

mysql5.6各版本安装教程

mysql8.0各版本安装教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • mysql修改开启允许远程连接的方法

    mysql修改开启允许远程连接的方法

    这篇文章主要为大家详细介绍了mysql修改开启允许远程连接的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • MySQL全局锁和表锁的深入理解

    MySQL全局锁和表锁的深入理解

    这篇文章主要给大家介绍了关于MySQL全局锁和表锁的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Mysql数据库之sql基本语句小结

    Mysql数据库之sql基本语句小结

    这篇文章主要介绍了Mysql数据库之sql基本语句,结合实例形式总结分析了MySQL数据库连接、登录、查看以及数据库、数据表等常见操作技巧,需要的朋友可以参考下
    2019-11-11
  • MySQL 查询速度慢与性能差的原因与解决方法

    MySQL 查询速度慢与性能差的原因与解决方法

    随着网站数据量与访问量的增加,MySQL 查询速度慢与性能差的问题就日渐明显,这里为大家分享一下解决方法,需要的朋友可以参考下
    2019-09-09
  • 对比分析MySQL语句中的IN 和Exists

    对比分析MySQL语句中的IN 和Exists

    mysql中in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。
    2018-06-06
  • MySQL数据类型varchar详解

    MySQL数据类型varchar详解

    这篇文章详细介绍了MySQL数据类型varchar,探讨varchar到底能存多长的数据、InnoDB和MyISAM中的varchar等问题,需要的朋友可以参考下
    2014-03-03
  • MySQL常用命令 MySQL处理数据库和表的命令

    MySQL常用命令 MySQL处理数据库和表的命令

    这篇文章主要介绍了MySQL常用命令,尤其是针对MySQL处理数据库和表的命令进行学习,特别适用于新手,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • MySQL的主从复制步骤详解及常见错误解决方法

    MySQL的主从复制步骤详解及常见错误解决方法

    这篇文章主要介绍了MySQL的主从复制步骤详解及常见错误解决方法,文中主张同步时跳过临时错误,并对Slave_IO_Running: No错误的解决给出了方案,需要的朋友可以参考下
    2016-02-02
  • MySQL单表查询操作实例详解【语法、约束、分组、聚合、过滤、排序等】

    MySQL单表查询操作实例详解【语法、约束、分组、聚合、过滤、排序

    这篇文章主要介绍了MySQL单表查询操作,结合实例形式详细分析了mysql单表查询的语法、约束、分组、聚合、过滤、排序等相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2019-12-12
  • JDBC连接MySQL出现的问题

    JDBC连接MySQL出现的问题

    采用JDBC连接MySQL数据库,JDBC驱动已经添加到eclipse的项目构建路径里了,按理来说应该一切正常。运行项目后提示“无法加载驱动”。
    2010-12-12

最新评论