Giả sử có một máy chủ từ xa và tôi có phpMyAdmin client được cài đặt localy trên máy tính của tôi. Làm thế nào tôi có thể truy cập vào máy chủ này và quản lý nó thông qua ứng dụng phpMyAdmin? Điều đó có thể không?Cách truy cập máy chủ từ xa bằng ứng dụng phpMyAdmin cục bộ?
Trả lời
Nó có thể được thực hiện, nhưng bạn cần phải thay đổi cấu hình phpMyAdmin, đọc bài này: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
Nếu vì bất cứ lý do liên kết chết, bạn có thể sử dụng các bước sau:
- Tìm tệp cấu hình của phpMyAdmin, được gọi là
config.inc.php
- Tìm biến số
$cfg['Servers'][$i]['host']
và đặt thành IP hoặc tên máy chủ của máy chủ từ xa của bạn - Tìm số
$cfg['Servers'][$i]['port']
biến và đặt nó vào cổng mysql từ xa. Thông thường đây là3306
- Tìm các biến
$cfg['Servers'][$i]['user']
và$cfg['Servers'][$i]['password']
và thiết lập các tên người dùng và mật khẩu của bạn cho các máy chủ từ xa
Nếu không có cấu hình máy chủ thích hợp, kết nối có thể chậm hơn so với một kết nối địa phương ví dụ, nó sẽ có thể nhanh hơn một chút để sử dụng địa chỉ IP thay vì tên máy chủ để tránh máy chủ phải tra cứu địa chỉ IP từ tên máy chủ. Ngoài ra, hãy nhớ rằng tên người dùng và mật khẩu của cơ sở dữ liệu từ xa của bạn được lưu trữ trong văn bản thuần túy khi bạn kết nối như thế này, vì vậy bạn nên thực hiện các bước để đảm bảo rằng không ai có thể truy cập tệp cấu hình này. Quay lại đầu trang Ngoài ra, bạn có thể để trống biến tên người dùng và mật khẩu để được nhắc nhập chúng mỗi khi bạn đăng nhập, điều này an toàn hơn nhiều.
Bạn có thể đặt trong tệp config.inc.php cài đặt phpMyAdmin của mình.
$cfg['Servers'][$i]['host'] = '';
Chỉ cần thêm bên dưới dòng sau vào tệp “config.inc.php” của bạn ở phía dưới:
$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
. Bạn sẽ nhận được "Current Server:" thả xuống với cả hai "127.0.0.1" và một trong những gì bạn đã cung cấp với "$ cfg ['Máy chủ'] [$ i] ['host']" cam chuyển đổi giữa các máy chủ.
hơnchi tiết: http://goo.gl/FZ6nqD
Cảm ơn bạn của tôi – Ernest
@Ernest: welcome. –
'$ i ++' là một điểm quan trọng vì điều này sẽ không làm cho chúng ta mất kết nối cơ sở dữ liệu với 'localhost' mặc định. –
Nó chắc chắn là có thể truy cập vào một máy chủ MySQL từ xa từ một trường hợp địa phương của phpMyAdmin, như câu trả lời khác đã chỉ ra. Và để làm việc đó, bạn phải configure the remote server's MySQL server to accept remote connections và cho phép lưu lượng truy cập qua tường lửa cho số cổng mà MySQL đang nghe. Tôi thích một giải pháp hơi khác nhau liên quan đến SSH Tunnelling.
Lệnh sau sẽ thiết lập một đường hầm SSH mà sẽ chuyển tiếp tất cả các yêu cầu thực hiện cho cổng 3307 từ máy tính cục bộ của bạn với cổng 3306 trên máy từ xa:
ssh -NL 3307:localhost:3306 [email protected]_HOST
Khi được nhắc, bạn nên nhập mật khẩu cho người dùng root trên máy từ xa. Điều này sẽ mở đường hầm. Nếu bạn muốn chạy điều này trong nền, bạn sẽ cần phải thêm đối số -f
và thiết lập Passwordless SSH giữa máy cục bộ của bạn và máy từ xa.
Sau khi bạn đã có đường hầm SSH hoạt động, bạn có thể thêm máy chủ từ xa vào danh sách máy chủ trong phpMyAdmin cục bộ bằng cách sửa đổi tệp /etc/phpmyadmin/config.inc.php
. Thêm dòng sau vào cuối file:
$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++;
Tôi đã viết một sâu hơn blog post về chính xác này, trong trường hợp bạn cần giúp đỡ thêm.
Tôi nghĩ đây là giải pháp an toàn. Việc mở mySQL để truy cập trực tiếp từ xa thường được xem là thực hành bảo mật kém nếu nó không thực sự cần thiết. – Omn
Câu trả lời của c.hill không đúng. Xin lưu ý: Địa chỉ liên kết phải được đặt thành địa chỉ quay vòng trong tệp mysql my.cnf. –
Không cần phải root trên máy chủ từ xa. cây cầu hoạt động hoàn hảo, cảm ơn!Tuy nhiên, tôi không chắc về cấu hình, thích câu trả lời của Suresh Kamrushi hơn. '$ ++' chắc chắn sẽ là dòng đầu tiên, không phải cuối cùng, ít nhất là cho phpmyadmin.conf mặc định của tôi. – frnhr
Làm theo bài đăng trên blog này. Bạn có thể làm điều đó rất dễ dàng. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
Tệp config.inc.php chứa cài đặt cấu hình cho cài đặt phpMyAdmin của bạn. Nó sử dụng một mảng để lưu trữ các tập hợp các tùy chọn cấu hình cho mỗi máy chủ mà nó có thể kết nối đến và theo mặc định chỉ có một, máy của riêng bạn, hoặc localhost. Để kết nối với một máy chủ khác, bạn sẽ phải thêm một tập hợp các tùy chọn cấu hình khác vào mảng cấu hình. Bạn phải chỉnh sửa tệp cấu hình này.
Mở đầu tiên config.inc.php tệp được lưu trữ trong thư mục phpMyAdmin. Trong máy chủ wamp, bạn có thể tìm thấy nó trong wamp \ apps \ phpmyadmin thư mục. Sau đó thêm phần sau vào tệp đó.
$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';
Hãy xem ý nghĩa của các biến này là gì.
$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
Sau khi thêm phần cấu hình này, hãy khởi động lại máy chủ và bây giờ trang chủ phpMyAdmin của bạn sẽ thay đổi và nó sẽ hiển thị trường để chọn máy chủ.
Bây giờ bạn có thể chọn máy chủ và truy cập cơ sở dữ liệu từ xa bằng cách nhập tên người dùng và mật khẩu cho cơ sở dữ liệu đó.
có thể vui lòng chính xác hơn và giải thích thêm về câu trả lời của bạn. câu trả lời liên kết là tốt nhưng có thể không thể truy cập được nếu liên kết bị hỏng vì bất kỳ lý do gì. –
Như được nêu trong câu trả lời c.hill câu trả lời, nếu bạn muốn giải pháp an toàn Tôi khuyên bạn nên mở đường hầm SSH đến máy chủ của mình.
Dưới đây là cách để làm điều đó cho của Windows người dùng:
Tải Plink và Putty từ Putty website và đặt các tập tin trong thư mục bạn đã chọn (Trong ví dụ của tôi
C:\Putty
)Mở bảng điều khiển Windows và cd vào thư mục Plink:
cd C:\Putty
Mở SSH đường hầm và chuyển hướng đến cổng 3307:
plink -L 3307:localhost:3306 [email protected]_ip -i path_to_your_private_key.ppk
đâu:
- 3307 là cổng địa phương mà bạn muốn chuyển hướng đến
- localhost là địa chỉ của MySQL DB trên máy chủ từ xa (localhost theo mặc định)
- 3306 là sử dụng cổng cho PhpMyAdmin trên máy chủ từ xa (3306 theo mặc định)
Cuối cùng, bạn có thể thiết lập phpMyAdmin:
- Thêm máy chủ từ xa để cấu hình phpMyAdmin địa phương của bạn bằng cách thêm dòng sau vào cuối config.inc.php
Lines thêm:
$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';
- Bạn sẽ có thể bây giờ kết nối tại
http://127.0.0.1/phpmyadmin
Nếu bạn không muốn mở bàn điều khiển mỗi khi bạn cần kết nối với máy chủ từ xa, chỉ cần tạo một tệp lô (bằng cách lưu 2 dòng lệnh trong tệp .bat).
Trong Ubuntu
Chỉ cần bạn cần phải sửa đổi một tập tin duy nhất trong PHPMyAdmin thư mục ví dụ: “config.inc.php” .Just thêm bên dưới dòng để “config.inc.php” của bạn.
file location: /var/lib/phpmyadmin/config.inc.php
HOẶC /etc/phpmyadmin/config.inc.php
Có lẽ bạn không có sự cho phép để chỉnh sửa tập tin đó, chỉ cần cấp quyền sử dụng lệnh này
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
OR (trong các hệ thống khác nhau mà bạn có thể có để kiểm tra với hai địa điểm này)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
Sau đó sao chép và dán mã trong bạn r config.inc.php
tập tin
$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;
Và hiện những thay đổi phù hợp với các chi tiết máy chủ của bạn
Đến nộp \ phpMyAdmin \ config.inc.php ở dưới cùng rất, thay đổi các chi tiết lưu trữ như máy chủ, tên người dùng, mật khẩu v.v.
Tôi đã thêm điều này làm nhận xét, nhưng danh tiếng của tôi chưa đủ cao.
Theo phiên bản 4.5.4.1deb2ubuntu2 và tôi đoán bất kỳ phiên bản 4.5.x nào hoặc mới hơn. Không cần phải sửa đổi tệp config.inc.php. Thay vào đó, hãy thêm một thư mục nữa vào conf.d.
Tạo tệp mới có đuôi '.php' và thêm dòng. Đây là cách tiếp cận được mô đun hoá tốt hơn và tách biệt từng thông tin truy cập máy chủ cơ sở dữ liệu từ xa.
Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/18797738) – msparer
- 1. Truy cập máy chủ MBean từ xa
- 2. Truy cập TEAMCITY từ máy từ xa
- 3. Truy cập máy chủ apache cục bộ từ hộp ảo
- 4. Máy chủ IIS cục bộ truy cập công cộng
- 5. Truy cập CouchDB Futon trên máy chủ từ xa
- 6. Truy cập vào đối tượng được yêu cầu chỉ khả dụng từ mạng cục bộ phpmyadmin
- 7. Đồng bộ hóa cơ sở dữ liệu MySQL từ xa và cục bộ bằng cách sử dụng phpMyAdmin
- 8. Truy cập tệp cục bộ bằng NSURL
- 9. MySQLDump tới máy cục bộ từ máy chủ từ xa được kết nối qua SSH
- 10. Nhập tệp SQL cục bộ vào MySQL trên máy chủ từ xa bằng cách sử dụng SSH Tunnel
- 11. Truy cập từ chối đọc bộ đếm Perfmon từ máy từ xa (Asp.Net)
- 12. SQL Server SMO sao lưu cục bộ từ máy chủ từ xa
- 13. Tôi làm cách nào để truy cập máy chủ cục bộ của mình từ các máy tính khác?
- 14. Truy cập HDFS từ máy chủ từ xa thông qua API Java, xác thực người dùng
- 15. NSIncrementalStore - Sử dụng dữ liệu cục bộ và từ xa
- 16. Cập nhật tổng thể cục bộ cho chủ từ xa từ một chi nhánh khác
- 17. Sao chép cơ sở dữ liệu mysql từ máy chủ từ xa sang máy tính cục bộ
- 18. cách tải tệp lên máy chủ từ xa http bằng cách sử dụng java?
- 19. mysqldump từ máy chủ từ xa
- 20. Tạo bản sao kho lưu trữ git cục bộ trên máy chủ từ xa
- 21. Tạo máy chủ Drb từ xa (để sử dụng với điều khiển từ xa)
- 22. Cách cấu hình máy chủ Hbase từ xa cho ứng dụng Java của tôi
- 23. Cách tốt nhất để đồng bộ mã trên máy chủ từ xa bằng cách sử dụng SCP (SSH-Copy)
- 24. Thực thi tập lệnh cục bộ trên máy chủ Linux từ xa
- 25. trang web truy cập IIS7 từ máy tính từ xa
- 26. Cách cập nhật từ xa các ứng dụng Python
- 27. Làm cách nào để truy cập Trang web Bảng điều khiển Quản trị Glassfish V3 từ máy chủ từ xa
- 28. Tôi không thể truy cập phpmyadmin bằng mamp
- 29. Truy cập từ xa vào Máy chủ Tự động của Nancy
- 30. Truy cập biến toàn cục từ bất kỳ bộ điều khiển ứng dụng nào
Bạn cũng cần phải có các bức tường lửa trên database instance cho phép lưu lượng, và người dùng trên máy chủ với quyền truy cập từ xa DB. – ceejayoz
Để biết thông tin của bạn, cổng 3306 là cổng MySQL mặc định –