在上文菜鸟崛起 DB Chapter 1 数据库概述我们初步认识了数据库,也知道市面上常见的几种数据库,下面我们就针对常见的MySQL数据库展开对DataBase的探讨。

2.1  MySQL介绍

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

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

2.1.1  MySQL的版本

  • MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
  • MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
  • MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
  • MySQL Cluster CGE 高级集群版,需付费。
  • MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。

MySQL的命名机制由3个数字和一个后缀组成:如mysql-5.6.10

第一个数字5是主版本号,描述了文件格式,所有版本5的发行版都有相同的文件格式。

第二个数字6是发行级别,主版本号和发行级别组合在一起就构成了发行序列号

第三个数字10是此发行系列的版本号

2.1.2  MySQL的优劣

2.1.2.1  MySQL的优点

1.它使用的核心线程是完全多线程,支持多处理器。
2.有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。
3.它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。
4.全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。
5.支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6.所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的缺省值。
7.MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。

2.1.2.2  MySQL的缺点

1、 MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。
2、 MySQL的另一个主要的缺陷之一是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿。
3、 MySQL没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。
4、 MySQL不支持热备份。

热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。即热备份是系统处于正常运转状态下的备份。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog()方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。

冷备份(cold backup),也被称为离线备份,是指在关闭数据库并且数据库不能更新的状况下进行的数据库完整备份。

5、 MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或Linux 自行安装 免费 、Unix或Linux 第三方安装 200美元,

2.2  MySQL 5.6的新功能

我们用惯了MySQL5.5,那么陡然更换到高版本的MySQL上,是不是应该了解一下MySQL高版本的新功能呢?MySQL5.6在原有5.5的基础上新增加了如下几个功能:

l 子查询最佳化:通过优化子查询,可以提高执行效率,主要表现在查询的结果集合、分类和返回的执行次数上。

l 强化Optimizer Diagnostics功能:运用EXPLAIN执行INSERT、UPDATE和DELETE,EXPLAIN以JSON格式输出,提供更精确的最佳化指标和绝佳的可读性,Optimizer Traces功能更可追踪最佳化决策过程。

l 通过强化InnoDB储存引擎,提升效能处理量和应用软件的可用性:提升处理和只读量高达230%,InnoDB重构得以尽量减少传统执行绪、冲洗和净化互斥的冲突和瓶颈,在高负载的OLTP系统展现更优异的数据同步性,显著提升只读和交易工作负载的处理量。

l 大幅度提升可用性:数据库管理员运用在线数据定义语言作业,可执行新增索引和窗体变更功能。并同时更新应用程序。

l 新增Index Condition Pushdown(ICP)和Batch Key Access(BKA)功能,提升特定查询量高达280倍。

l InnoDB全文检索功能:开发人员可以在InnoDB窗体上就建立全文索引功能,以呈现文字搜寻结果,加快搜寻单字和语句。

l 自我修复复制丛集:新增的Global Transatction Identifiers and Utilities简化自动侦测和复原功能。当数据库发生损毁时,数据库管理员无需介入,即可运用Crash-Safe Replication功能,自动将二进制记录和备份数据恢复至正确位置。Checksums可透过自动侦测和警示错误的功能,跨丛集保持数据的完整性。

l 高效能复制丛集:通过Multi-Threaded Slaves,Binlog Group and Optimized Row-Based Replication提高复制能力高达5倍之多,用户向外扩充其跨商品系统的工作负载时,得以大幅提升复制的效能和效率。

l 时间延长复制:防止主计算机的作业失误,例如意外删除窗体。

l 强化的PERFORMANCE_SCHEMA:协助用户得以监控使用最多资源的密集查询指令、对象、用户和应用程序,并可总集查询、执行绪、用户、主机和对象的统计数据汇整成新的摘要页面,新增功能能让预设配置更加简易,而且耗费不到5%的成本。

l MySQL5.6纳入的新功能包括精确空间操作的地理信息系统(Geographic Information System)、强化的IPv6设备以及最佳化的服务器默认值。

2.3  MySQL的安装

https://wenku.baidu.com/view/5c0cb65ddf80d4d8d15abe23482fb4daa58d1dea.html

