前言

在windows上安装Zip版MySQL(选译)

学习mysql的朋友们会发现5.7+版本的mysql变得比以前难安装了许多(当然我们可以选择installer版本,但是这样总感觉对学习mysql不太好),原因在于5.7版引入了一些更新,造成了一些新的坑,如果直接套用以前的教程肯定是行不通的。更新肯定有他的道理,不过这样对中国玩家也太不友好了。

环境: MySQL5.7+ windows7

参考文献

正文

从Zip档案安装MySQL的过程如下:

  1. 解压zip到你想要安装mysql的目录下

可选: 如果你打算使用MySQL benchmark工具和测试套件,你也可以选择debug-test版本的压缩包(译者注:非debug-test版约310MB,这个约380MB)

  1. 创建配置(option)文件
  2. 选择MySQL服务端类别
  3. 初始化MySQL
  4. 启动MySQL服务
  5. 对默认用户账号(root)进行安全处理

步骤一:解压缩

步骤二:创建配置(option)文件

如果你想在启动服务端之前指定一些启动选项,你可以在命令行指定他们,也可以把它们写到一个配置文件里。对于一些你每次都想运行的选项,使用配置文件是一个更好的选择,在以下情况下尤其如此:

  • 安装目录和data目录与默认路径不一样(C:\Program Files\MySQL\MySQL Server 5.7 and C:\Program Files\MySQL\MySQL Server 5.7\data)
  • 你需要调整服务端设置,比如指定内存大小,缓存大小,或者InnoDB设置。

当MySQL服务端在Windows环境下启动,它会尝试在几个地方寻找配置文件,比如Windows目录,C:\,和MySQL安装目录(到URL获取更详细的列表),Windows目录通常情况下像是C:\WINDOWS。你可以在命令行输入以下指令把它打印出来:

C:> echo %WINDIR%

MySQL会在每个路径首先寻找my.ini文件,然后再寻找my.cnf文件。然而,为了避免混淆,你最好只定义一个文件。当你的电脑使用一个boot loader不以C: 目录为启动驱动器的时候,你只能使用my.ini文件。

你可以用任何文本编辑器来编辑你的配置文件。举个例子,如果MySQL被安装在E:\mysql,然后data文件夹在E:\mydata\data目录,你可以创建一个配置文件,使用[mysqld]部分去定义basedir和datadir选项。

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

Windows系统的文件路径使用双斜杠而不是反斜杠

因为自从MySQL5.7.6以后,Zip档案不再包含data目录。为了初始化MySQL,你需要使用 --initialize或者--initialize-insecure命令。(译者:见步骤四)

如果你想要把data放到一个不同的目录下你可以移动它,然后在配置文件里配置好新的路径。

步骤三:选择MySQL服务端类型

以下表格展示了Windows下可用的MySQL5.7服务端类别

名称 描述
mysqld 使用命名管道进行二进制优化

| mysqld-debug | 像mysqld一样,但支持完全调试和自动内存分配检查 |

上述所有服务端类别都为现代英特尔处理器进行了优化,但他们应当被运行在i386级或更高级别的处理器上。

每种服务端都支持同样一系列的储存引擎。使用SHOW ENGINES语句显示当前服务端支持的储存引擎。

所有Windows MySQL5.7服务端都支持数据库目录符号链接

初始化data目录

(译者注: 这一部分是与原文分离的,译者在这里选译一部分)

  1. 首先来到BASEDIR目录(安装目录)下
  2. 为了初始化data目录,使用--initialize或者--initialize-insecure选项调用mysqld命令。前者将为root账号生成一个随机密码(译者注:后者生成一个过期密码,可以不输密码直接登入)

使用以下命令:

C:\> bin\mysqld --initialize
# 或者
C:\> bin\mysqld --initialize-insecure

如果mysqld不在安装目录下,你必须为mysqld命令提供--basedir和--datadir选项,如下(译者注:这里用bash不怪我,不过也差不多就是了)

shell> bin/mysqld --initialize --user=mysql
--basedir=/opt/mysql/mysql
--datadir=/opt/mysql/mysql/data

或者如果你已经有一个配置文件

C:\> bin/mysqld --defaults-file=C:\my.ini --initialize

注意: MySQL服务端会在标准错误输出端写入错误信息,这个可能被重定向到了错误日志,你需要在错误日志查找错误信息,具体查看URL。在Windows下,你可以使用 --console选项,重定向输出信息到命令行

初始化data目录完毕后,启动MySQL服务端,然后连接到服务端。

如果你使用--initialize命令你需要输入初始化过程中生成的随机密码。

shell> mysql -u root -p
Enter password: (输入之前生成的随机密码)

如果是--initialize-insecure,你可以直接跳过输入密码。

shell> mysql -u root --skip-password

对默认用户账号(root)进行安全处理

修改root密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

[选译]MySQL5.7以上Zip版官方安装文档的更多相关文章

  1. MySQL5.7以上Zip版官方安装文档(选译)

    前言 在windows上安装Zip版MySQL(选译) 学习mysql的朋友们会发现5.7+版本的mysql变得比以前难安装了许多(当然我们可以选择installer版本,但是这样总感觉对学习mysq ...

  2. Linux rhel7 下MySQL5.7.18详细安装文档

    Linux rhel7 下MySQL5.7.18详细安装文档 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登 ...

  3. windows下如何安装配置mysql-5.7-m14-winx64(zip格式的安装)

    win7 64位下如何安装配置mysql-5.7.4-m14-winx64 1.   mysql-5.7.4-m14-winx64.zip下载 官方网站下载地址:http://dev.mysql.co ...

  4. 安装选择msi格式还是zip(windows下Nodejs zip版下载安装及环境变量配置)

    安装选择msi格式还是zip((windows下Nodejs zip版下载安装及环境变量配置)) -----以node.js 安装为例: 1,外观对比: ✿ 简单介绍一下node的作用: • node ...

  5. CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档

    ----------------CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档----------------------- [JDK1.7安 ...

  6. layuiAdmin pro v1.x 【单页版】开发者文档

    layuiAdmin std v1.x [iframe版]开发者文档 题外 该文档适用于 layuiAdmin 专业版(单页面),阅读之前请务必确认是否与你使用的版本对应. 熟练掌握 layuiAdm ...

  7. layuiAdmin std v1.x 【iframe版】开发者文档

    layuiAdmin pro v1.x [单页版]开发者文档 layuiAdmin.std(iframe 版) 是完全基于 layui 架构而成的通用型后台管理模板系统,采用传统的 iframe 多页 ...

  8. Mysql5.7.20安装文档

    Mysql5.7.20安装文档 一.Linxu下数据库的恢复和备份 当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据 ...

  9. Umbraco官方技术文档 中文翻译

    Umbraco 官方技术文档中文翻译 http://blog.csdn.net/u014183619/article/details/51919973 http://www.cnblogs.com/m ...

随机推荐

  1. jzoj5996

    我們可以枚舉每一個串的最短回文後綴,這樣一定不會算重. 雖然一個字符串可能會有多個回文後綴,但是答案只會在最短的後綴被計算 記f[i]表示長度為i回文串中,沒有長度>1的回文後綴的個數,將總個數 ...

  2. 复制表结构和内容到另一张表中的SQL语句

    1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1= ...

  3. Breadth-first Search-690. Employee Importance

    You are given a data structure of employee information, which includes the employee's unique id, his ...

  4. Aizu 2249Road Construction 单源最短路变形《挑战程序设计竞赛》模板题

    King Mercer is the king of ACM kingdom. There are one capital and some cities in his kingdom. Amazin ...

  5. express form/ajax 后端获取前端数据

    -------------------2017/12/02补充:缺了一个重要条件... var bodyParser = require('body-parser');var app = expres ...

  6. php curl 伪造IP来源的实例代码

    来源:http://www.jb51.net/article/31694.htm curl 它不但可以模仿用户登录,还可以模仿用户IP地址哦,为伪造IP来源,本实例仅供参考哦 //伪造ip ; $i ...

  7. leetcode 73 矩阵置零 Python

    矩阵置零     给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [   [1,1,1],   [1,0,1],   [1 ...

  8. js插件实现点击复制内容到粘贴板,兼容IE8

    先来看下本次需要导入的文件: 第一个是jquery.js,这个不多说: 第二个是jquery.zclip.js,第三个是zeroClipboard.swf ,这两个文件的下载链接:http://www ...

  9. php-fpm定时器

    php-fpm有三种定时器 1)主进程接收到用户的信号,例如sigusr,主进程执行kill(子进程号,sigquit),的同时,设置定时器,在一个无限循环里如果当前时间 大于或等于 该定时器的过期时 ...

  10. 微服务是"银弹"吗?

    前言:所谓"银弹",本意是用金属银做成的子弹:在古老的传说里它是杀死狼人的有效武器.在著作<人月神话>也有描述.微服务是当前软件界流行的名词,那么它能成为像银弹一样厉害 ...