- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章mysql 8.0.15 安装图文教程及数据库基础由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
MySQL软件安装及数据库基础,供大家参考,具体内容如下 。
1、任务 。
任务一 。
MySQL 软件安装及数据库基础 。
任务时间 。
请于2月26日22:00前完成,在本文章评论打卡。逾期尚未打卡的会被清退.
学习内容 。
1.软件安装及服务器设置 。
教程 MySQL 安装 | 菜鸟教程 。
2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL 。
星球提供Navicat for SQL 简易步骤: 解压缩文件,复制key 打开文件夹中的navicat.exe 用户名随意,输入key,然后连接数据库 输入密码,连接名改成自己喜欢的 剩下的自己探索,怎么在navicat中创建数据库、表等等 。
3.数据库基础知识 。
数据库定义 关系型数据库 二维表 行 列 主键 外键 。
4.MySQL数据库管理系统 。
数据库 数据表 视图 存储过程 。
2、软件安装及服务器设置 。
系统环境: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 配置以下基本信息:
1
2
3
4
5
6
7
8
9
|
[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 命令行工具,切换目录:
1
2
|
D:
cd
D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin
|
输入初始化命令:
1
|
mysqld --initialize-insecure --user=mysql
|
在D:\软件\Mysql\mysql-8.0.15-winx64\mysql-8.0.15-winx64\bin目录下生成data目录 。
启动输入以下命令即可:
1
|
net start mysql
|
这证明已经连接成功.
2.2 MySQL 重置密码 。
2.2.1 登录MySQL 。
输入:
1
|
mysql -u root -p
|
因为之前没设置密码,所以密码为空,直接回车即可
2.2.2 查询用户密码 。
查询用户密码命令:
1
|
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()函数 。
一定不要采取如下形式设置密码:
1
2
|
use mysql;
update
user
set
authentication_string=
"newpassword"
where
user
=
"root"
;
|
这样会给user表中root用户的authentication_string字段下设置了newpassword值; 。
正确修改root密码的步骤为:
1.如果当前root用户authentication_string字段下有内容,先将其设置为空,没有就跳到步骤 2.
1
2
|
use mysql;
update
user
set
authentication_string=
''
where
user
=
'root'
|
2.使用ALTER修改root用户密码,方法为:
1
2
3
|
use mysql;
ALTER
user
'root'
@
'localhost'
IDENTIFIED
BY
'新密码'
;
FLUSH
PRIVILEGES
;
|
到此为止自己创建的本地MySQL创建完毕!!! 重新连接即可!!! 。
3、使用图形界面软件 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、数据库基础知识 。
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) 是一列(或一组列),其值能够唯一标识表中每一行。没有主键,更新或删除表中特定行就极为困难,因为你不能保证操作只涉及相关的行.
提示: 应该总是定义主键 虽然并不总是需要主键,但多数数据库设计者都会保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理.
表中的任何列都可以作为主键,只要它满足以下条件:
主键通常定义在表的一列上,但并不是必需这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一).
4.7 外键 。
外键是表中的一列,其值必须列在另一表的主键中。外键是保证引用完整性的极其重要部分.
外键有助防止意外删除。在定义外键后, DBMS不允许删除在另一个表中具有关联行的行。例如,不能删除关联订单的顾客。 删除该顾客的唯一方法是首先删除相关的订单(这表示还要删除相关的订单项)。由于需要一系列的删除,因而利用外键可以防止意外删除数据.
5、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 语言层面的代码封装与重用.
优点:
缺点:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/qq_30006749/article/details/87933307 。
最后此篇关于mysql 8.0.15 安装图文教程及数据库基础的文章就讲到这里了,如果你想了解更多关于mysql 8.0.15 安装图文教程及数据库基础的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!