使用免安装压缩包安装MySQL
OS:Windows 10家庭中文版 MySQL:mysql-5.7.20-winx64.zip
作者:Ben.Z
参考链接:
Installing MySQL on Microsoft Windows
Installing MySQL on Microsoft Windows Using a noinstall ZIP Archive
先说一下我安装MySQL的历史:
最开始是用Windows可执行文件安装,安装好后,使用MySQL通知器打开关闭服务即可;
后来,学会了安装免安装版(noinstall),下载压缩包后,百度搜索“如何安装免安装版MySQL”,再根据别人写的
中文资料安装好MySQL,之后使用NET命令启停服务或者在服务控制器里面启停设置服务;
这次也是免安装版,但不同的是,没有百度去找资料了,而是根据MySQL官网(英文)的安装步骤逐步安装的MySQL,最后,MySQL安装
成功了,并将MySQL服务器设置为随机启停(Starting MySQL as a Windows service)。
安装步骤如下:
-下载MySQL免安装版
一个zip文件,我下载的是mysql-5.7.20-winx64.zip;
-解压免安装版,并将解压后的文件夹放到自己指定的位置
解压后的文件夹即MySQL的主目录,更改文件夹名为mysql(各位随意),再放置到自己指定的位置——我的是D:\p

-打开mysql目录下的README,查找安装说明
查看README文件,可以找到 如何安装MySQL 的资料,再打开相应的安装指导(For installation instructions...)逐步安装MySQL;


-打开网页2.3.5,再按照里面的步骤安装MySQL免安装版,并最终将MySQL服务设置为Windows服务
从下图可以看出,MySQL官网给出了9个步骤,其中,2.3.5.2、2.3.5.4是关键,下面介绍安装过程中的重点步骤;

-2.3.5.2 Creating an Option File
本节介绍创建MySQL配置文件:MySQL启动时,根据此配置文件的内容设置MySQL服务器。
网页里面说了,MySQL启动时会在两个地方寻找配置文件:WINDOWS目录、MySQL安装目录。
其中,WINDOWS目录一般为“C:\WINDOWS”,在命令行中使用echo %WINDIR%可以找到,MySQL安装目录就是前面我们
解压得到的目录。
配置文件的名称为my.ini或者my.cnf,不过,my.ini的优先级高于my.cnf,都是文本文件。
关键!这两个放置配置文件的地方的两个名字的文件中的配置都会被读取出来用于配置MySQL,为了避免混乱,请把所有配
置写到一个文件中,并放到一个目录下。
我是将配置信息写到my.ini文件中,并放到MySQL安装目录中。
接下来,在Option File文件中输入内容。在本网页中,有两个配置项需要输入:basedir、datadir,basedir表示MySQL安装目
录,datadir表示MySQL数据库的数据存放目录。
注意,Windows的路径分隔符是【斜杠】,需要将其替换为【反斜杠】,或者每个斜杠用两个斜杠替换。
注意,数据目录需要手动创建,我是在MySQL安装目录下建立了data文件夹,空的。
问题:是否要创建Option File呢?不建立行不行?basedir或datadir是否可以不用设置呢?
我的配置文件如下:


更多的配置选项,请查看Server Configuration Defaults及其中的链接页面。
-Initializing the Data Directory
在配置文件中指定了数据文件夹的位置datadir,但是,新建的数据文件夹是空的,此时,需要对其进行初始化。
MySQL官网指导:2.9.1.1 Initializing the Data Directory Manually Using mysqld

注意,执行此操作需要Windows管理员权限。
使用管理员权限打开Windows命令行工具,进入MySQL安装目录;

在官方指导2.9.1.1中给出了两个命令:--initialization、--initialization-insecure,从字面意思可知,前一个安全、后一个不安全。
--initialization命令初始化后会给'root'@'localhost'账号创建一个随机密码,而--initialization-insecure命令则会给'root'@'localhost'账号创建
空密码,并且不会过期(原来我以前安装的MySQL都是insecure的啊!)。
我选择--initialization命令,执行方式及结果:

执行完成后,没有结果显示在命令行中。
但是,此时data目录下新建了不少文件夹和文件了。

刚刚说了,使用--initialization会给'root'@'localhost'账号建立随机密码,那么,这个随机密码在哪里呢?看到上图了吗?里面有
一个以.err结尾的文件,这个随机密码就在这里面了;后面服务器启动了,就可以使用root账号加这个密码登录;

至此,数据文件初始化完成。
在官方指导文件中,还有更多的初始化命令可以选择,比如--user、--defaults-file、--console……
-首次启动MySQL服务器
在前面配置文件写好、数据目录初始化后,即可启动MySQL服务器了。
MySQL的各种命令见于安装目录下的bin目录中:mysql、mysqld、mysqldump、mysqladmin……(我用过的)

