phpstudy使用xampp匯出的sql指令碼問題
在本地做開發的時候使用的是XAMPP整合開發環境
XAMPP使用的是MariaDB資料庫,MariaDB資料庫是可以對MySQL資料庫進行相容的,但是版本號也需要對應才可以相容
我這個是最新版本的XAMPP,自帶的MariaDB是10.1.37版本的
同時使用的phpstudy也是最新版本的,phpstudy使用的是mysql5.5.53版本
需要注意的是 MariaDB10版本和Mysql5.5版本在使用某些欄位型別的情況下會造成不相容的情況,比如以下情況,使用datetime型別的時候會出現這種情況
這個時候的解決方案就是將phpstudy的mysql資料庫進行升級,升級到5.7版本,解決步驟如下!
升級後是一個全新的資料庫,如果原先的資料庫有資料,最好先備份起來!
1.下載Mysql5.7的壓縮包(注意一定要下載這個版本的包,其他版本的根據這個步驟不一定成功)
https://dev.mysql.com/downloads/file/?id=467269
2.備份phpstudy的Mysql5.5
找到資料夾 phpstudy\PHPTutorial\MySQL 將整個檔案拷貝一份,存放起來,以免升級失敗還可以還原!
3.檢視phpstudy是否安裝了MySQLa服務
在計算機->執行->輸入 services.msc
檢視當前計算機中是否存在這樣一個服務,如果不存在開啟phpstudy進行建立服務
4.替換掉phpstudy中的mysql
解壓下載好的mysql5.7,將解壓後的檔案命名為MySQL,並替換掉 phpstudy\PHPTutorial\MySQL 資料夾內的檔案內容
5.修改my.ini配置檔案
解壓後的mysql5.7壓縮包裡有一個 my-default.ini 檔案,我們將它拷貝一份,命名為 my.ini ,然後我們將phpstudy程式給退出
在將my.ini檔案內的內容進行修改
skip-grant-tables basedir=D:\phpstudy\PHPTutorial\MySQL datadir=D:\phpstudy\PHPTutorial\MySQL\data
5.執行安裝命令(分別執行) 如果出現提示缺少 MSVCR120.dll 那麼請安裝 vc++2013 x86和x64 兩個都安裝
開啟 bin 資料夾,在該資料夾上執行cmd
分別執行以下的兩個命令
mysqld --initialize
mysqld -install
6.重置mysql密碼
還是在剛剛的bin目錄下開啟cmd視窗,執行以下的命令,標紅的那段寫你自己的my.ini配置檔案的地址
mysqld --defaults-file="D:\phpstudy\PHPTutorial\MySQL\my.ini" --console --skip-grant-tables
命令執行完後,我們還要在開啟一個cmd視窗,注意上面那個視窗不要關閉。
在新開啟的視窗輸入 mysql -uroot -p 然後直接回車,執行以下的命令修改你的root賬號的密碼,然後重新整理許可權。
update mysql.user set authentication_string=password('輸入新密碼') where user='root';
FLUSH PRIVILEGES;
然後退出,重新使用剛剛設定的密碼登入一下,登入成功了就代表安裝5.7的mysql成功!
7.配置phpstudy
mysql安裝成5.7後我們還需要讓phpstudy能管理他,在安裝完mysql5.7後會多出一個叫 MySQL的服務,需要將該服務刪除。
開啟cmd 執行命令 sc delete MySQL
以上的步驟操作完成後,重新開啟phpstudy,看看是否可以正常操作mysql。
然後在通過phpmyadmin來執行之前無法正常執行的sql指令碼