假設有一臺遠程服務器,並且我的電腦上安裝了phpMyAdmin客戶端。我如何訪問此服務器並通過phpMyAdmin客戶端進行管理?那可能嗎?如何使用本地phpMyAdmin客戶端訪問遠程服務器?
回答
這是可以做到的,但您需要更改phpMyAdmin的配置,閱讀這篇文章: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
如果出於任何原因的鏈接死了,你可以使用以下步驟:
- 查找phpMyAdmin的配置文件名爲
config.inc.php
- 找到
$cfg['Servers'][$i]['host']
變量,並將其設置爲您的遠程服務器的IP或主機名稱 - 查找
$cfg['Servers'][$i]['port']
變量,並將其設置爲遠程mysql端口。通常這是3306
- 找到
$cfg['Servers'][$i]['user']
和$cfg['Servers'][$i]['password']
變量,這些設置爲您的用戶名和密碼,遠程服務器
如果沒有適當的服務器配置,連接可能比例如本地連接速度較慢,這會使用IP地址代替主機名可能稍微快一些,以避免服務器必須從主機名查找IP地址。
此外,請記住,當您以這種方式連接時,遠程數據庫的用戶名和密碼以純文本形式存儲,因此您應該採取措施確保無人能夠訪問此配置文件。或者,您可以保留用戶名和密碼變量爲空,以在每次登錄時提示輸入它們,這更安全。
您可以在phpMyAdmin安裝的config.inc.php文件中設置。
$cfg['Servers'][$i]['host'] = '';
低於線只需添加到您「的config.inc.php」文件中的底部:
$i++;
$cfg['Servers'][$i]['host'] = 'HostName:port'; //provide hostname and port if other than default
$cfg['Servers'][$i]['user'] = 'userName'; //user name for your remote server
$cfg['Servers'][$i]['password'] = 'Password'; //password
$cfg['Servers'][$i]['auth_type'] = 'config'; // keep it as config
。你將得到「當前服務器:」同時下載「127.0.0.1」和你提供的「$ cfg ['Servers'] [$ i] ['host']」服務器之間的凸輪切換。
更多詳細信息:http://goo.gl/FZ6nqD
這當然是可以從phpMyAdmin的本地實例訪問遠程MySQL服務器,其他的答案人士指出。爲了達到這個目的,你必須登錄configure the remote server's MySQL server to accept remote connections,並允許通過防火牆的流量來獲取MySQL正在監聽的端口號。我更喜歡涉及SSH Tunnelling的稍微不同的解決方案。
以下命令將成立一個SSH隧道,將在本機端口3307的所有請求轉發到3306端口的遠程計算機上:
ssh -NL 3307:localhost:3306 [email protected]_HOST
出現提示時,你應該輸入密碼遠程機器上的root用戶。這將打開隧道。如果您想在後臺運行此操作,則需要添加-f
參數,並在本地計算機和遠程計算機之間設置Passwordless SSH。
當您運行SSH隧道後,您可以通過修改/etc/phpmyadmin/config.inc.php
文件將遠程服務器添加到本地phpMyAdmin的服務器列表中。以下內容添加到該文件的末尾:
$cfg['Servers'][$i]['verbose'] = 'Remote Server 1';// Change this to whatever you like.
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$i++;
我寫了一個更深入的blog post究竟這一點,如果你需要額外的幫助。
關注此博客文章。你可以很容易地做到這一點。 https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
文件的config.inc.php包含您的phpMyAdmin的安裝配置設置。它使用數組爲每個可連接的服務器存儲一組配置選項,默認情況下只有一個,您自己的機器或本地主機。爲了連接到另一臺服務器,您必須將另一組配置選項添加到配置陣列。你必須編輯這個配置文件。
首先打開config.inc.php文件在phpMyAdmin文件夾中。在wamp服務器上,您可以在wamp \ apps \ phpmyadmin文件夾中找到它。然後將下面的部分添加到該文件。
$i++;
$cfg['Servers'][$i]['host'] = 'hostname/Ip Adress';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
我們來看看這個變量是什麼意思。
$i++ :- Incrementing variable for each server
$cfg[‘Servers’][$i][‘host’] :- Server host name or IP adress
$cfg[‘Servers’][$i][‘port’] :- MySQL port (Leave a blank for default port. Default MySQL port is 3306)
$cfg[‘Servers’][$i][‘socket’] :- Path to the socket (Leave a blank for default socket)
$cfg[‘Servers’][$i][‘connect_type’] :- How to connect to MySQL server (‘tcp’ or ‘socket’)
$cfg[‘Servers’][$i][‘extension’] :- php MySQL extension to use (‘mysql’ or ‘msqli’)
$cfg[‘Servers’][$i][‘compress’] :- Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
$cfg[‘Servers’][$i][‘auth_type’] :- Method of Authentication
$cfg[‘Servers’][$i][‘username’] :- Username to the MySQL database in remote server
$cfg[‘Servers’][$i][‘password’] :- Password to the MySQL database int he remote server
添加該配置部分後,重新啓動您的服務器,現在你的phpMyAdmin的主頁將改變,它會顯示一個字段選擇服務器。
現在您可以選擇您的服務器並通過輸入該數據庫的用戶名和密碼來訪問您的遠程數據庫。
可能會更準確,並解釋更多關於您的答案。鏈接的答案是好的,但可能無法訪問,如果由於任何原因鏈接損壞。 –
正如回答c.hill答案中所述,如果你想要一個安全解決方案我建議打開SSH隧道到您的服務器。
這裏是這樣做對的Windows用戶的方式:從Putty website
下載的Plink和膩子,把你所選擇的文件夾中的文件(在我的例子
C:\Putty
)打開Windows控制檯並cd到Plink文件夾:
cd C:\Putty
打開SSH隧道重定向到3307端口:
plink -L 3307:localhost:3306 [email protected]_ip -i path_to_your_private_key.ppk
其中:
- 3307是要重定向到
- 本地主機的本地端口是MySQL數據庫的上的地址遠程服務器(默認爲本地主機)
- 3306是遠程服務器上的PhpMyAdmin的端口使用(默認爲3306)
最後可以設置phpMyAdmin的:
- 遠程服務器添加到本地配置的phpMyAdmin通過將下面的行在的config.inc.php的端
- 您應該能夠現在
http://127.0.0.1/phpmyadmin
行補充:
$i++;
$cfg['Servers'][$i]['verbose'] = 'Remote Dev server';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
連接如果你不想每次需要連接到遠程服務器,只需建立一個批處理文件(通過保存2個命令行的.bat文件)時打開控制檯。
在Ubuntu中
只要你需要修改在phpMyAdmin文件夾中,即「的config.inc.php」一個單一的文件。只是下面幾行添加到你的「的config.inc.php」。
文件位置:/var/lib/phpmyadmin/config.inc.php
或 /etc/phpmyadmin/config.inc.php
也許你沒有編輯該文件的權限,只是在使用此命令
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
OR(在不同的系統,你可能有給你許可檢查這兩個位置)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
然後將代碼複製並粘貼到您的[R config.inc.php
文件
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'Database Server 2';
$cfg['Servers'][$i]['host'] = '34.12.123.31';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
,並與您的服務器的詳細信息
轉到文件\ phpMyAdmin的\ config.inc.php文件在最底層,更改託管的詳細信息,如主機,用戶名,密碼,進行相應的更改等等。
我會添加這個作爲評論,但我的聲望還不夠高。
在版本4.5.4.1deb2ubuntu2,我猜測任何其他版本4.5.x或更新。根本不需要修改config.inc.php文件。相反,再去一個目錄下conf.d.
用'.php'擴展名創建一個新文件並添加行。這是一種更好的模塊化方法,並隔離每個遠程數據庫服務器訪問信息。的/etc/http/conf.d/phpMyAdmin.conf
而且低於上述文件entires
儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18797738) – msparer
- 1. 我無法通過本地phpmyadmin訪問遠程mysql服務器
- 2. 如何使用python客戶端訪問遠程服務器上的Hive
- 3. 如何使用本地MAMP訪問遠程服務器
- 4. 如何從客戶端腳本中使用遠程Web服務?
- 5. Android客戶端與遠程服務器
- 6. 如何運行本地服務器/客戶端應用程序?
- 7. 從遠程服務器端訪問本地主機
- 8. 如何從客戶端訪問服務器主機名知道客戶端訪問服務器FQDN
- 9. 與R的遠程通信 - 如何開始使用R GUI客戶端訪問遠程服務器上的R
- 10. 如何訪問遠程服務器上的phpMyAdmin
- 11. 如何將C#客戶端RPC寫入遠程本地C++服務器?
- 12. Web服務客戶端VS直接訪問遠程數據庫
- 13. 如何讓遠程用戶訪問我的本地TFS服務器?
- 14. 如何遠程訪問phpmyadmin
- 15. 如何遠程訪問本地SVN服務器?
- 16. 從本地服務器訪問本地網絡上的客戶端打印機
- 17. 如何訪問Silverlight客戶端和服務器端?
- 18. 如何從客戶端訪問服務器端WebControl?
- 19. Mule:如何使用來自遠程客戶端的服務
- 20. 從客戶端程序訪問服務器端代碼
- 21. 使用Zend_Db_Table訪問遠程服務器
- 22. 從遠程登錄服務器禁用客戶端的本地回顯
- 23. 從遠程服務器獲取遠程客戶端列表
- 24. java.io.FileNotFoundException:(訪問被拒絕)在java.io.FileInputStream.open(本地方法)遠程Tomcat服務器讀取excel客戶端機器
- 25. 如何遠程訪問Subversion服務器
- 26. 如何遠程訪問SVN服務器?
- 27. 如何訪問遠程服務器
- 28. OPC客戶端 - 如何從遠程OPC服務器讀取
- 29. 如何遠程連接python tcp客戶端和服務器?
- 30. 訪問SharePoint 2010使用列表Web服務從WPF客戶端遠程列出
您還需要對數據庫實例的防火牆允許流量,並與遠程訪問權限的數據庫服務器上的用戶。 – ceejayoz
爲了您的信息,端口3306是默認的MySQL端口 –