这一小节讲的启动MySQL服务器是使用mysqld命令,执行如下命令即可启动:
mysqld.exe --console
不过,--console可以不要,使用它的目的是为了在命令行中直接看到日志消息。

MySQL的默认端口是3306,从下图可以看出,MySQL服务器已启动并准备接受连接。

MySQL服务器启动后,可以在Windows的任务管理器中看到它:

注意,在启动MySQL服务器时会出现Windows安全报警串口,点击“允许访问”按钮即可。
注意,MySQL运行期间发产生错误日志记录,这些错误日志记录会存储到数据目录下的以*.err结尾的文件中,当然,记录错误日志的文件
也可以在mysqld命令启动服务器时设置,设置执行为--log-error。
使用mysqld命令启动服务器时,还可以输入下面的指令:
--standalone
--debug
--shared-memory (需要更深入了解)
mysqld命令支持的所有选项可以通过下面的命令输出(注意,内容超级多,可以输出到某文件中):
mysqld --verbose --help
verbose:adj.,冗长的,啰嗦的
MySQL服务器关闭方式:使用mysqladmin命令
mysqladmin -u root shutdown
不过,我是使用Ctrl+C停止服务器运行。
-连接运行的MySQL服务器
本文使用mysql命令从Windows命令行里连接它。
打开Windows命令行,进入MySQL安装目录,使用bin目录下的mysql.exe命令连接运行的服务器。
输入以下命令:
bin\mysql.exe -uroot -p
再输入root的密码即可登录到服务器。
前面讲过,root的密码是什么,本文前面有介绍。

使用show databases;命令查看服务器中的数据库:失败了!强制修改root账号的密码!

修改完毕后,再使用show databases;即可看到当前存在的数据库列表了,只有4个数据库存在,每个有什么用,需要另行介绍。

查看数据库服务器的账户信息:存在于mysql数据库的user表中,初始化时仅有3个账户,root是其中之一,其它两个没用过。

MySQL更多的操作、命令怎么使用,请大家各自看相关教程吧!
-将MySQL操作命令添加到Windows环境变量PATH中
在前面使用MySQL的命令时,我们都需要输入命令的路径,所以要从命令行进入MySQL的bin目录,很不方便!
为了能在命令行工具中直接使用命令,因此,将MySQL的bin目录添加到Windows环境变量PAH中。
注意,环境变量PATH在我的电脑是Path。
注意,不同Windows操作系统的添加窗口不一样,Windows 10的如下图。

MySQL命令添加到环境变量PATH后,可进行测试,我这次是成功的。
在官方指导的最后提出,如果电脑上安装了多个MySQL的话,不建议把MySQL命令添加到PATH中,一个也不要添加,避免冲突。
当然,这样的电脑一定是程序员的电脑、开发用的电脑。
-将MySQL服务器安装为Windows服务并随机启动
这也是本文要讲的最后一步了。
官方指导:2.3.5.8 Starting MySQL as a Windows Service
官方指导中介绍的很清楚,现我用我的表达方式介绍下。
MySQL安装为Windows服务,这样它就可以随机启动了,还可以使用命令NET或图形化工具服务管理器进行管理。
注意,接下来的操作需要使用以管理员打开的Windows命令行。
注意,在设置前请把MySQL服务器停止运行。
执行此步骤需要使用mysqld命令,用管理员身份打开命令行,在其中输入mysqld -install命令即可完成安装;

安装完成后,可以在Windows的服务管理器下看到MySQL,启动类型为“自动”,状态为空——停止。
自动 意味着MySQL服务器将在Windows开机后启动,无需手动操作。

现在,启动MySQL服务器。两种方式:NET命令、Windows服务管理器中启动。下图显示的是NET命令方式。

启动成功,可以在服务管理器看到MySQL服务的状态为“正在运行”,也可以通过客户端连接它;


至此,MySQL服务器安装完毕,请尽情使用吧!请尽情使用Python来连接测试开发吧!
在官方指导中,安装MySQL为Windows服务还可以添加其它参数,比如,--install 指定服务器名、--defaults-file、--local-service等。
使用--install安装的MySQL服务的默认名称是MySQL,可以修改。
参数的具体意思可以看官方指导文档。
另外,使用--install参数安装的MySQL服务是随机启动的,也可以使用--install-manual参数将其安装为手动启动。
其它:
刚刚安装好的MySQL文件夹大小有近2GB,其中,lib目录下的mysqlserver.dll超过1GB:


