菜鸟崛起 DB Chapter 2 MySQL 5.6的概述与安装

在上文菜鸟崛起 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是一个关键字不用搭理;

时间: 2024-08-26 16:07:55

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

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

3   MySQL的基本操作 上面我们学习一如何安装数据库,那么这节我们来认识一下数据库: 我们在MySQL安装后,在data目录下会自动生成几个必须的数据库,可以使用SHOW DATABASES语句进行查询当前所有存在的数据库(注意查询结果和权限是有关系的,如果没有登录那么只能查询到下图的第一和第四个): 其中mysql是必须的,他描述用户访问权限,用户经常利用test数据库做测试的工作.创建数据库实际上就是在磁盘上划分一块区域用于数据的存储和管理,如果管理员在设置权限的时候为用户创建了数据库

Chapter 5 MySQL Server Administration_1

Chapter 5 MySQL Server Administration Table of Contents 5.1 The MySQL Server 5.1.1 Configuring the Server 5.1.2 Server Configuration Defaults 5.1.3 Server Option and Variable Reference 5.1.4 Server Command Options 5.1.5 Server System Variables 5.1.6

MySQL 5.5.17 源码安装

工作需要使用MySQL,在linux中用yum安装,安装路径不可控,不能对它进行定制,为了更好的管理MySQL Sever,采用源码安装. MySQL 5.5.17安装需要使用cmake编译工具,可以使用yum 来安装cmake 安装MySQL DB 创建相关用户组及用户  groupadd mysql  useradd –g mysql mysql 在存放MySQL源码包路径解压并且安装(手动创建相应安装目录) #mkdir /opt/mysql #chown -R mysql:mysql /

Linux命令:Mysql系列之二cmake编译安装使用mysqladmin管理工具

MySQL相关概念:MySQL是单进程多线程接收应用的请求. SQL/MySQL 1.事务,隔离,并发控制,锁 2.用户和权限 3.监控 STATUS 4.索引类型:查询 VARIABLES 5.备份和恢复 6.复制功能 7.集群 DML:数据操作语言 INSERT:插入 DELETE:删除 SELECT:挑选,选择,查询 UPDATE:更新,修改 DDL:数据定义语言 CREATE:创建 DROP:删除 ALTER:修改 DCL:数据控制语言 GRANT:授权 REVOKE:取消权限 MySQ

[mysql(0)] 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64

由于公司临时让将Oracle的数据移植到mysql上面,所以让我在公司服务器上面安装一下mysql.下面就是我的安装过程以及一些错误解决思路.其实对于不同版本安装大体都有差不多. 1. 从官网下载 mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz 经测试, 本文还适用于如下版本: mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz mysql-5.7

MHA+Atlas+mysql一主一从开启gtid安装配置与实验

各节点架构 (说明:生产环境有两个节点可以组成一套完整集群,我是测试环境,因此对于manager以及atlas和binlog server都是单点,如果生产环境,相应的将manager以及atlas和binlog server每个节点都部署即可) 10.80.8.89 mysql-master manager,node atlas 10.80.8.90 mysql-slave node binlog server 安装步骤 10.80.8.89操作命令 1.#增加mha用户 useradd mh

用shell脚本实现通用二进制格式mysql 5.5.28 x86_64的安装

用shell脚本实现通用二进制格式mysql 5.5.28 x86_64的安装 首先在网上用gfsoso.com来搜索下载mysql软件包mysql-5.5.28-linux2.6-x86_64.tar.gz,再用 winSCP把mysql上传到服务器上,上传位置可根据个人喜好,我个人一般放在服务器的/usr/local/src目录下. 此处我们是先命令行下实现一次,而后所有操作全部用shell脚本自动实现. 个人环境 centos 6.5 X86-64  所用空闲空间都做成了LVM. 准备工作

MySQL 5.6.19 二进制的安装方式

1.        操作系统 CentOS release 6.2 (Final) 2.        创建用户和组 [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -r -g mysqlmysql 3.        解压安装包(解压到你想存储数据库数据的地方) [[email protected] ~]# cd /data [[email protected] data]# tar -xzvf /roo

Centos 7.0 编译安装LAMP(Linxu+apache+mysql+php)之源码安装Mysql (二)

mysql 简介: MySQL是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性.目前其属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言. 安装环境: 系统: centos 7.0 最小化安装 软件