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

前言

在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)进行安全处理

步骤一:解压缩

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

步骤二:创建配置(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';
上一篇:jQuery-1.9.1源码分析系列(十一) DOM操作续——克隆节点


下一篇:python语言学习8——字符串和编码