Câu trả lời:
Chỉ cần thêm dòng dưới đây vào /etc/phpmyadmin/config.inc.php
tập tin 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 Máy chủ hiện tại của Đức
Thêm chi tiết: http://sforsuresh.in/access-remote-mysql-server-USE-local-phpmyadmin/
$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 mặc định localhost
.
/etc/phpmyadmin/config.inc.php
là tập tin chính xác cần thay đổi
config.inc.php
tệp được đặt tại Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
tệp.
Chắc chắn có thể truy cập máy chủ MySQL từ xa từ một phiên bản cục bộ của phpMyAdmin, như các câu trả lời khác đã chỉ ra. Và để làm việc đó, bạn phải định cấu hình máy chủ MySQL của máy chủ từ xa để chấp nhận các kết nối từ xa và cho phép lưu lượng truy cập thông 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 liên quan đến SSH Tunneling .
Lệnh sau sẽ thiết lập một đường hầm SSH sẽ chuyển tiếp tất cả các yêu cầu được thực hiện tới cổng 3307 từ máy cục bộ của bạn sang cổng 3306 trên máy từ xa:
ssh -NL 3307:localhost:3306 root@REMOTE_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 cái này trong nền, bạn sẽ cần thêm -f
đối số và thiết lập SSH không mật khẩu 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ộ của mình bằng cách sửa đổi /etc/phpmyadmin/config.inc.php
tệp. Thêm phần sau vào cuối tập tin:
$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 bài viết chuyên sâu hơn về chính xác điều này, trong trường hợp bạn cần thêm trợ giúp.
$++
chắc chắn phải là dòng đầu tiên, không phải cuối cùng, ít nhất là đối với phpmyadmin.conf mặc định của tôi.
Nó có thể được thực hiện, nhưng bạn cần thay đổi cấu hình phpMyAdmin, đọc bài đăng này: http://www.danielmois.com/article/Manage_remote_database_from_localhost_with_phpMyAdmin
Nếu vì bất kỳ lý do nào khiến liên kết chết, bạn có thể sử dụng các bước sau:
config.inc.php
$cfg['Servers'][$i]['host']
biến và đặt nó thành IP hoặc tên máy chủ của máy chủ từ xa của bạn$cfg['Servers'][$i]['port']
biến và đặt nó vào cổng mysql từ xa. Thông thường đây là3306
$cfg['Servers'][$i]['user']
và $cfg['Servers'][$i]['password']
các biến và đặt chúng cho tên người dùng và mật khẩu của bạn cho máy chủ từ xaNếu không có cấu hình máy chủ phù hợp, ví dụ kết nối có thể chậm hơn kết nối cục bộ, có thể sử dụng địa chỉ IP thay vì tên máy chủ để tránh máy chủ phải tìm đị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 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. Ngoài ra, bạn có thể để trống tên người dùng và biến 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 rất nhiều.
Theo dõi bài viết 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-USE-phpmyadmin/
Tệp config.inc.php chứa các 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 bộ tùy chọn cấu hình cho mọi máy chủ mà nó có thể kết nối 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áy chủ khác, bạn sẽ phải thêm một bộ 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 tin cấu hình này.
Lần đầu tiên mở tệp config.inc.php được giữ trong thư mục phpMyAdmin . Trong máy chủ wamp , bạn có thể tìm thấy nó trong thư mục wamp \ apps \ phpmyadmin . Sau đó thêm phần sau vào tập tin đó.
$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ủ của bạn và bây giờ trang chủ phpMyAdmin của bạn sẽ thay đổi và nó sẽ hiển thị một trường để chọn máy chủ.
Bây giờ bạn có thể chọn máy chủ của mình 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 đó.
Như đã nêu trong câu trả lời c.hill , nếu bạn muốn một giải pháp an toàn, tôi khuyên bạn nên mở một đường hầm SSH đến máy chủ của bạn.
Đây là cách để làm điều đó cho người dùng Windows :
Tải xuống Plink và Putty từ trang web của Putty và đặt các tệp vào thư mục bạn chọn (Trong ví dụ của tôi C:\Putty
)
Mở bàn điều khiển Windows và cd vào thư mục Plink:
cd C:\Putty
Mở đường hầm SSH và chuyển hướng đến cổng 3307:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Ở đâu:
Cuối cùng, bạn có thể thiết lập PhpMyAdmin:
Dòng để 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';
http://127.0.0.1/phpmyadmin
Nếu bạn không muốn mở bàn điều khiển mỗi lần bạn cần kết nối với máy chủ từ xa, chỉ cần tạo một tệp bó (bằng cách lưu 2 dòng lệnh trong tệp .bat).
Tôi đã có thể thêm điều này như một bình luận, nhưng danh tiếng của tôi vẫn chưa đủ cao.
Trong phiên bản 4.5.4.1deb2ubfox2 và tôi đoán bất kỳ phiên bản nào khác 4.5.x trở lên. Không cần phải sửa đổi tập tin config.inc.php. Thay vào đó hãy đi thêm một thư mục xuống conf.d.
Tạo một tệp mới với phần mở rộng '.php' và thêm các dòng. Đây là một cách tiếp cận được mô đun hóa tốt hơn và cô lập từng thông tin truy cập máy chủ cơ sở dữ liệu từ xa.
Trong Ubuntu
Chỉ cần bạn sửa đổi một tập tin duy nhất trong thư mục PHPMyAdmin, tức là config config.inc.php,. Chỉ cần thêm các dòng dưới đây vào tệp config config.inc.php của bạn.
Vị trí tệp: /var/lib/phpmyadmin/config.inc.php
HOẶC
/etc/phpmyadmin/config.inc.php
Có thể bạn không có quyền chỉnh sửa tệp đó, chỉ cần cấp quyền bằng lệnh này
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
HOẶC (trong các hệ thống khác nhau, bạn có thể phải kiểm tra hai địa điểm này)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
Sau đó sao chép và dán mã trong config.inc.php
tệp của bạn
$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à thực hiện các thay đổi phù hợp với chi tiết máy chủ của bạn
Phương pháp 1 (đối với máy đa năng)
Đầu tiên, hãy tạo một bản sao lưu của cấu hình gốc.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Bây giờ trong / usr / share / doc / phpmyadmin / example / bạn sẽ thấy một tệp config.manyhosts.inc.php . Chỉ cần sao chép vào / etc / phpmyadmin / bằng cách sử dụng lệnh dưới đây:
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
Chỉnh sửa config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Tìm kiếm :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
Và thêm mảng ip hoặc tên máy chủ lưu của bạn (trong nano CTRL + X nhấn Y) và thoát. Làm xong
Phương pháp 2 (máy chủ đơn) Chỉnh sửa config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Tìm kiếm :
/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['host'] = $dbserver;
if (!empty($dbport) || $dbserver != 'localhost') {
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['port'] = $dbport;
}
Và thay thế bằng:
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
Remeber để thay thế 192.168.1.100 bằng máy chủ ip mysql của riêng bạn.
Xin lỗi vì tiếng Anh của tôi không tốt (google dịch có lỗi: D)
Khi tôi kiểm tra Nó tìm thấy tệp config.default.php
sau đó tìm $ cfg ['AllowArbitraryServer'] = false;
sau đó đặt thành đúng
lưu ý: trên Ubuntu tệp trong đường dẫn /usr/share/phpmyadmin/lologists/config.default.php
sau đó bạn sẽ tìm thấy một tên tệp SERVER mới trong trang PHPMyAdmin chính, bạn có thể thêm vào nó bất kỳ IP hoặc localhost nào cho cơ sở dữ liệu cục bộ.
Trong Windows với Wamp Server được cài đặt, bạn có thể tìm thấy tệp cấu hình
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
Thay đổi dòng bolow cho phù hợp
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3306;//$wampConf['mysqlPortUsed'];
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
Xóa các mục hoàn thành của /etc/http/conf.d/phpMyAdmin.conf
Và bên dưới các mục trong tập tin trên,
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#ADD following line:
Require all granted
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
#CHANGE following 2 lines:
Order Allow,Deny
Allow from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Sau đó,
chạy bên dưới lệnh trong dấu nhắc MySQL,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
Để tham khảo: Cho phép IP truy cập PhpMyAdmin được bảo mật
phpmyadmin
hình ảnh docker cục bộ và kết nối với máy chủ MySQL từ xa của bạn. biết thêm chi tiết tại đây :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin