今天在導入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兩個服務 ,二者發生了衝突因此就起不來了
以上就是我今天所遇到的問題 但願你們多多交流