windows 7 本機已安裝mysql5的情況下安裝XAMPP以及後續在XAMPP上搭建WordPress

這篇其實是編程無關的技術貼。

近期想接觸學習一下PHP,手裏的電腦是windows7系統的筆記本,懶得爲了這點需要去裝linux或者虛擬機搞火到不行的LAMP,找到了XAMPP,XAMPP是一個把Apache網頁服務器PHPPerlMySQL集合在一起的安裝包允許用戶可以在自己的電腦上輕易的建立網頁服務器

於是問題來了,之前搞JAVA EE時電腦上裝了mysql5.1,但是XAMPP中也安裝了mysql,版本是5.6,怎麼保證在XAMPP的mysql使用正常的情況下,原先的JAVA EE的mysql也可以不出問題的使用呢。

這個問題需要保證以下兩個關鍵點:第一、mysql端口號不能衝突;第二、兩個MySQL服務不衝突。


說完原理,那麼就來按步驟說一下解決方案。

1.修改mysql端口號:

    原先的5.1版已經佔用了3306端口,並且許多項目已經連接了這個端口的數據庫,爲了避免改動原有項目,於是將XAMPP的MySQL端口號設置爲3307。

    注意:3307是未被佔用的端口號,在dos命令行下輸入netstat -aon|findstr 3307 查看端口3307的被佔用情況。也可以是3308等端口,只要未被佔用即可。

    修改方式:

1)修改D:\xampp\mysql\bin目錄下my.ini文件,如下port=3307:

[client] 
# password       = your_password 
port            = 3307 
socket          = "D:/xampp/mysql/mysql.sock"
# Here follows entries for some specific programs 
# The MySQL server
[mysqld]
port= 3307
socket = "D:/xampp/mysql/mysql.sock"

2) 修改D:\xampp\phpMyAdmin\libraries目錄下config.default.php文件:

找到:

$cfg['Servers'][$i]['port'] = '';

改爲:

$cfg['Servers'][$i]['port'] = '3307';

2.重設MySQL服務

MySQL在windows中以服務存在並運行,在XAMPP Control Panel中點擊Services按鈕打開系統服務,也可以在命令行中輸入services.msc 打開。

在其中找到命名爲MySQL的服務,這就是mysql舊版本5.1啓動的服務,由於該服務的存在,XAMPP中啓動MySQL會失敗。處理方式是將之前的MySQL服務重命名,以保證兩個MySQL都可以提供服務。

操作步驟如下:

1)管理員方式打開命令行,進入舊的MySQL路徑C:\Program Files\MySQL\MySQL Server 5.1\bin

2)輸入mysqld --remove,刪除mysql服務。

3)輸入mysqld --install MySQL5.1,新建一個名爲MySQL5.1的服務,注意後面的MySQL5.1參數一定要有,如果直接mysqld --install會默認創建名爲MySQL的服務。

這樣,在XAMPP中再啓動MySQL就可以成功執行了。

備註,如果你之前的MySQL服務名不是默認的,那麼恭喜,“重設MySQL服務”這一步驟就不需要進行了。



打開localhost/phpmyadmin/路徑,root登錄成功。

啓動一個原先的JAVA EE系統,沒有問題。

以上。


===============================================

後續有了想法是在xampp上搭建WordPress,具體步驟網上有很多,例如

http://premium.wpmudev.org/blog/how-to-install-wordpress-locally-for-pcwindows-with-xampp/

http://blog.wpjam.com/article/installing-wordpress-locally/

但是按照網上所述的步驟出現問題,就是在phpmyadmin新建數據庫作爲WordPress的數據庫,但是在配置時總是顯示Can’t select database問題,而用原有默認的test數據庫就沒有問題。

嘗試了許多辦法,包括修改數據庫名、編碼、授權用戶,都不能解決問題,還以爲沒法用自己創建的數據庫搭建了。

突然靈光一顯,想起之前修改了MySQL端口號,也許問題就在這裏,於是修改WordPress下的wp-config.php文件中的DB_HOST值如下。

/** MySQL hostname */
define('DB_HOST', 'localhost:3307');

問題解決。之前只能用默認的數據庫test、mysql等等,是因爲連的是端口號爲3306的數據庫,也就是JAVA EE用的MySQL數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章