升級 phpStudy 中 MySQL 版本至 5.7.17

今天在往本地導數據表的時候總是報錯:php

[Err] 1294 - Invalid ON UPDATE clause for '字段名' column

報錯的數據表字段:mysql

`字段名` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP

同事說同一個 sql 文件他能夠導成功。猜多是數據庫版本的問題,同事的是 5.6,我查了下本地的數據庫版本是 5.5.53。網上查了一下,果真是版本的問題,5.5 和 5.6 在 TIMESTEMP 的行爲上有所不一樣,5.6.5 以前的版本不支持多個CURRENT_TIMESTAMP 默認值。sql

因爲本地用的集成環境是 phpStudy 2016,沒有找到升級 MySQL 版本的選項,因此本身升級一下。數據庫

從官網上下載高版本的 MySQL :https://dev.mysql.com/downloads/file/?id=467269,選的版本是 5.7.17(後面才發現 5.7 版本的安裝、系統表字段等又和以前的版本有所不一樣)。安全

 

 步驟:spa

0x00

備份原來 phpStudy 中 MySQL 安裝目錄命令行

 

0x01

把下載的 MySQL 壓縮文件解壓至 phpStudy 下的 MySQL目錄,複製 my-default.ini ,重命名爲 my.ini。code

打開 my.ini,找到 #basedir 處編輯:blog

basedir=D:/phpStudy/MySQL
datadir=D:/phpStudy/MySQL/data

 

0x02

把 MySQL 安裝路徑添加至系統環境變量圖片

 

過程:計算機—>系統屬性—>高級系統配置—>環境變量

這裏寫圖片描述

選擇PATH,在其後面添加: 你的mysql bin文件夾的路徑 (如:個人是:D:\Program Files\MySQL\MySQL Server 5.6\bin ) 修改後的PATH爲:

PATH=…….;D:\Program Files\MySQL\MySQL Server 5.6\bin (需注意:1.必須在原有PATH後加英文輸入下的分號;2.是追加,不是覆蓋。)

這裏寫圖片描述

0x03

在 cmd 下進入 MySQL 的 bin 目錄(個人是 D:/phpStudy/MySQL/bin),執行:

mysqld --initialize

初始化數據庫

 

0x04

安裝服務:

mysqld -install

啓動服務:

net start MySQL

 

0x05

此時登入 MySQL 報錯:

C:\Users\dell>mysql -uroot -p
Enter password: ****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

嘗試修改 root 用戶密碼:

關閉服務net stop MySQL

用安全模式打開,mysqld --skip-grant-tables

這個時候,光標會一直閃。注意,不要動,打開另外一個命令行窗口。

 

登陸 mysql -u root -p

密碼爲空,直接回車;

就能夠進去了

而後

use mysql;

(可能先前的版本密碼的擡頭是password,5.7.11是 authentication_string,能夠select * from user,查看一下)

(老版本)update user set password=password("123456") where user="root";

(5.7.11)update user set authentication_string=password("123456") where user="root";


最後

刷新權限:

FLUSH PRIVILEGES;

 

從新登陸。

 

升級後隨phpstudy啓動

命令行執行:mysqld --remove mysql

而後 在phpstudy中服務管理器總能安裝mysql服務

 

 

 

此時查看 mySQL 版本:

複製代碼
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.17    |
+-----------+
複製代碼
相關文章
相關標籤/搜索