因為要做php開發,需要搭建LAMP環境。第一次在linux下搭環境,很忙然。根據網上linux下搭建LAMP環境,于是我下載下傳了apache php5 mysql的源碼進行編譯。中間各種錯誤,需要安裝各種依賴。費了好大勁,mysql還是沒有連接配接成功。幾近放棄,改用windows。後來有看到unburnt下的搭建LAMP環境的教程,隻需用指令 sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql即可,友善快捷。終于是搭建成功了。
可是好景不長,在一個月後,需要用我的電腦作為伺服器。apache沒問題,ftp沒問題,mysql出問題了,對方無法遠端登入我的mysql,根據教程先是以mysql下用指令給使用者添權重限grant all on *.* to[email protected]‘%’ identified by "123"; 不知道哪給教程告訴我的需要在配置檔案/etc/mysql/my.conf添加skip-networking于是登入是就出現了資料庫不能連接配接(10061)
又是上網繼續查找,最後無意将配置檔案最後一行!includedir /etc/mysql/conf.d/中的!删掉了,這次本地的mysql都起不來了,錯誤日志也沒看明白,一直沒找到原因。最後在即将砸電腦前,我決定重新安裝mysql。
可是問題又來了,之前那麼費勁的配置LAMP現在都忘了,能不能配置成功,心裡特别忐忑。
于是我用指令sudo apt-get remove mysql-server-5.5,幾個與mysql相關的就不一一列舉了,按tab什麼都能看到。解除安裝之後我有發現ubuntu有一個更加神奇的指令搭建LAMP。簡直是一鍵安裝。sudo apt-get install lamp-server^對,你沒有看錯,有^号。(看來ubuntu知道我們搭環境費勁)。運作這個指令時會檢測你需要安裝的軟體,然後逐個安裝(同時也會檢測到你需要解除安裝的軟體,很強大)。因為之前下載下傳過了mysql-server,是以不需要下載下傳,直接安裝。
本以為裝上之後就可以了,錯,新的問題又出現了,在設定mysql-server-5.5時報錯,說是
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.5; however:
Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
那我再解除安裝一下mysql-server呗。結果問題依然存在,上網檢視要我删除/etc/mysql和/usr/lib/mysql。依舊不行,我就用whereis mysql指令檢視 發現存在/usr/bin/mysql.果斷删除之,存在這個問題,于是我又用了一次wehereis mysql指令,發現有重新生成了/etc/myaql檔案。後來經過分析,一定是解除安裝不幹淨。後來發現了mysql-common沒有解除安裝幹淨。最後又用了管道指令dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P清除下殘留,發現他将之前mysql的資料庫都删掉了。(不知道是殘留問題還是mysql-common問題,之前記得已經删除mysql-common了)之後再次安裝mysql,問題解決了。頓時神清氣爽。
懷着忐忑的心請用代碼測試下,發現連接配接成功。
<?php
$link=mysql_connect("localhost","root","6645426");
if(!$link) echo "FAILD!連接配接錯誤,使用者名密碼不對";
else echo "OK!可以連接配接";
?>
接着是解決mysql遠端連接配接問題了。經過嘗試,
在設定使用者權限之後,隻要在配置檔案中将skip—networking注釋掉,
經bind-address注釋掉就可以了。經測試,也已經成功。
總結:
1 不能根據盲目的參照教程。要知道為什麼這麼做。
2 出現問題要多分析,到底是哪裡出了問題,對症下藥,不能别人說什麼就胡亂跟随。
3問題肯定能解決的,不要輕易重裝系統,那樣會錯過很多學習的機會。
在忍住幾次想重裝系統的沖動下,問題完美解決了,我基本遇到了搭載LAMP環境時出現的所有問題。做一個記錄,希望對像我一樣的新手有所幫助。