phpStudy中升级MySQL版本到5.7.17的方法步骤
前言
今天在工作发现一个错误,在往本地导数据表的时候老是报错:
[Err]1294-InvalidONUPDATEclausefor'字段名'column
报错的数据表字段:
`字段名`datetimeDEFAULTNULLONUPDATECURRENT_TIMESTAMP
同事说同一个sql文件他可以导成功。猜可能是数据库版本的问题,同事的是5.6,我查了下本地的数据库版本是5.5.53。网上查了一下,果然是版本的问题,5.5和5.6在TIMESTEMP的行为上有所不同,5.6.5之前的版本不支持多个CURRENT_TIMESTAMP默认值。
由于本地用的集成环境是phpStudy2016,没有找到升级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
启动服务:
netstartMySQL
六、此时登入MySQL报错:
C:\Users\dell>mysql-uroot-p Enterpassword:**** ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)
尝试修改root用户密码:
打开my.ini,找到[mysqld],在下面添加:
skip-grant-tables
此时使用root账号,密码处按回车即可登录。
修改密码:
mysql>updatemysql.usersetauthentication_string=password('new_password')whereuser='root'andHost='localhost' mysql>ALTERUSERUSER()IDENTIFIEDBY'news_password';
刷新权限:
FLUSHPRIVILEGES;
注释掉my.ini中刚才添加的
skip-grant-tables
重新登录。
此时查看mySQL版本:
mysql>selectversion(); +-----------+ |version()| +-----------+ |5.7.17| +-----------+
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。
参考:
phpStudy升级MySQL教程
mysql5.7安装方法(跟旧的不一样了)
windows环境中mysql忘记root密码的解决办法
修改MySQL5.7.9版本的root密码方法以及一些新变化整理