MySQL的下载

我们从官网下载最新的MySQL5.6进行安装:

根据计算机版本下载MySQL,这里下载是免安装版:

MySQL免安装版的配置

解压下载的MySQL:解压后如下图

将解压目录下默认文件my-default.ini 拷贝一份,改名my.ini 复制下面的配置信息到my.ini 保存,如果没有my-default.ini,可自己新建my.ini或者从其他地方中获取

[client]

port=3306

default-character-set=utf8

[mysqld]

port=3306

character_set_server=utf8

basedir=D:\Database\mysql-5.6.38-winx64

#解压目录

datadir=D:\Database\mysql-5.6.38-winx64\data

#解压目录下data目录

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]

D:\Database\mysql-5.6.38-winx64\bin\mysqld.exe

添加环境变量

1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量点击系统变量下的新建按钮

输入变量名:MYSQL_HOME

输入变量值:D:\Database\mysql-5.6.38-winx64   即为mysql的自定义解压目录。

2)选择系统变量中的Path 点击编辑按钮在变量值中添加变量值:%MYSQL_HOME%\bin

注意是在原有变量值后面加上这个变量,;隔开,不能删除原来的变量值,

将MySQL注册为windows系统服务

1)从控制台进入到MySQL解压目录下的bin 目录下:

2)输入服务安装命令:

mysqld install MySQL --defaults-file="D:\Database\mysql-5.6.38-winx64\my.ini"

#解压目录下修改的my.ini文件

安装成功后会提示服务安装成功。

#注:my.ini文件放在MySQL解压后的根目录下

此处配置服务命令:配置服务mysqld --install

#移除服务命令为:mysqld remove

启动MySQL服务

方法一:启动服务命令为:net start mysql

方法二:打开管理工具服务,找到MySQL服务。

通过右键选择启动或者直接点击左边的启动来启动服务。

修改root账号的密码

有问题的修改:

错误解决:

我们在上面修改完密码后,我们进行登录发现提示如下错误:

我们姑且不论为何出现这个错误,先来介绍该如何解决:

解决方案:

1、  停止服务:停止MySQL服务;

2、  跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查;

3、  修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码;

4、  重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。

Windows系统具体操作:

1、  停止服务:

方法1:使用dos命令net stop mysql即可;使用这种方式MySQL服务必须为安装的服务,否则会出现服务名无效,这时可以使用第二种方法。

方法2:进入【控制面板】-->【管理工具】 -->【服务】,找到MySQL服务,点击左边的停止。

2、  跳过验证:进入MySQL的安装路径(以默认安装路径为例)C:\Program Files\MySQL\MySQL Server 5.1\,找到my.ini配置文件(些文件记录MySQL的常规参数,每次启动服务都会先加载此文件),在my.ini配置文件的最后一行加入skip_grant_tables,此语句可以忽略登录检查。

3、  修改密码:启动MySQL服务,进入dos环境,输入mysql -u root -p登录MySQL(如果安装时没有勾选添加环境变量,需要先使用cd命令进入MySQL安装目录),此时提示输入密码,输入任意密码回车即可进入MySQL,出现mysql>控制符,此时表示已经成功登录MySQL;mysql> USEmysql   (将数据库切换至mysql库中)

mysql> UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’          (修改密码)

password函数为MySQL内部函数,其中newpswd为修改后的新密码。

4、  重启服务:

将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。

经过上面的解决我们可以通过用户名密码来进行登录了,实际上我们问题的出现就在于我们初始设置密码的操作错误了,所以使用我们认识正确的密码登录,却一直不能获取权限;正确的设置方法是:

UPDATE user SET password=PASSWORD(‘123’)WHERE user=’root’

其中123是我们的新密码,PASSWORD是一个关键字不用搭理;

