Win11 XAMPP Carch – Error: MySQL shutdown unexpectedly.

終於還是升級了 Win11,升級完成後慘案還是發生了,該來的還是會來。在我電腦中安裝用來開發用的 XAMPP 中的 MySQL 居然打不開了!!! 還好在 Win10 的時候有遇過一次,也感謝自己有記錄下來,依然有用,解決我 Win11 安裝後 MySQL 崩潰問題,也保住所有資料,本文也帶大家一步一步的做,如您也遇到一樣情況,可以參考本文,希望也能解決您的問題。

升級 Win11後,開啟 XAMPP 出現一堆錯誤的紅字,MySQL 也跟著掛了!!!!

檢視錯誤日誌

由 XAMPP 控制面板開啟 mysql error log (也看不是很懂)

修復錯誤

詳細原因其實也不是很清楚,網路上找到下列這篇文章,似乎是最簡單解決這個問題,本文是依照下列這篇文章進行問題排除,方法與原文有點差異,有興趣可參考原文

參考:xampp mysql and
參考:phpmyadmin dont work

備份資料檔案

如果您的資料已經有資料了,強烈建議備份下來,再來的動作可能會造成原有資料遺失,做危險操作時,花一些時間備份,養成好習慣

資料檔案預設目錄:C:\xampp\mysql\data

複製 backup 目錄中的檔案覆蓋於 data 目錄中

預設 backup 目錄:C:\xampp\mysql\backup

注意!! 若您 資料庫有使用 innodb 在複製 backup 中的檔案時,不可以複製 ibdata1 這個檔案,同時也確保 ibdata1 存在您的 data 目錄中,ibdata1 刪除了,將無法恢復您的資料庫

如果您已誤刪或覆蓋了 ibdata1 這檔案了,還有救

請參考此文章,恢復您的 innodb

參考:recover mysql database from ibdata1

重啟資料庫

覆蓋檔案完成,重啟 MySQL,太好了,沒有報錯,接著開啟 phpMyAdmin 驗證一下是否正常

Youtube 有網友將步驟製成影片,也可以參考這影片

上方步驟完成後,開啟 phpMyAdmin

噴了一些錯誤,但應該是密碼問題,剛覆蓋 backup 的檔案後,如果您的 phpMyAdmin 或其他程式都有設定資料庫登入密碼的話,需要重新設定密碼

MySQL 重設密碼

開啟 XAMPP 面板,按下右側的 Shell 按鈕

輸入下列這段指令更改資料庫 root 密碼

參考:Resetting MySQL Root Password with XAMPP on Localhost

成功開啟 phpMyAdmin

[……]

閱讀更多

MySQL #1067 – Invalid default value for ‘post_date’

datetime 的預設值設定為 0000-00-00 00:00:00 在舊版本沒問題,但在MySQL5.7後會出現 錯誤,主要原因從 MySQL 5.7 開始,SQL 模式預設為 NO_ZERO_DATE ,需禁用此限制。本文提供兩種解法:

方法一、

先將欄位預設值設定為NULL:

再更新預設值

方法二、

先執行關閉 NO_ZERO_DATE 模式

就可以順利執行

https://stackoverflow.com/a/37696251/6784662
https://stackoverflow.com/a/32829623

[……]

閱讀更多

XAMPP Win10 Carch – Error: MySQL shutdown unexpectedly.

不知道怎麼回事,今天打開我本機的開發環境的 XAMPP ,無法啟動 MySQL ,因次開始排除錯誤,也將這個過程紀錄,如您也遇到一樣情況,可以參考本文,希望也能解決您的問題

開啟 XAMPP 出現一堆錯誤的紅字

檢視錯誤日誌

由 XAMPP 控制面板開啟 mysql error log, 紅框這一段似乎是錯誤的原因

修復錯誤

詳細原因其實也不是很清楚,網路上找到下列這篇文章,似乎是最簡單解決這個問題,本文是依照下列這篇文章進行問題排除,不過有點不太一樣就是,有興趣可參考原文
xampp mysql and
phpmyadmin dont work

備份資料檔案

如果您的資料已經有資料了,強烈建議備份下來,再來的動作可能會造成原有資料遺失,做危險操作時,花一些時間備份,養成好習慣

