phpStudy中升级MySQL版本到5.7.17的方法步骤

yipeiwu_com6年前Mysql基础

前言

今天在工作发现一个错误,在往本地导数据表的时候老是报错:

[Err] 1294 - Invalid ON UPDATE clause for '字段名' column

报错的数据表字段:

`字段名` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP

同事说同一个 sql 文件他可以导成功。猜可能是数据库版本的问题,同事的是 5.6,我查了下本地的数据库版本是 5.5.53。网上查了一下,果然是版本的问题,5.5 和 5.6 在 TIMESTEMP 的行为上有所不同,5.6.5 之前的版本不支持多个CURRENT_TIMESTAMP 默认值。

由于本地用的集成环境是 phpStudy 2016,没有找到升级 MySQL 版本的选项,所以自己升级一下。

从官网上下载高版本的 MySQL :

官方网址:https://dev.mysql.com/downloads/file/?id=467269

百度云盘地址:https://pan.baidu.com/s/1mi4UHtA

选的版本是 5.7.17(后面才发现 5.7 版本的安装、系统表字段等又和之前的版本有所不同)。

步骤:

一、备份原来 phpStudy 中 MySQL 安装目录

二、把下载的 MySQL 压缩文件解压至 phpStudy 下的 MySQL目录,复制 my-default.ini ,重命名为 my.ini。

打开 my.ini,找到 #basedir 处编辑:

basedir=D:/phpStudy/MySQL
datadir=D:/phpStudy/MySQL/data

三、把 MySQL 安装路径添加至系统环境变量

四、在 cmd 下进入 MySQL 的 bin 目录(我的是 D:/phpStudy/MySQL/bin),执行:

mysqld --initialize

初始化数据库

五、安装服务:

mysqld -install

启动服务:

net start MySQL

六、此时登入 MySQL 报错:

C:\Users\dell>mysql -uroot -p
Enter password: ****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

尝试修改 root 用户密码:

打开 my.ini,找到 [mysqld],在下面添加:

skip-grant-tables

此时使用 root 账号,密码处按回车即可登录。

修改密码:

mysql>update mysql.user set authentication_string=password('new_password') where user='root' and Host ='localhost'
mysql> ALTER USER USER() IDENTIFIED BY 'news_password';

刷新权限:

FLUSH PRIVILEGES;

注释掉 my.ini 中刚才添加的

skip-grant-tables

重新登录。

此时查看 mySQL 版本:

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.17  |
+-----------+

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【宜配屋www.yipeiwu.com】的支持。

参考:

phpStudy升级MySQL教程

mysql5.7 安装方法 (跟旧的不一样了)

windows环境中mysql忘记root密码的解决办法

修改MySQL 5.7.9版本的root密码方法以及一些新变化整理

相关文章

PHP实现清除MySQL死连接的方法

本文实例讲述了PHP实现清除MySQL死连接的方法。分享给大家供大家参考,具体如下: 连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接数,以至于其...

Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)

Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)

首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到...

PHP+Mysql+jQuery实现发布微博程序 jQuery篇

PHP+Mysql+jQuery实现发布微博程序 jQuery篇

该应用实现了即时统计输入字数,并且通过ajax与后台交互,将输入内容插入到话题列表中。我将整个流程分为两部分,本文讲解第一部分jquery实现前端交互操作。 首先查看示例:DEMO X...

PHP商品秒杀问题解决方案实例详解【mysql与redis】

本文实例讲述了PHP商品秒杀问题解决方案。分享给大家供大家参考,具体如下: 引言 假设num是存储在数据库中的字段,保存了被秒杀产品的剩余数量。 if($num > 0){...

php+mysqli使用预处理技术进行数据库查询的方法

本文实例讲述了php+mysqli使用预处理技术进行数据库查询的方法。分享给大家供大家参考。具体如下: 代码有些难度,需要基础知识比较扎实才能好理解,代码先放上来: 这里实现查询所有 i...