로컬 phpMyAdmin 클라이언트로 원격 서버에 액세스하는 방법은 무엇입니까?
원격 서버가 있고 컴퓨터에 phpMyAdmin 클라이언트가 로컬로 설치되어 있다고 가정합니다. 이 서버에 어떻게 액세스하고 phpMyAdmin 클라이언트를 통해 관리 할 수 있습니까? 가능합니까?
/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/
할 수는 있지만 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의 로컬 인스턴스에서 원격 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++;
추가 도움이 필요한 경우를 대비하여 정확히 이에 대한 자세한 블로그 게시물을 작성했습니다 .
Follow this blog post. You can do it very easily. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
The file config.inc.php contains the configuration settings for your phpMyAdmin installation. It uses an array to store sets of config options for every server it can connect to and by default there is only one, your own machine, or localhost. In order to connect to another server, you would have to add another set of config options to the config array. You have to edit this configuration file.
First open config.inc.php file held in phpMyAdmin folder. In wamp server, you can find it in wamp\apps\phpmyadmin folder. Then add following part to that file.
$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';
Let’s see what is the meaning of this variables.
$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
After adding this configuration part, restart you server and now your phpMyAdmin home page will change and it will show a field to select the server.
Now you can select you server and access your remote database by entering username and password for that database.
As stated in answer c.hill answer, if you want a secure solution I would advise to open an SSH tunnel to your server.
Here is the way to do it for Windows users:
Download Plink and Putty from the Putty website and place the files in the folder of your choice (In my example
C:\Putty
)Open the Windows console and cd to Plink folder:
cd C:\Putty
Open the SSH tunnel and redirect to the port 3307:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Where:
- 3307 is the local port you want to redirect to
- localhost is the address of the MySQL DB on the remote server (localhost by default)
- 3306 is the port use for PhpMyAdmin on the remote server (3306 by default)
Finally you can setup PhpMyAdmin:
- Add the remote server to your local PhpMyAdmin configuration by adding the following line at the end of config.inc.php
Lines to add:
$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';
- You should be able to connect now at
http://127.0.0.1/phpmyadmin
If you do not want to open the console each time you need to connect to your remote server, just create a batch file (by saving the 2 command lines in a .bat file).
You can set in the config.inc.php file of your phpMyAdmin installation.
$cfg['Servers'][$i]['host'] = '';
I would have added this as a comment, but my reputation is not yet high enough.
Under version 4.5.4.1deb2ubuntu2, and I am guessing any other versions 4.5.x or newer. There is no need to modify the config.inc.php file at all. Instead go one more directory down conf.d.
Create a new file with the '.php' extension and add the lines. This is a better modularized approach and isolates each remote database server access information.
In Ubuntu
Just you need to modify a single file in PHPMyAdmin folder i.e. “config.inc.php”.Just add below lines to your “config.inc.php”.
File location : /var/lib/phpmyadmin/config.inc.php
OR /etc/phpmyadmin/config.inc.php
Maybe you don't have the permission for editing that file, just give the permission using this command
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
OR (in different systems you may have to check with these two locations)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
Then copy and paste the code in your config.inc.php
file
$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;
And make the appropriate changes with your server details
Go to file \phpMyAdmin\config.inc.php at the very bottom, change the hosting details such as host, username, password etc.
Method 1 ( for multiserver )
First , lets make a backup of original config.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Now in /usr/share/doc/phpmyadmin/examples/ you will see a file config.manyhosts.inc.php. Just copy in to /etc/phpmyadmin/ using command bellow:
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
Edit the config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Search for :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
And add your ip or hostname array save ( in nano CTRL+X press Y ) and exit . Done
Method 2 ( single server ) Edit the config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Search for :
/* 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;
}
And replace with:
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
Remeber to replace 192.168.1.100 with your own mysql ip server.
Sorry for my bad English ( google translate have the blame :D )
Delete complete entries of /etc/http/conf.d/phpMyAdmin.conf
And below entires in above file,
<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>
Then,
run below command in MySQL prompt,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
For reference: Allow IP to Access Secured PhpMyAdmin
'IT story' 카테고리의 다른 글
부트 스트랩 반응 형 페이지에서 div를 가운데에 배치하는 방법 (0) | 2020.07.13 |
---|---|
Jackson에서 Java 객체를 JsonNode로 변환 (0) | 2020.07.13 |
JavaScript를 사용하여 HTML 요소에 속성을 추가 / 업데이트하는 방법은 무엇입니까? (0) | 2020.07.13 |
Github : 리포지토리의 다운로드 수를 볼 수 있습니까? (0) | 2020.07.13 |
pip와 함께 설치된 Python 패키지의 종속성 관계 식별 (0) | 2020.07.13 |