win7配置免安装mysql5.6.19过程具体解释
时间:2022-03-14 01:50
本文主要介绍免安装配置mysql5.6.19的过程,整个过程中自己出现非常多次失误,经过整理,现将一次可成功的过程记录下来,供大家參考。
准备
在mysq官网 http://dev.mysql.com/downloads/mysql/,下载最新稳定版本号。 本文使用的mysql版本号为5.6.19,因下载免安装版本号,在页面选择“Windows (x86, 64-bit), ZIP Archive”【吐槽一下,越来越大了:217.2M】解压
将下载的mysql.zip解压到E:\Develop\mysql-5.6.19-winx64创建data文件夹
创建文件夹:E:\Develop\TestMysqlData,用于存放mysql的表和数据相关文件。配置
拷贝mysql解压文件夹中my-default.ini为test.ini,将basedir、datadir配置为前面的mysql文件夹和data文件夹。 并添加编码配置:character_set_server=utf8、character_set_client=utf8 配置完后的文件例如以下:basedir = E:/Develop/mysql-5.6.19-winx64 datadir = E:/Develop/TestMysqlData character_set_server=utf8 character_set_client=utf8
很多其它配置,可訪问mysql官网的配置页面:http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html, 该地址在test.ini有。
注冊服务
通过cmd进入mysq解压文件夹的bin文件夹中,运行例如以下命令: mysqld install mysqltest --defaults-file="E:\Develop\mysql-5.6.19-winx64\test.ini"【注:mysqltest 为加入的服务名】若出现例如以下信息,表明服务成功安装:
启动服务
通过cmd运行命令: net start mysqltest 【注:此处必须与前面注冊时,服务名一致】依照本教程来运行的话,此时会报错,信息例如以下:
通过查看data文件夹,即E:\Develop\TestMysqlData文件夹下以.err结尾的日志文件,找到报错信息例如以下:
2014-06-29 15:58:07 9116 [Note] Plugin 'FEDERATED' is disabled. E:\Develop\mysql-5.6.19-winx64\bin\mysqld: Table 'mysql.plugin' doesn't exist 2014-06-29 15:58:07 9116 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 2014-06-29 15:58:07 9116 [Note] InnoDB: Using atomics to ref count buffer pool pages
日志提示通过运行mysql_upgrade解决这个问题,继续在mysql解压文件夹的bin文件夹中运行:mysql_upgrade,出现例如以下异常信息:
E:\Develop\mysql-5.6.19-winx64\bin>mysql_upgrade Looking for 'mysql.exe' as: E:\Develop\mysql-5.6.19-winx64\bin\mysql.exe Looking for 'mysqlcheck.exe' as: E:\Develop\mysql-5.6.19-winx64\bin\mysqlcheck.exe FATAL ERROR: Upgrade failed通过net start mysqltest启动服务,依旧报错。
此时,将mysql解压文件夹中的data文件夹中全部文件复制到E:\Develop\TestMysqlData文件夹中,再启动服务则成功!
E:\Develop\mysql-5.6.19-winx64\bin>net start mysqltest mysqltest 服务正在启动 . mysqltest 服务已经启动成功。
连接数据库
通过workbench连接,打开后能够看到本地已经启动的mysql instance,双击就可以直接打开连接。创建数据库
通过在workbench的sql窗体运行例如以下脚步,就可以创建默认编码为utf-8的数据库。CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
此时,数据库test的编码统一为utf8,project编码再设置为utf8,基本会避免数据乱码的问题了。