資料檔案預設目錄:C:\xampp\mysql\data

複製 backup 目錄檔案覆蓋於 data 目錄

預設 backup 目錄:C:\xampp\mysql\backup

複製 backup 目錄檔案覆蓋於 data 目錄

注意!! 若您 資料庫有使用 innodb 在複製 backup 中的檔案時,不可以複製 ibdata1 這個檔案,同時也確保 ibdata1 存在您的 data 目錄中,ibdata1 刪除了,將無法恢復您的資料庫

如果您已誤刪了 ibdata1 這檔案了,還有救

請參考此文章,恢復您的 innodb

參考:recover mysql database from ibdata1

重啟資料庫

覆蓋檔案完成,重啟 MySQL,太好了,沒有報錯,接著開啟 phpMyAdmin 驗證一下是否正常

開啟 phpMyAdmin

噴了一些錯誤,但應該是密碼問題,剛覆蓋 backup 的檔案後,如果您的 phpMyAdmin 或其他程式都有設定資料庫登入密碼的話,需要重新設定密碼

MySQL 重設密碼

開啟 XAMPP 面板,按下右側的 Shell 按鈕

輸入下列這段指令更改資料庫 root 密碼

參考:Resetting MySQL Root Password with XAMPP on Localhost

成功開啟 phpMyAdmin

[……]

閱讀更多

MySQL 圖解 LEFT JOIN, INNER JOIN,RIGHT JOIN 的差異及範例

C.L. Moffatt 發表 Visual Representation of SQL Joins 用圖示來解釋各種 SQL Join 非常清楚,本文僅節錄MySQL常用的三種Johin方式,說明其中差異及提供使用範例,主要也是讓我自己清楚這幾種 Join 的用法,有更多Johin 需求的朋友可於文章結尾找到原文網址。

Inner Join

該查詢將返回左表(表A)中所有與右表(表B)中具有匹配記錄的記錄。

範例如下:

Left Join

無論這些記錄與右表(表B)中是否匹配,查詢都返回左表(表A)中的所有記錄及與(表B)匹配的記錄。

Right Join

無論這些記錄與左表(表A)中是否匹配,查詢都返回右表(表B)中的所有記錄及與(表A)匹配的記錄。

本文作者:C.L. Moffatt
原文網址:Visual Representation of SQL Joins

[……]

閱讀更多

WAMP Server change default Browser to Chrome

開啟 WAMP Sever 居然是用 IE 11 開啟,到底對不對阿,這都什麼時期的產物了,雖然直接用瀏覽器輸入網址瀏覽本地端網頁也是可行,但心裡就是有個疙瘩,來哥教你改成用你愛的瀏覽器開

修改設定檔

如果安裝路徑沒有修改的話,開啟下面這個檔案,如果安裝路徑有修改的話,自己去找這個檔案。

用你愛用的文字編輯器打開,照到該死的這一行

替換成瀏覽器執行檔位置

關閉 WAMP Server 重新開啟,SEE Chrome 出現了,開勳

[……]

閱讀更多

XAMP phpMyAdmin Error Cannot connect: invalid settings.

安裝完 XAMPP 開啟控制面板,啟動 Apache & MySQL 而在 MySQL 的同列有一個 Admin 按鈕,這就是開啟 phpMyAdmin 的方式,這是一件再平常不過的事,但今天在另一台電腦裝完 XAMP 後開啟 phpMyAdmin 後發生資料庫連線錯誤

錯誤訊息

著手解決

依照經驗這是密碼錯誤造成的,如果你是預設安裝路徑,你可以直接用文字編輯器開啟下方這個檔案

這是 phpMyAdmin 的設定檔,在檔案中找到下面這幾行

發現密碼是沒有被設定的,我們在 $cfg['Servers'][$i]['password'] 中鍵入我們要的密碼,並且把 $cfg['Servers'][$i]['AllowNoPassword'] 改為 false,像下方這樣

接著儲存檔案,重啟 MySQL,重新進入 phpMyAdmin,賓果!! 看到登入畫面了,登入成功

參考

http://jsnwork.kiiuo.com/archives/2738/xampp-mysql-phpmyadmin-%E8%A8%AD%E5%AE%9A-root-%E5%AF%86%E7%A2%BC/

[……]

閱讀更多

