今天在导入sql文件的时候遇到了sql执行错误。最后找到缘由是由于mysql版本太低,致使出错php
缘由:在执行sql的时候出现了两次CURRENT_TIMESTAMP ,最后得知在5.7版本以前都是不支持同时出现两个CURRENT_TIMESTAMPmysql
因此致使执行sql出错。下面是将mysql升级到5.7:laravel
首先到官方区下载所须要的版本5.7sql
官方网址:https://dev.mysql.com/downloads/file/?id=467269数据库
1、备份原来 phpStudy 中 MySQL 安装目录code
2、把下载的 MySQL 压缩文件解压至 phpStudy 下的 MySQL目录,复制 my-default.ini ,重命名为 my.ini。blog
打开 my.ini,找到 #basedir 处编辑:ip
basedir="C:/phpStudy/PHPTutorial/MySQL/"
datadir="C:/phpStudy/PHPTutorial/MySQL/data/"get
以上两个是我对应的文件目录cmd
3、在 cmd 下进入 MySQL 的 bin 目录(个人是 D:/phpStudy/MySQL/bin),执行:
mysqld --initialize 初始化数据库
4、安装服务
mysqld -install
5、安装成功后重启服务net start MySQL,这个时候就能够查看本身的版本了
6、在此时登入 MySQL 报错:
Enter password: ****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
7、打开 my.ini,找到 [mysqld],在下面添加:
skip-grant-tables 声明一下 skip-grant-tables 这行代码我见有人发布的是 要注释掉,可是我这边在使用laravel项目的时候注释掉就报错。你们能够试试这里两种状况
此时在使用 root 帐号,密码处按回车便可登陆。
8、修改密码
mysql>update mysql.user set authentication_string=password('new_password') where user='root' and Host ='localhost'
mysql> ALTER USER USER() IDENTIFIED BY 'news_password';
从新登陆。
此时查看 mySQL 版本:
最后在给你们说一个问题。5.7版本是装上了 可是phpstudy启动不了mysql,可是能够经过服务来进行启动。 只须要在执行一个
sc delete mysql 命令就能够了 由于你会看到服务里面有个mysql跟mysqla两个服务 ,二者发生了冲突因此就起不来了
以上就是我今天所遇到的问题 但愿你们多多交流