第 1 頁 (共 1 頁)
[問題]如何使用遠端的資料庫(已解決)
發表於 : 2003-12-17 21:30
由 LEE
作業系統:WinXP
目前我的論壇是架設於我的電腦\r
現在我想將phpbb移至學校的網頁空間(支援PHP)
由於學校空間沒有資料庫,所以我想搭配我電腦的MySQL來使用\r
今天爬了一些文章,瞭解到必須要修改config.php的資料庫設定
除此之外,資料庫還要可以外連,但是到此我就卡住了
我不知道資料庫要如何才能外連?也不知道怎麼判斷本身是否已經能夠外連\r
\n在論壇找不到文章後,我試著在Google搜尋文章
後來發現似乎跟ODBC有點關係(我並不確定)
因此又回到這找ODBC的相關文章
http://phpbb-tw.net/phpbb/viewtopic.php?t=20700
我依照上面的文章安裝了MyODBC-3.51.06
設定時,在「Host/Server Name(or IP)」輸入xxx.no-ip.com(我電腦的網域名稱)
另外,phpbb的「資料庫伺服器主機名稱」我也從localhost改成xxx.no-ip.com
經過多次測試,仍然不行
我不知道這個ODBC的方向是對或是錯,但是我已經找不到其他辦法了
所以發文請求各位的協助\r
謝謝
發表於 : 2003-12-18 02:12
由 mit
我想這跟ODBC沒啥關係。
不管如何,如果你想將資料庫放在遠端,
你資料庫的位址就應該填你放資料庫的電腦位址,
(而不是localhost)
就你說明的情況而言,我想你應該填你的自機位址~
發表於 : 2003-12-18 02:27
由 messagebox
TO:LEE
mit說的沒錯~~~跟ODBC一點關係都沒有~~
除非你今天是要編寫WIN32上運作的程式~
且是透過ODBC來操作MYSQL~~
不然~~用不上~~
你將PHPBB搬到你學校的機器上後~
將config.php修改一下~
請將
$dbhost = 'localhost';
修改為\r
$dbhost = '你的HOST/IP';
請注意一點~如果你的電腦在防火牆後面~~
請開啟連接埠讓PHPBB能接到你的MYSQL~
MYSQL預設的連接埠是3306~
如果你有更改過~~
$dbhost則要修正為~~
$dbhost = '你的HOST/IP:PORT';
發表於 : 2003-12-18 18:25
由 LEE
首先感謝二位的回覆
我原文中有提到,我已經將$dbhost(資料庫伺服器主機名稱)從localhost改成xxx.no-ip.com
而xxx.no-ip.com 就是我電腦的Host Name,我若改成IP位址也是一樣不行
另外,我port 3306也有開啟
\n我電腦中灌的是appserv 1.9.0
預設MySQL的位置是在C:\AppServ\mysql
請問這部分有需要修改嗎?
謝謝
發表於 : 2003-12-18 19:14
由 streitleak
LEE 寫:首先感謝二位的回覆
我原文中有提到,我已經將$dbhost(資料庫伺服器主機名稱)從localhost改成xxx.no-ip.com
而xxx.no-ip.com 就是我電腦的Host Name,我若改成IP位址也是一樣不行
另外,我port 3306也有開啟
我電腦中灌的是appserv 1.9.0
預設MySQL的位置是在C:\AppServ\mysql
請問這部分有需要修改嗎?
謝謝
你現在是用宿網還是住外面用ADSL??
宿網的話你要問問看宿網管理員...ADSL的話則要看你有沒有用IP分享器跟學校的對外網路是否有開放3306的PORT...
再者如果連不上的話應該有錯誤訊息請把錯誤訊息貼出來以方便判斷..
發表於 : 2003-12-18 19:27
由 LEE
我是自己申請ADSL的,我試過把整個防火牆全關仍是一樣不行
訊息是:
phpBB : Critical Error
Could not connect to the database
謝謝各位幫忙
發表於 : 2003-12-18 19:39
由 messagebox
可以的話把你的domain說一下~
我寫隻程式去連接看看~
帳號密碼不用給~~
我只要確定可不可以連上去~~~
PHPBB給的錯誤永遠都是這一句~~
即使你資料庫連上了~~只是找權限錯了也是給這一句~
發表於 : 2003-12-18 19:58
由 LEE
messagebox 寫:可以的話把你的domain說一下~
我寫隻程式去連接看看~
帳號密碼不用給~~
我只要確定可不可以連上去~~~
PHPBB給的錯誤永遠都是這一句~~
即使你資料庫連上了~~只是找權限錯了也是給這一句~
已經PM給您\r
感謝幫忙
發表於 : 2003-12-18 20:56
由 messagebox
剛剛我連了一下~~~
連線正確~~~
你的SQL的ROOT帳號沒設密碼~~~去改一下~~
我可以確定你的SQL正常運作~~
至少我可以連進去你的資料庫~~~
發表於 : 2003-12-18 21:14
由 LEE
怪哉~SQL我有設密碼\r
您指的應該是my.ini裡的帳號密碼設定沒錯吧\r
那這樣意思是說我SQL沒有問題,可以由外部連進來囉?
對了,我昨天有測試過,把我電腦上phpbb的$dbhost由localhost改成XXX.no-ip.com(或IP)也是會發生找不到資料庫的情形\r
請問這是什麼原因呢?
謝謝
發表於 : 2003-12-18 21:18
由 messagebox
LEE 寫:怪哉~SQL我有設密碼\r
您指的應該是my.ini裡的帳號密碼設定沒錯吧\r
那這樣意思是說我SQL沒有問題,可以由外部連進來囉?
對了,我昨天有測試過,把我電腦上phpbb的$dbhost由localhost改成XXX.no-ip.com(或IP)也是會發生找不到資料庫的情形\r
請問這是什麼原因呢?
謝謝
等等喔~~~
我要查詢一下你SQL的設定~~會不小心看到你的權限設定~~~希望你別介意~~
不知道你有沒有MSN~因為接下來是要跟你說帳號密碼權限的設定~~
我大概知道問題在哪了~
發表於 : 2003-12-18 22:15
由 LEE
問題解決了
感謝messagebox及各位的幫忙
我問題的解決方法(messagebox提供):
使用phpMyAdmin
左邊頁面下拉式選單選擇「mysql」資料庫\r
左邊頁面選擇最下面的「user」資料表\r
在右邊頁面中點選「瀏覽」
在「User」欄位中找自己的設的帳號,對應到左邊「Host」欄位的部分是「localhost」
利用編輯功能將「localhost」修改成「%」即可\r
改完之後可能需要Restart電腦的MySQL,我是重新啟動後才正常
另外,messagebox建議,基於安全考量
User欄位中,「root」留一個localhost,其餘「root」都刪除\r
phpbb的部分,修改config.php
$dbhost = '填入資料庫所在的Host或IP';
其餘的$dbname、$dbuser、$dbpasswd以我的例子來說,因為都沒變動,所以不需要更改\r
將解決方法寫出來,希望也能幫助到其他人\r
再次感謝messagebox的幫忙
發表於 : 2003-12-18 22:24
由 mit
LEE 寫:問題解決了
感謝messagebox及各位的幫忙
我問題的解決方法(messagebox提供):
使用phpMyAdmin
左邊頁面下拉式選單選擇「mysql」資料庫\r
左邊頁面選擇最下面的「user」資料表\r
在右邊頁面中點選「瀏覽」
在「User」欄位中找自己的設的帳號,對應到左邊「Host」欄位的部分是「localhost」
利用編輯功能將「localhost」修改成「%」即可\r
改完之後可能需要Restart電腦的MySQL,我是重新啟動後才正常
雞婆的補充一下:
host設為%是任意主機都能用這個使用者連線到資料庫,
localhost則只有本機(即資料庫放在本機而非遠端)才能用這個使用者連線到資料庫