XAMPP是一個把Apache網頁伺服器與PHP、Perl及MariaDB集合在一起的安裝包,允許使用者可以在自己的電腦上輕易的建立網頁伺服器。缺點是Apache/PHP/Perl/MariaDB這些的版本未必都是最新版,並且要自行更新會有些微難度。不過,如果對於版本沒有太大要求情況下,使用XAMPP這類整合的套件是比較省事的選擇。
但是在使用時如果你希望可以把XAMPP安裝在USB儲存上,讓他變成可攜式版本,就不能用一般的安裝方式。並且要注意,使用的USB最好是3.0以上,不然在執行上會明顯緩慢。
如何安裝可攜式XAMPP (Portable XAMPP)?
簡單來說,安裝可攜式XAMPP方式是 :
(1)下載 XAMPP 可攜式版本。
(2) 解壓縮檔案。
(3) 執行 setup_xampp.bat。
(4) 執行 xampp-control.exe。
細節說明如下 .....
步驟一 : 下載可攜式XAMPP
到XAMPP一般的下載處 : https://www.apachefriends.org/zh_tw/download.html
但是不是下載一般版本,而是如下圖,點選「更多下載」。
然後去尋找適合你的可攜式版本,如下圖 :
步驟二 : 解壓縮後執行 setup_xampp.bat
我就選擇xampp-portable-windows-x64-8.2.0-0-VS16.zip,下載後解壓縮就可以看到xampp目錄。裡面有檔案 setup_xampp.bat,以及 xampp-control.exe。
如果你直接執行 xampp-control.exe,開啟Apache或是MySQL,會看到如下情況 :
你必須先執行 setup_xampp.bat ,如下圖 :
步驟三 : 執行 xampp-control.exe
然後再執行 xampp-control.exe ,並且執行時可能會出現以下情況 (因為xampp不是從微軟商店下載的) ,只需要點選「仍要安裝」即可。
啟動Apache,可能會被防火牆擋住,如下圖 :
啟動MySQL,可能會被防火牆擋住,如下圖 :
只需要點選「允許存取」即可。
然後就可以看到XAMPP控制面板如下圖,按下Start後,相關的Ports已經可以正常開啟 :
這樣子,可攜式XAMPP就安裝完成了。
你可以看到MySQL、MariaDB預設的Port是3306,Apache的Port是80 (http)、443 (https)。
步驟四 : 如果有任何移動XAMPP目錄,需要再次執行setup_xampp.bat
但是有個問題要注意,就是當你移動XAMPP到另外目錄或是更換磁碟代號,就可能再次發生無法執行的畫面,這時只需要再次執行 setup_xampp.bat ,選擇(1) 即可,如下圖 :
開始使用可攜式XAMPP : 修改root密碼
MySQL、MariaDB預設的管理者帳號是 root,其預設密碼是空白。
MySQL、MariaDB預設的資料庫管理程式是PhpMyAdmin。
當我們成功啟用XAMPP的資料庫後,點選MySQL的Admin按鈕就會直接進入PhpMyAdmin資料庫管理介面如下 :
因為目前root的密碼為空,且phpMyAdmin目前設定為不需要登入,所以直接進入管理介面。
如果我們要設定密碼,並且在進入phpMyAdmin時需要登入帳號密碼,應該怎麼做呢?
步驟一 : 到XAMPP的phpMyAdmin目錄下,修改config.inc.php
找到這個設定
$cfg['Servers'][$i]['auth_type'] = 'config';
改為以下
$cfg['Servers'][$i]['auth_type'] = 'http';
說明 : auth_type有三種方式,各為config、http、cookie,config就是把帳密寫在設定檔上,http就是登入時跳出登入畫面,cookie就是以程式的方式登入。
步驟二 : 以command line的方式進入MySQL,修改密碼
可以點選XAMPP控制台的Shell,或是滑鼠點在Windows的開始,按滑鼠右鍵並選擇執行,如下 :
再輸入cmd,按下確定,如下 :
接著就會出現指令模式,使用 cd (change directory) 指令切換到MySQL的執行目錄下,然後登入MySQL。
指令如下 :
cd \xampp
(切換到xampp目錄)
cd mysql\bin
(再切換到 mysql\bin目錄)
mysql -u root -p
(以root帳號登入)
再以指令更改密碼
set password for 'root'@'localhost' = password('123456');
(假設密碼為 123456 )
這時候你再進入phpMyAdmin,會出現如下畫面 :
就可以使用帳密登入phpMyAdmin了。如果要把密碼再改回空白,只需要再一次設定密碼即可 : set password for 'root'@'localhost' = password('');
另外一個方式,就是修改config.inc.php時,把這個設定
$cfg['Servers'][$i]['auth_type'] = 'config';
改為以下
$cfg['Servers'][$i]['auth_type'] = 'cookie';
並修改
$cfg['blowfish_secret'] = '秘密字串';
以上的秘密字串需要至少32碼,可以使用工具來產生
例如我產生的秘密字串為 '%kY2N(Pwue&WNf=.O#t-\7xncs/6m*Nc'
這樣在登入時就會呈現如下畫面,但是前提是瀏覽軟體要開啟cookie,不過大多瀏覽軟體的設定,都不會刻意關閉cookie,所以登入應該都不會有問題。
把root的空白密碼,加上密碼的第二種方式
你也可以在啟動MySQL服務下,使用XAMPP的Shell,然後在Shell內輸入 :
mysqladmin -u root password
然後輸入密碼,按下Enter,並再次確認密碼,再按下Enter,這樣root的密碼就更新了。
如果我忘了MySQL的root密碼,該怎麼辦呢?
步驟一 : 先停止MySQL服務。
步驟二 : 修改My.ini
按下XAMPP控制面板上的config,編輯my.ini
把 key_buffer 改為 key_buffer_size (如果已經是就不用改)
在[mysqld]下加上一行
skip-grant-tables
步驟三 : 啟動MySQL服務。
步驟四 : 執行下列指令
mysql -u root
FLUSH PRIVILEGES;
如果你的資料庫是 MySQL 5.7.6 或是 MariaDB 10.1.20 更新的版本,則使用以下方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
如果你的資料庫是 MySQL 5.7.5 或是 MariaDB 10.1.20 更舊的版本,則使用以下方式
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
步驟五 : 最後修改 My.ini 並重新啟動MySQL服務。
把 My.ini 的 skip-grant-tables 這行刪除並儲存, 重新啟動MySQL服務即可。
0 留言