感言:嘿
这次照着官方指导安装MySQL的收获还是很多的,之前参考一些中文资料安装,总是觉得不踏实,这次,不少疑惑都解除了,感觉自己又能了!
发现BUG:180507-1401
在安装为服务后,配置的启动类型是“自动”,预期是要开机自动启动的,可是,并没有。
案发现场:那天在安装完后,停止了MySQL服务器的运行,然后关机的。
刚刚的测试:启动了MySQL,然后重启电脑,重启后发现,MySQL服务已启动了。再次重启电脑,MySQL服务仍然是启动的。
再次测试:1.停止MySQL服务,关机,开机,MySQL服务没运行。2.启动MySQL服务,关机,开机,MySQL服务已启动。(仅分别测试了一次)
测试得到的现象:
MySQL服务在Window 10启动后是否启动,与其上一次关机时的状态相同。(重启电脑的状况有些复杂)
使用免安装压缩包安装MySQL的更多相关文章
- ubuntu 14.04 安装压缩包版mysql
既有环境: 1)下载MySQL Community Server 5.6.17 压缩版(mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz) 2)安装目录: /opt/ ...
- mysql 安装(压缩包安装和exe安装)
1:mysql官网:https://dev.mysql.com/downloads/file/?id=482487 2:压缩包安装:https://www.cnblogs.com/jamespan23 ...
- mysql 免安装版安装(window7)
初次使用mysql免安装版步骤: 1.设置环境变量,将mysql 加压文件路径添加到环境变量path中(作用是不用每次都切换路径) 控制面板>系统和安全>系统>高级系统设置 2.安装 ...
- 安装MySQL数据库(在Windows下通过zip压缩包安装)
安装MySQL 这里建议大家使用压缩版,安装快,方便.不复杂. 软件下载 mysql5.7 64位下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7 ...
- MySql免安装版安装配置,附MySQL服务无法启动解决方案
文首提要: 我下载的MySQL版本是:mysql-5.7.17-winx64.zip Archive版:系统:Windows7 64位. 一.解压文件 下载好My ...
- mysql免安装版安装
MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...
- MySQL免安装版安装配置、修改密码
一:MySQL的下载安装 1.1 下载 我下载的是 ZIP Archive 版的,win7 64位的机器支持使用,而且相对而言,简单.干净. 首先,进入MySQL的官方网址,依次点击Downloads ...
- 如何安装多个mysql 或者如何更改mysql服务名
此教程适合免安装版本(压缩包)的mysql: 有的时候你需要一台计算机上安装不同的mysql版本,而不同版本的mysql服务名称都是mysql,安装时会有冲突 解决的办法就是安装的时候更改名字 在命令 ...
- centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课
centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节 ...
随机推荐
- 服务器启动完成执行定时任务Timer,TimerTask
由于项目需求:每隔一段时间就要调外部接口去进行某些操作,于是在网上找了一些资料,用了半天时间弄好了,代码: import java.util.TimerTask; public class Accou ...
- 【科技】扩展Lucas随想
扩展Lucas解决的还是一个很Simple的问题: 求:$C_{n}^{m} \; mod \; p$. 其中$n,m$都会比较大,而$p$不是很大,而且不一定是质数. 扩展Lucas可以说和Luca ...
- 为什么redis支持lua脚本功能
看看大家怎么说! 参考: (1)描述界面:WOW和剑网三的界面都是用LUA写的: (2)沟通引擎:游戏图形引擎提供了一些接口库,可以在LUA中调用: (3)服务器端:有些游戏,例如剑网三,在服务器端也 ...
- Android自定义 Dialog 对话框
Android自定义Dialoghttp://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html Android使用自定义AlertDialo ...
- Kafka 接受数据并消费到hbase数据库
一. 1.生产者 产生数据 package kafakaTohbase; import java.util.Properties; import kafka.javaapi.producer.Prod ...
- C/C++:copy control (拷贝控制)
前言:当定义一个类的时候,我们显示或者隐式地指定在此类型的对象拷贝,移动,赋值,销毁时做些什么,一个类通过定义五种特殊的成员函数来控制这些操作,包括拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值 ...
- Java基础-方法(method)的应用
Java基础-方法(method)的应用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 方法就是定义在类中,具有特定功能的一段小程序,方法也称为函数(function),方法可以接 ...
- day2 程序流程控制
流程控制:1.调用方法.调用方法将导致控制流程离开当前方法,转移到被调用的方法 2.选择.java中有两种做出选择的机制:if/else语句和switch语句.三目运算符可以看作是if/else的一个 ...
- 科学计算三维可视化---TVTK入门(数据加载)
一:数据加载 大多数可视化应用的数据并非是在TVTK库中构建的,很多都是通过接口读取外部数据文件 (一)使用vtkSTLReader来读取外部文件 .stl 文件是在计算机图形应用系统中,用于表示三角 ...
- JavaScript中数组迭代方法
文章来源 : https://www.cnblogs.com/shuiyi/p/5058524.html