菜鸟崛起 DB Chapter 2 MySQL 5.6的概述与安装的更多相关文章

  1. 菜鸟崛起 DB Chapter 3 MySQL 5.6的基本操作

    3   MySQL的基本操作 上面我们学习一如何安装数据库,那么这节我们来认识一下数据库: 我们在MySQL安装后,在data目录下会自动生成几个必须的数据库,可以使用SHOW DATABASES语句 ...

  2. 菜鸟崛起 DB Chapter 5 MySQL 5.6数据库表的基本操作

    5   数据库表的基本操作 在数据库中,数据表是数据库中最重要.最基本的操作对象,是数据存储的基本单位.数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的.每一行代表一条唯一的记录,每一列代 ...

  3. 菜鸟崛起 DB Chapter 4 MySQL 5.6的数据库引擎

    数据库存储引擎是数据库底层的软件组件,我们平常看不到,但是却与我们操作数据库息息相关.DBMS使用数据引擎进行创建.查询.更新和删除数据操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能 ...

  4. 菜鸟崛起 DB Chapter 1 数据库概述

    1. 数据库的概述 在目前阶段,如果要存储和管理数据,则离不开数据库.当数据存储到数据库后,就会通过数据库管理系统对这些数据进行组织和管理.数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据 ...

  5. mysql基础教程(一)-----概述、安装、查询

    概述 好处 •实现数据持久化 •使用完整的管理系统统一管理,易于查询 概念 DB 数据库(database):存储数据的“仓库”.它保存了一系列有组织的数据. DBMS 数据库管理系统(Databas ...

  6. j2ee 使用db.properties连接mysql数据库

    转自: http://blog.csdn.net/u013815546/article/details/50808493 注: 下面的方法是未安装构架的写法,需要自己加载驱动并建立连接. 若引入了Ac ...

  7. python 全栈开发,Day60(MySQL的前戏,数据库概述,MySQL安装和基本管理,初识MySQL语句)

    一.MySQL的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码 root|123321 alex|123123 上面文件内容 ...

  8. CentOS 6.9安装MySQL 5.6 (使用yum安装)

    CentOS 6.9安装MySQL 5.6 (使用yum安装) 移除CentOS默认的mysql-libs [root@test01 srv]# whereis mysqlmysql: /usr/li ...

  9. Apache php Mysql部署(一)下载安装

    前言 最近公司需要开发一个网站,但是又有特殊要求:不能使用java.只能在Windows平台部署.没方法,只能选择了Apache+php+Mysql的方案. 不知道有没有更好的,听所golang挺不错 ...

随机推荐

  1. .net mvc 设置div的动态部分视图内容 dynamic partial view

    示例效果:点击按钮,在div中 显示不同的partial view的内容 $("#btnEdit").click(function () { //动态获取相应的部分视图 var u ...

  2. webview中播放视屏,返回或者退出后,仍然会有声音。

    解决办法: protected void onPause() { super.onPause(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODE ...

  3. vue——介绍和使用

    一.vue介绍 vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式的JavaScript框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. ...

  4. struts quick start

    1.create a dynamic web project 2.import the needed jar(about 11) 3. request page(index.jsp) <%@ p ...

  5. CentOS安装QQ2012

    QQ想必大家都会用,在windows系统下一般都是使用客户端软件,但是在linxu系统下就没有想windows那样的客户端了.下面就次啊用wine在CentOS中安装腾讯QQ2012.

  6. maven---Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4

    Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 Failure to transfer or ...

  7. spring配置连接池和dao使用jdbcTemplate

    1 spring配置c3p0连接池 第一步 导入jar包 第二步 创建spring配置文件,配置连接池 (1)把代码中的实现在配置文件中实现 2 dao使用jdbcTemplate (1) 创建ser ...

  8. django视图函数解析(三)

    1 视图views概述 1 作用: 视图接受web请求并响应web请求 2 本质: 视图就是python中的处理函数 3 响应: 一般是一个网页的HTML内容.一个重定向.错误信息页面.json格式的 ...

  9. Java应用程序

    示例: public class HelloWorld { public static void main(String[] args) { System.out.println("Hell ...

  10. HCNA-RIP定时器

    1.拓扑图 2. 1.RIP有哪些定时器?三种:更新定时器.老化定时器.垃圾回收定时器 2.RIP的定时器有哪些作用?更新定时器(30s):运行RIP的路由器会以30s为周期,向邻居发送RIP路由.老 ...