phpStudy中升级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 | +-----------+
相关推荐:
以上就是phpStudy中升级MySQL版本方法的详细内容,更多请关注其它相关文章!
推荐阅读
-
Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法
-
在VS2008中编译MYSQL5.1.48的方法
-
CentOS系统中PHP和MySQL的升级方法
-
mysql 5.1版本修改密码及远程登录mysql数据库的方法
-
浅谈mysql explain中key_len的计算方法
-
web.py在SAE中的Session问题解决方法(使用mysql存储)
-
Python中MySQL数据迁移到MongoDB脚本的方法
-
MySQL中(JOIN/ORDER BY)语句的查询过程及优化方法
-
MySql 5.7.21免安装版本win10下的配置方法
-
phpstudy2018升级MySQL5.5为5.7教程(图文)