我在我的電腦上安裝了MysqlServer和Mysql Workbench。伺服器運(yùn)作良好(綠色)。 現(xiàn)在我有一個(gè)共享託管伺服器,我想透過(guò)一個(gè)PHP腳本從我的電腦上的資料庫(kù)中獲取資料。目前還沒(méi)有資料庫(kù)或任何數(shù)據(jù),因?yàn)槲抑皇窍胂冉蓚€(gè)伺服器之間的連接。我嘗試了很多次連接,但到目前為止都沒(méi)有成功。
→ 使用Workbench的選項(xiàng)文件,我在bind-address中放入了由託管伺服器提供的IP位址。 (即希望從我的電腦上的MysqlServer存取的遠(yuǎn)端伺服器)。
→ 我還啟用了SSL連接,因?yàn)槲业闹鳈C(jī)網(wǎng)站是基於SSL的。
→ 然後,在使用者和權(quán)限中,我將%放在root使用者上,以便root可以從另一個(gè)主機(jī)(不僅僅是localhost)連接到我的電腦上的MysqlServer。
→ 我已經(jīng)允許了Windows防火牆上連接埠3306的入站規(guī)則。
→ 我正在使用的基本程式碼是一個(gè)基本的PDO PHP資料庫(kù)連接,其中$host是我的電腦的公共IP,$port是3306,$root是root,密碼是我在安裝MysqlServer時(shí)創(chuàng)建的密碼。
我正在使用的基本程式碼是:
try { $dbh = new PDO("mysql:host=".$host.";port=".$port, $root, $root_password); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } ?>
→ 我遇到的錯(cuò)誤是:SQLSTATE[HY000] [2002] 無(wú)法連接到MySQL伺服器「我的電腦的公共IP位址」。
有人遇到過(guò)這種問(wèn)題嗎?你能看到任何奇怪的東西可以幫助我嗎? 歡迎任何答案、建議、評(píng)論或問(wèn)題。
有兩種連接資料庫(kù)的方式-
$connect = new PDO('mysql:host=localhost;port=3306;dbname=dbname','root',''); $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
或
$connect = new mysqli("localhost","root","","dbname");