답변:
/etc/phpmyadmin/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 [ '서버'] [$ i] [ '호스트']”캠 스위치와 함께 제공되는 드롭 다운이 표시됩니다.
자세한 내용은 http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
$i++
우리가 기본으로 데이터베이스 연결을 잃게하지 않습니다이 같은 중요한 포인트입니다 localhost
.
/etc/phpmyadmin/config.inc.php
올바른 파일입니다
config.inc.php
파일이 파일에 있습니다 Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
.
다른 답변이 지적했듯이 phpMyAdmin의 로컬 인스턴스에서 원격 MySQL 서버에 액세스 할 수 있습니다. 그리고 이것이 작동 하려면 원격 서버의 MySQL 서버가 원격 연결을 수락 하고 MySQL이 수신하는 포트 번호에 대한 방화벽을 통한 트래픽을 허용하도록 구성해야합니다. SSH 터널링 과 관련된 약간 다른 솔루션을 선호합니다 .
다음 명령은 SSH 터널을 설정하여 로컬 시스템에서 포트 3307에 대한 모든 요청을 원격 시스템의 포트 3306으로 전달합니다.
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
프롬프트가 표시되면 원격 시스템에서 루트 사용자의 비밀번호를 입력해야합니다. 터널이 열립니다. 백그라운드에서이를 실행하려면 -f
인수 를 추가하고 로컬 시스템과 원격 시스템간에 비밀번호없는 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++;
추가 도움이 필요할 경우를 대비 하여 더 자세한 블로그 게시물을 작성했습니다 .
$++
적어도 내 기본 phpmyadmin.conf의 경우 마지막 줄이어야합니다.
할 수 있지만 phpMyAdmin 구성을 변경해야합니다.이 게시물을 읽으십시오 : http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_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 주소를 사용하는 것이 약간 더 빠를 것입니다.
또한 원격 데이터베이스의 사용자 이름과 비밀번호는 이와 같이 연결할 때 일반 텍스트로 저장되므로이 구성 파일에 아무도 액세스 할 수 없도록 조치를 취해야합니다. 또는 로그인 할 때마다 입력하라는 메시지가 표시되도록 username 및 password 변수를 비워 둘 수 있습니다. 훨씬 안전합니다.
이 블로그 게시물을 따르십시오. 아주 쉽게 할 수 있습니다. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
config.inc.php 파일 에는 phpMyAdmin 설치를위한 구성 설정이 포함되어 있습니다. 배열을 사용하여 연결할 수있는 모든 서버에 대한 구성 옵션 세트를 저장하며 기본적으로 하나의 컴퓨터, 로컬 호스트 만 있습니다. 다른 서버에 연결하려면 구성 배열에 다른 구성 옵션 세트를 추가해야합니다. 이 구성 파일을 편집해야합니다.
먼저 phpMyAdmin 폴더 에 있는 config.inc.php 파일을 엽니 다 . 에서 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 사용자를 위한 방법은 다음과 같습니다 .
로부터 가용 스루풋 및 퍼티를 다운로드 퍼티 웹 사이트 와 (내 예에서 선택한 폴더에 파일을 배치 C:\Putty
)
Windows 콘솔을 열고 Plink 폴더로 cd하십시오.
cd C:\Putty
SSH 터널을 열고 포트 3307로 리디렉션하십시오.
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
어디:
마지막으로 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';
http://127.0.0.1/phpmyadmin
원격 서버에 연결할 때마다 콘솔을 열지 않으려면 배치 파일을 만드십시오 (2 개의 명령 줄을 .bat 파일에 저장).
우분투에서
PHPMyAdmin 폴더 (예 :“config.inc.php”)에서 단일 파일을 수정하면됩니다.“config.inc.php”에 아래 줄을 추가하십시오.
파일 위치 : /var/lib/phpmyadmin/config.inc.php
OR
/etc/phpmyadmin/config.inc.php
해당 파일을 편집 할 수있는 권한이없는 경우이 명령을 사용하여 권한을 부여하십시오.
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
또는 (다른 시스템에서는이 두 위치를 확인해야 할 수도 있습니다)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
그런 다음 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;
서버 세부 정보를 적절히 변경하십시오.
방법 1 (멀티 서버용)
먼저 원래 구성을 백업 해 보겠습니다.
sudo cp /etc/phpmyadmin/config.inc.php ~/
이제 / usr / share / doc / phpmyadmin / examples / 파일에 config.manyhosts.inc.php 파일이 있습니다. 다음 명령을 사용하여 / etc / phpmyadmin /에 복사하십시오 .
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
config.inc.php 편집
sudo nano /etc/phpmyadmin/config.inc.php
검색 :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
그리고 ip 또는 호스트 이름 배열을 저장하고 (nano CTRL + X에서 Y를 누름) 종료하십시오. 끝난
방법 2 (단일 서버) config.inc.php 편집
sudo nano /etc/phpmyadmin/config.inc.php
검색 :
/* 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;
}
그리고 다음과 같이 바꾸십시오 :
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
192.168.1.100 을 자신의 mysql ip 서버 로 교체 해야합니다.
내 나쁜 영어에 대해 죄송합니다 (Google Translate의 책임은 : D)
Wamp Server가 설치된 Windows에서 구성 파일을 찾을 수 있습니다
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
중공 라인을 적절히 변경하십시오
$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'] = '';
의 전체 항목 삭제 /etc/http/conf.d/phpMyAdmin.conf
위의 파일에서 전체 아래,
<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>
그때,
MySQL 프롬프트에서 아래 명령을 실행하십시오.
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
phpmyadmin
도커 이미지를 로컬로 설치하고 원격 MySQL 서버에 연결할 수도 있습니다 . 자세한 내용은 여기 :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin