在上文菜鸟崛起 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不支持热备份。

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

l 冷备份(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是一个关键字不用搭理;

转载于:https://www.cnblogs.com/lin-jing/p/7967013.html

菜鸟崛起 DB Chapter 2 MySQL 5.6的概述与安装相关推荐

  1. 菜鸟教程python3 mysql_Python 操作 MySQL 数据库

    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...

  2. mysql如何创建非管理员权限_mysql权限管理,一个非db管理员创建mysql的做法_MySQL...

    bitsCN.com mysql权限管理,一个非db管理员创建mysql的做法 安装了mysql,建了数据库,需要几个账号,进行权限管理,现总结如下 一个建了四个账号. 1. root 账号,这是安装 ...

  3. mysql服务器端按照显示无权限安装_菜鸟完整配置服务器 流程及权限设置

    本人是一菜鸟,虽然刚刚接触网络,但是有点痴迷.最近因为网络环境允许自己搞台服务器,就选了WIN2003搭建服务器. 原以为网上教程还有落伍者的教程多的是,以为简单的很!哎,谁知道教程虽多,不是缺这个就 ...

  4. Java菜鸟面试突破系列之MySQL优化

    Java菜鸟面试突破系列之MySQL优化 前言:数据库优化问题历来都是技术面面试官们屡问不爽的话题,每每碰到诸如此类问题,我们在事后往往对自己的回答会有一些不大满意,鉴于此,特在这个面试突破系列里总结 ...

  5. yum mysql mariadb 目录_CentOS用yum安装、配置MariaDB

    1.创建/etc/yum.repos.d/MariaDB.repo文件,这里用到了刚刚发布正式版的10.0 [mariadb] name = MariaDB baseurl = http://yum. ...

  6. 二进制安装mysql集群_基于二进制安装Cloudera Manager集群

    一.环境准备 参考链接:https://www.cnblogs.com/zhangzhide/p/11108472.html 二.安装jdk(三台主机都要做) 下载jdk安装包并解压:tar xvf ...

  7. mysql repo_centos7下使用wget命令安装mysql

    首先安装wget命令: 1. 下载mysql的repo源 $  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm ...

  8. mac 偏好设置mysql不小心删除了_Mac 安装配置mysql,误删除local下的var和tmp文件夹该如何解决?...

    mac 上安装Mysql试了各种方法,包括stack overflow上的答案. 大抵是如下的: 1.彻底删除mysql各个遗留文件和配置 sudo rm /usr/local/mysql sudo ...

  9. mysql warning 日志_Mysql5.7.19安装后错误日志中有警告

    警告1: secure_file_priv 配置项对数据导入导出的影响 1.限制mysqld 不允许导入 | 导出 mysqld --secure_file_prive=null MySQL [ztj ...

最新文章

  1. 5MB的神经网络也高效,Facebook新压缩算法造福嵌入式设备
  2. VMware安装虚拟机Ubuntu提示piix4_smbus 0000:00:007.3: Host SMBus controller not enabled错误解决办法...
  3. Kafka的常见错误分析
  4. 【线性代数】向量空间
  5. java模拟摇摆小球程序代码_Android实现左右摆动的球体动画效果
  6. css 垂直居中_CSS垂直居中的另类实现
  7. java 比较器类_高级编程之(Java常用类(Java比较器))
  8. 如何在 Ubuntu 上安装 MongoDB
  9. DOM解析和SAX解析对比
  10. java中String类和StringBuffer类实例详解
  11. ubuntu截图保存到剪切板
  12. springboot毕业设计题目课题参考
  13. [0CTF 2016]piapiapia(反序列化逃逸)
  14. android 验证 号码,本机号码校验
  15. php后台如何添加sitemap,织梦后台的sitemap生成及推送教程
  16. cad2016服务器为空,修改CAD2016的服务器地址
  17. Wordvice推出人工智能工具 免费论文润色功能受欢迎
  18. Python|图片转二维码
  19. 什么叫VI、及VI的设计规范
  20. mpt matlab,Simulink object和MPT object 区别

热门文章

  1. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...
  2. C#多线程编程实战(二):线程同步
  3. 文件创建与文件格式的修改
  4. 人生感悟:一个男人必须具有的东西
  5. 六 装饰模式(Decorator)——设计模式学习笔记
  6. Excessive growth of the primary database log mirror and system Performance Monitoring
  7. 一步一步SharePoint 2007之十二:实现Form认证(2)——创建添加管理帐户的工程
  8. 源码解读Mybatis List列表In查询实现的注意事项
  9. git切换到指定tag
  10. leetcode算法题--数值的整数次方