[选译]MySQL5.7以上Zip版官方安装文档
前言
在windows上安装Zip版MySQL(选译)
学习mysql的朋友们会发现5.7+版本的mysql变得比以前难安装了许多(当然我们可以选择installer版本,但是这样总感觉对学习mysql不太好),原因在于5.7版引入了一些更新,造成了一些新的坑,如果直接套用以前的教程肯定是行不通的。更新肯定有他的道理,不过这样对中国玩家也太不友好了。
环境: MySQL5.7+ windows7
参考文献
- https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html
- https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
正文
从Zip档案安装MySQL的过程如下:
- 解压zip到你想要安装mysql的目录下
可选: 如果你打算使用MySQL benchmark工具和测试套件,你也可以选择debug-test版本的压缩包(译者注:非debug-test版约310MB,这个约380MB)
- 创建配置(option)文件
- 选择MySQL服务端类别
- 初始化MySQL
- 启动MySQL服务
- 对默认用户账号(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目录
(译者注: 这一部分是与原文分离的,译者在这里选译一部分)
- 首先来到BASEDIR目录(安装目录)下
- 为了初始化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版官方安装文档的更多相关文章
- MySQL5.7以上Zip版官方安装文档(选译)
前言 在windows上安装Zip版MySQL(选译) 学习mysql的朋友们会发现5.7+版本的mysql变得比以前难安装了许多(当然我们可以选择installer版本,但是这样总感觉对学习mysq ...
- Linux rhel7 下MySQL5.7.18详细安装文档
Linux rhel7 下MySQL5.7.18详细安装文档 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登 ...
- 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 ...
- 安装选择msi格式还是zip(windows下Nodejs zip版下载安装及环境变量配置)
安装选择msi格式还是zip((windows下Nodejs zip版下载安装及环境变量配置)) -----以node.js 安装为例: 1,外观对比: ✿ 简单介绍一下node的作用: • node ...
- CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档
----------------CentOS6.5下安装JDK1.7+MYSQL5.5+TOMCAT7+nginx1.7.5环境安装文档----------------------- [JDK1.7安 ...
- layuiAdmin pro v1.x 【单页版】开发者文档
layuiAdmin std v1.x [iframe版]开发者文档 题外 该文档适用于 layuiAdmin 专业版(单页面),阅读之前请务必确认是否与你使用的版本对应. 熟练掌握 layuiAdm ...
- layuiAdmin std v1.x 【iframe版】开发者文档
layuiAdmin pro v1.x [单页版]开发者文档 layuiAdmin.std(iframe 版) 是完全基于 layui 架构而成的通用型后台管理模板系统,采用传统的 iframe 多页 ...
- Mysql5.7.20安装文档
Mysql5.7.20安装文档 一.Linxu下数据库的恢复和备份 当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据 ...
- Umbraco官方技术文档 中文翻译
Umbraco 官方技术文档中文翻译 http://blog.csdn.net/u014183619/article/details/51919973 http://www.cnblogs.com/m ...
随机推荐
- 程序媛计划——python初级课时3~5
产生1-10中的随机数: for 循环:所有可遍历对象都能用于for循环,如一个字符串. len(list),list中的元素类型可以各不相同:可以直接用下标对list元素赋值来更新列表 对字符串可以 ...
- Linux下运行crm项目
虚拟环境运行crm项目 1.进入虚拟环境 2.解决crm项目运行所需的依赖环境 1.手动解决 pip3 install django==1.11.14 pip3 install pymysql pip ...
- C++一些函数的意义
1.重载 : C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载 2.隐藏和覆盖的区别 IF 子类的函数与父类的名称相同,但是参数不同 父类函数被隐藏(还存在) ELS ...
- 面向对象进阶-类的内置方法 __str__ 、__repr__、__len__、__del__、__call__(三)
# 内置的类方法 和 内置的函数之间有着千丝万缕的联系# 双下方法# obj.__str__ str(obj)# obj.__repr__ repr(obj) # def __str__(self): ...
- 雨天的尾巴(bzoj3307)(线段树合并+树上差分)
\(N\)个点,形成一个树状结构.有\(M\)次发放,每次选择两个点\(x,y\) 对于\(x\)到\(y\)的路径上(含\(x,y\))每个点发一袋\(Z\)类型的物品.完成 所有发放后,每个点存放 ...
- jzoj4724
DJL为了避免成为一只咸鱼,来找czgj学习Fibonacci数列. 通过czgj的谆谆教导,DJL明白了Fibonacci数列是这样定义的: F(1)=1;F(2)=1;F(n)=F(n-1)+F( ...
- IOS 开发入门
1.Getting Started https://developer.apple.com/library/ios/navigation/#section=Resource%20Types&t ...
- MySQL(存储过程,支持事务操作)
day61 保存在MySQL上的一个别名 > 一坨SQL语句 -- delimiter // -- create procedure p1() -- BEGIN -- select * ...
- Xshell连接不上Linux
用Xshell连接Linux的时候报错了: Connecting to 192.168.79.147:22...Could not connect to '192.168.79.147' (port ...
- centos6下无法使用lsof命令"-bash: lsof: command not found"
1. 问题描述在centos下, 无法使用命令lsof, 出现以下信息:# lsof -i:3690-bash: lsof: command not found2. 解决方法我们可以通过yum来安装: ...