phpstudy是一个很不错的集成开发环境,提供了不少PHP和Apache、nginx等web服务器各个版本之间的组合。可是,美中不足,phpstudy直至2018版本,其中使用的mysql一直都是5.5版本,并且没有提供设置和升级的地方。不少人都疑惑该如何升级数据库,并且百度搜索中的大部分方法都很复杂并且不是很实用。下面我就把我升级至mysql5.7.18的过程晒出来,跟你们分享。php
1.从mysql官网下载windows的免安装版。
最新版下载地址是:MySQL Community Servermysql
或者:从官网上下载高版本的 MySQL :https://dev.mysql.com/downloads/file/?id=467269,选的版本是 5.7.17(后面才发现 5.7 版本的安装、系统表字段等又和以前的版本有所不一样)。
你也能够点击这里选择你须要的版本。我选择的是Windows (x86, 64-bit), ZIP Archivenginx
2.备份mysq的数据,若是须要的话。web
3.重命名phpstudy中的MySQL文件夹为MySQL5.5,至关于备份MySQL,也方便你切回去。sql
4.将刚下下来的mysql-5.7.18-winx64.zip解压至phpstudy目录中,并重命名为MySQL。数据库
须要说明的是,mysql5.7解压以后,目录中是没有my.ini配置文件和data文件夹的。须要咱们自定义一个my.ini文件。个人my.ini很简单,以下:segmentfault
[client] port=3306 [mysql] default-character-set=utf8mb4 [mysqld] port=3306 # 下面两项basedir和datadir根据你的目录来 basedir="D:/phpStudy/MySQL/" datadir="D:/phpStudy/MySQL/data/" # 编码和引擎各位就怎么开心怎么来 character-set-server=utf8mb4 default-storage-engine=INNODB # explicit_defaults_for_timestamp 关闭了 timestamp 类型字段锁拥有的一些会让人感到奇怪的默认行为,加入了该参数以后,若是还须要为 timestamp类型的字段指定默认行为,那么就须要显示的在建立表时显示的指定。没有这一行在初始化的时候会报下面这个警告 # TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). explicit_defaults_for_timestamp=true
个人phpstudy是安装在D盘下的,各位看官根据状况windows
5.以管理员身份运行命令提示符,进入D:/phpStudy/MySQL/bin,执行mysqld --initialize命令服务器
6.至此,你打开phpstudy就已经能够正常启动mysq了。app
不过,mysq的密码已经不是默认的root了。
7.打开MySQL目录下的data文件夹,就是刚刚初始化时候自动生成的data文件夹。里面有个.err的文件,文件名默认是你的计算机名,用sublime text或者记事本等文本编辑器打开。
前几行都是一些正常的警告信息。最后一行是关键,也写的很清楚了,密码就在最后。个人这个就是Ktqa4byL<Z:<。这个密码不能直接使用,好比,用navicat等登陆会提示的。
8.修改密码。在命令行登陆之后,运行SET PASSWORD=PASSWORD("new_password")修改就能够了。
Enjoy It!
很感谢这位大佬,一上午都没有解决,看他的十分钟就搞定了。