本来电脑上有一个5.5版本的数据库, 项目开发的时候有个特殊的需求, 要用到mysql5.7新特性的 JSON类型字段存储东西. 于是开发阶段, 需要再在本机上搞一个5.7版本的.
废话不多说:
1 第一个数据库5.5正常安装.
2 下载mysql 5.7 压缩版,官网 http://dev.mysql.com/downloads/mysql/
3 解压到你电脑的路径,并copy mysql配置文件, 然后改名为my.ini 如图
4 配置my.ini 文件
这里需要注意的问题, 端口改为3307, 两个路径也要跟第一个mysql5.5 路径区分开. 并且修改my.ini 文件的时候EditPlus有可能添加了很多UTF-8的签名, 你是看不到的,但是启动的时候会报各种奇葩问题,[后人勿入坑啊], 所以最好找到你的editplus的 文档->参数设置->文件->utf-8 签名 选择 ->总是移除签名.
不然很可能报错: [ERROR] Found option without preceding group in config file C:\Program Files\MySQL\mysql-5.7.17-winx64\my.ini at line 1!
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3307
# 设置mysql的安装目录
basedir=C:\\Program Files\\MySQL\\mysql-5.7.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\\Program Files\\MySQL\\mysql-5.7.17-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
5 管理员权限运行cmd命令工具, 不管理员运行,容易报错:
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
6 通过cmd命令 cd 进入到你的5.7mysql的解压缩路径的bin目录里, 我的地址是:
C:\Program Files\MySQL\mysql-5.7.17-winx64\bin
7 通过mysqld –initialize 命令先来一遍初始化,会在解压缩目录自动创建data 文件夹,data文件夹内应该包含如下目录,如果没有mysql目录,证明你初始化出问题了, 请打开 data目录的错误日志文件 DESKTOP-4K29EOD.err 看一下提示信息, 一般都是配置文件my.ini 配置的有问题的.
8 初始化没问题后, 需要通过mysqld install mysql5.777 命令注册到window服务去.
9 通过命令启动mysql , net start mysql5.777,如上图.
10 启动完后, 需要登录 mysql -uroot -p -P3307 ,有个问题密码在哪里?
5.7mysql初始化成功的时候,会将密码打印到日志文件中,这个文件就是data下的那个错误日志文件DESKTOP-4K29EOD.err: 如下图
登录上后, set password for root@localhost = password(‘root007’); 改个密码,刷新权限flush privileges;
11 可视化工具, 可以同时链接5.5 和5.7 ,唯一的不同就是端口 5.7的为 3307