MariaDB vs MySQL versions 版本兼容性比較表

版本兼容性比較表 Replication Compatibility

MySQL 移植 MariaDB 相容性可參考下表

Slave↓ Master→
MariaDB-5.5
MariaDB-10.0
MariaDB-10.1
MariaDB-10.2
MySQL-5.6
MySQL-5.7
MySQL-8.0

MariaDB-5.5
Ok
No
No
No
No
No
No

MariaDB-10.0
Ok
Ok

Ok

MariaDB-10.1
Ok
Ok
Ok

Ok

MariaDB-10.2
Ok
Ok
Ok
Ok
Ok
Ok

MySQL-5.6

X
X
X

MySQL-5.7

X
X
X

MySQL-8.0

X
X
X

MariaDB versus MySQL – Compatibility

[……]

閱讀更多

MySQL 解決匯入錯誤 Variable ‘character_set_client’ can’t be set to the value of ‘NULL’

MySQL 匯入發生下列錯誤

Variable ‘character_set_client’ can’t be set to the value of ‘NULL’

今天再進行客戶資料庫移機的時候,從原本舊機器的phpMyAdmin匯出MySQL的sql檔,匯入新的客戶主機,再熟悉不過的匯出匯入動作,居然冒出了個錯誤,好吧!!遇到錯誤就來解決吧,這裡不討論造成原因,這時候不想知道什麼原因,估狗大神快教我怎麼解決,我想神聽到了。

用你爽的編輯器打開SQL檔,此例使用Notepad++

在文件最前端貼上下面這幾行:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

成功匯入

有圖有真相

結論

為什麼呢?? 嘿~自己估狗,我沒很想知道~哈哈哈

參考資料:

[……]

閱讀更多

[mysql] 外鍵 Foreign Key 速查

當關聯父資料表的主鍵紀錄行被刪除或修改時,InnoDB 對子資料表中紀錄行的處理方式:
CASCADE – 會將有所關聯的紀錄行也會進行刪除或修改。
SET NULL –
會將有所關聯的紀錄行設定成 NULL
NO ACTION –
有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
RESTRICT –
 NO ACTION 相同。[……]

閱讀更多

MIS WAMP手動安裝及設定教學 Apache2.4 + PHP7 for windows10

手動安裝 Apache2.4 + PHP7 for windows10

首先,我該選x64或x86安裝呢?

何謂 x64 和 x86,可閱讀下方網址文章,本篇不多做解釋
x86和x64到底有什麼差異? http://www.ithome.com.tw/node/56880

注意 !!!

若安裝x64版本,PHP & Apache 都需要選擇x64版本,反之亦然

安裝 PHP7 for windows

本例下載 PHP 7.0 VC14 x64 Thread Safe

php-7.0.10-Win32-VC14-x64.zip

解壓縮至 PHP 的存放目錄
本例解壓縮至 C:php-7.0.10-Win32-VC14-x64

設定 php.ini PHP.ini 為PHP的設定檔

PHP安裝目錄中尚無 PHP.ini
但於安裝目錄中有下列2個檔案
php.ini-development 為開發環境用參考設定檔
php.ini-production    為正式環境用參考設定檔
本例複製 php.ini-development 更名為 php.ini 置於於PHP安裝目錄中 文字編輯器開啟 php.ini

以下為常用設定

視需求調整參數,至於設定內容就不於本篇討論

「C:/php-7.0.10-Win32-VC14-x64/」為PHP安裝目錄

注意!!!!!!!!!!

分隔路徑的斜線,要用「/」而不是 windows 檔案總管的「\」

所以是
「C:/php-7.0.10-Win32-VC14-x64/」

不是
「C:\php-7.0.10-Win32-VC14-x64\

儲存 httpd.conf

Apache安裝為 windows 服務,開機自動啟動

開啟 Win10 的 「命令提示字元(系統管理員)」

// 測試設定檔是否正確

錯誤會跳錯誤訊息,正確會顯示syntax OK,接著安裝服務

// 安裝服務,反之解除安裝為 httpd.exe -k uninstall

測試是否正確運行

在網站根目錄C:/AppServ/www下建立一個index.php檔案

運行 http://127.0.0.1
看到下列畫面,代表安裝成功

呼~打完收工!!

[……]

閱讀更多