我在我的電腦上安裝了MysqlServer和Mysql Workbench。伺服器運作良好(綠色)。 現在我有一個共享託管伺服器,我想透過一個PHP腳本從我的電腦上的資料庫中獲取資料。目前還沒有資料庫或任何數據,因為我只是想先建立兩個伺服器之間的連接。我嘗試了很多次連接,但到目前為止都沒有成功。
→ 使用Workbench的選項文件,我在bind-address中放入了由託管伺服器提供的IP位址。 (即希望從我的電腦上的MysqlServer存取的遠端伺服器)。
→ 我還啟用了SSL連接,因為我的主機網站是基於SSL的。
→ 然後,在使用者和權限中,我將%放在root使用者上,以便root可以從另一個主機(不僅僅是localhost)連接到我的電腦上的MysqlServer。
→ 我已經允許了Windows防火牆上連接埠3306的入站規則。
→ 我正在使用的基本程式碼是一個基本的PDO PHP資料庫連接,其中$host是我的電腦的公共IP,$port是3306,$root是root,密碼是我在安裝MysqlServer時創建的密碼。
我正在使用的基本程式碼是:
try { $dbh = new PDO("mysql:host=".$host.";port=".$port, $root, $root_password); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } ?>
→ 我遇到的錯誤是:SQLSTATE[HY000] [2002] 無法連接到MySQL伺服器「我的電腦的公共IP位址」。
有人遇到過這種問題嗎?你能看到任何奇怪的東西可以幫助我嗎? 歡迎任何答案、建議、評論或問題。
P粉5117495372023-09-07 16:22:10
有兩種連接資料庫的方式-
$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");