mysql - remota - ¿Cómo acceder al servidor remoto con el cliente local phpMyAdmin?
configurar phpmyadmin para conexion remota (11)
Borre las entradas completas de /etc/http/conf.d/phpMyAdmin.conf
Y debajo entires en el archivo de arriba,
<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>
Entonces,
ejecute el comando debajo del comando de MySQL,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY ''root@<password>''
GRANT ALL ON *.* to root@''%'' IDENTIFIED BY ''root@<password>''
Para referencia: Permitir acceso de IP a PhpMyAdmin asegurado
Suponiendo que hay un servidor remoto y tengo el cliente phpMyAdmin instalado localy en mi computadora. ¿Cómo puedo acceder a este servidor y administrarlo a través del cliente phpMyAdmin? ¿Es eso posible?
Como se indica en la respuesta a c.hill , si desea una solución segura, le aconsejo que abra un túnel SSH en su servidor.
Esta es la manera de hacerlo para los usuarios de Windows :
Descargue Plink and Putty del sitio web de Putty y coloque los archivos en la carpeta de su elección (en mi ejemplo
C:/Putty
)Abra la consola de Windows y cd a la carpeta Plink:
cd C:/Putty
Abra el túnel SSH y redirija al puerto 3307:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Dónde:
- 3307 es el puerto local al que desea redirigir
- localhost es la dirección de la base de datos MySQL en el servidor remoto (localhost por defecto)
- 3306 es el uso del puerto para PhpMyAdmin en el servidor remoto (3306 por defecto)
Finalmente puede configurar PhpMyAdmin:
- Agregue el servidor remoto a su configuración local PhpMyAdmin agregando la siguiente línea al final de config.inc.php
Líneas para agregar:
$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'';
- Debería poder conectarse ahora en
http://127.0.0.1/phpmyadmin
Si no desea abrir la consola cada vez que necesita conectarse a su servidor remoto, simplemente cree un archivo por lotes (guardando las 2 líneas de comando en un archivo .bat).
Hubiera agregado esto como un comentario, pero mi reputación aún no es lo suficientemente alta.
En la versión 4.5.4.1deb2ubuntu2, y estoy adivinando cualquier otra versión 4.5.xo posterior. No es necesario modificar el archivo config.inc.php en absoluto. En su lugar, vaya un directorio más hacia abajo conf.d.
Crea un nuevo archivo con la extensión ''.php'' y agrega las líneas. Este es un mejor enfoque modular y aísla cada información remota de acceso al servidor de la base de datos.
Puede establecer en el archivo config.inc.php de su instalación de phpMyAdmin.
$cfg[''Servers''][$i][''host''] = '''';
Se puede hacer, pero necesita cambiar la configuración de phpMyAdmin, lea esta publicación: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
Si por alguna razón el enlace muere, puede usar los siguientes pasos:
- Encuentra el archivo de configuración de phpMyAdmin, llamado
config.inc.php
- Encuentre la variable
$cfg[''Servers''][$i][''host'']
y configúrela en la IP o nombre de host de su servidor remoto - Encuentre la variable
$cfg[''Servers''][$i][''port'']
y configúrela en el puerto remoto mysql. Usualmente esto es3306
- Busque las
$cfg[''Servers''][$i][''user'']
y$cfg[''Servers''][$i][''password'']
y configúrelas en su nombre de usuario y contraseña para el servidor remoto
Sin una configuración de servidor adecuada, la conexión puede ser más lenta que una conexión local, por ejemplo, probablemente sería un poco más rápido usar direcciones IP en lugar de nombres de host para evitar que el servidor tenga que buscar la dirección IP desde el nombre de host.
Además, recuerde que el nombre de usuario y la contraseña de su base de datos remota se almacenan en texto plano cuando se conecta así, por lo que debe tomar medidas para asegurarse de que nadie pueda acceder a este archivo de configuración. De forma alternativa, puede dejar las variables de nombre de usuario y contraseña vacías para que se le solicite que las ingrese cada vez que inicie sesión, lo cual es mucho más seguro.
Sigue esta publicación en el blog. Puedes hacerlo muy fácilmente. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
El archivo config.inc.php contiene la configuración para la instalación de phpMyAdmin. Utiliza una matriz para almacenar conjuntos de opciones de configuración para cada servidor al que se puede conectar y de forma predeterminada solo hay uno, su propia máquina o servidor local. Para conectarse a otro servidor, debería agregar otro conjunto de opciones de configuración a la matriz de configuración. Tienes que editar este archivo de configuración.
Primero abra el archivo config.inc.php que se encuentra en la carpeta phpMyAdmin . En el servidor de wamp , puedes encontrarlo en la carpeta wamp / apps / phpmyadmin . A continuación, agregue la siguiente parte a ese archivo.
$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'';
Veamos cuál es el significado de estas 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
Después de agregar esta parte de configuración, reinicie su servidor y ahora su página de inicio phpMyAdmin cambiará y se mostrará un campo para seleccionar el servidor.
Ahora puede seleccionar su servidor y acceder a su base de datos remota ingresando nombre de usuario y contraseña para esa base de datos.
Simplemente agregue líneas debajo de su archivo "config.inc.php" en la parte inferior:
$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
. Obtendrá el menú desplegable "Servidor actual:" con "127.0.0.1" y uno que haya proporcionado con el interruptor de levas "$ cfg [''Servers''] [$ i] [''host'']" entre los servidores.
más detalles: http://goo.gl/FZ6nqD
Sin duda, es posible acceder a un servidor MySQL remoto desde una instancia local de phpMyAdmin, como han señalado las otras respuestas. Y para que eso funcione, debe configurar el servidor MySQL del servidor remoto para aceptar conexiones remotas y permitir el tráfico a través del firewall para el número de puerto que escucha MySQL. Prefiero una solución ligeramente diferente que involucre túnel SSH .
El siguiente comando configurará un túnel SSH que reenviará todas las solicitudes realizadas al puerto 3307 desde su máquina local al puerto 3306 en la máquina remota:
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
Cuando se le solicite, debe ingresar la contraseña del usuario raíz en la máquina remota. Esto abrirá el túnel. Si desea ejecutar esto en segundo plano, deberá agregar el argumento -f
y configurar el SSH sin contraseña entre su máquina local y la máquina remota.
Después de que tenga funcionando el túnel SSH, puede agregar el servidor remoto a la lista de servidores en su phpMyAdmin local modificando el archivo /etc/phpmyadmin/config.inc.php
. Agregue lo siguiente al final del archivo:
$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++;
Escribí una publicación de blog más detallada sobre esto, en caso de que necesite ayuda adicional.
Vaya al archivo / phpMyAdmin / config.inc.php en la parte inferior, cambie los detalles de alojamiento, como host, nombre de usuario, contraseña, etc.
En Ubuntu
Solo necesita modificar un solo archivo en la carpeta PHPMyAdmin, es decir, "config.inc.php". Simplemente agregue las líneas siguientes a su "config.inc.php".
Ubicación del archivo: /var/lib/phpmyadmin/config.inc.php
OR /var/lib/phpmyadmin/config.inc.php
Tal vez no tienes permiso para editar ese archivo, solo da el permiso usando este comando
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
O (en diferentes sistemas, puede que tenga que verificar con estas dos ubicaciones)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
Luego copie y pegue el código en su archivo 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;
Y realice los cambios apropiados con los detalles de su servidor
Método 1 (para multiservidor)
Primero, hagamos una copia de seguridad de la configuración original.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Ahora en / usr / share / doc / phpmyadmin / examples / verá un archivo config.manyhosts.inc.php . Solo copie a / etc / phpmyadmin / usando el comando de abajo:
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php /
/etc/phpmyadmin/config.inc.php
Edite el config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Buscar :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
Y agregue su ip o hostname array save (en nano CTRL + X presione Y) y salga. Hecho
Método 2 (servidor único) Edite config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
Buscar :
/* 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;
}
Y reemplace con:
$cfg[''Servers''][$i][''host''] = ''192.168.1.100'';
$cfg[''Servers''][$i][''port''] = ''3306'';
Recuerda reemplazar 192.168.1.100 con tu propio servidor ip mysql.
Lo siento por mi mal inglés (Google translate tiene la culpa: D)