FAQ - Preguntas Frecuentes

Por favor, revise nuestra Sección de enlaces en la página principal de phpMyAdmin para una cobertura en profundidad de todas las funcionalidades de phpMyAdmin y/o su interfaz.

Servidor

1.1 Cada vez que se necesita una acción específica mi servidor termina inesperadamente o phpMyAdmin envía una página en blanco o una página llena de caracteres crípticos a mi navegador, ¿qué puedo hacer?

Try to set the $cfg['OBGzip'] directive to false in your config.inc.php file and the zlib.output_compression directive to Off in your php configuration file.

1.2 Mi servidor Apache termina inesperadamente al utilizar phpMyAdmin.

Debería probar primero las últimas versiones de Apache (y posiblemente MySQL). Si su servidor sigue terminando inesperadamente, busque ayuda en los varios grupos de soporte de Apache.

1.3 (retirada).

1.4 Utilizando phpMyAdmin en IIS me muestra el siguiente mensaje de error: «The specified CGI application misbehaved by not returning a complete set of HTTP headers …».

You just forgot to read the install.txt file from the PHP distribution. Have a look at the last message in this PHP bug report #12061 from the official PHP bug database.

1.5 Utilizando phpMyAdmin en IIS, termina inesperadamente y/o genera muchos mensajes de error con HTTP.

Este es un problema conocido con el filtro ISAPI de PHP: no es muy estable. Utilice el modo de autenticación por cookie.

1.6 No puedo utilizar phpMyAdmin en PWS: ¡no muestra nada!

This seems to be a PWS bug. Filippo Simoncini found a workaround (at this time there is no better fix): remove or comment the DOCTYPE declarations (2 lines) from the scripts src/Header.php and index.php.

1.7 How can I gzip a dump or a CSV export? It does not seem to work.

Esta funcionalidad está basada en la función PHP gzencode() para ser más independiente de la plataforma (Unix/Windows, modo seguro o no, etc.). Por lo que PHP debe ser compatible con Zlib (con --with-zlib).

1.8 No puedo insertar un archivo de texto en una tabla y obtengo un error que dice que está en efecto el modo seguro.

PHP almacena el archivo subido en el directorio definido en php.ini por la variable upload_tmp_dir (por lo general el valor predeterminador del sistema es /tmp). Recomendamos la siguiente configuración para los servidores Apache ejecutando en modo seguro para permitir subir archivos y aún ser razonablemente seguros:

  • crear un directorio separado para las subidas: mkdir /tmp/php
  • hacer al usuario y grupo de apache dueños del directorio: chown apache.apache /tmp/php
  • darle los permisos adecuados: chmod 600 /tmp/php
  • agregue upload_tmp_dir = /tmp/php al archivo php.ini
  • reinicia Apache

1.9 (retirada).

1.10 Tengo problemas para subir archivos cuando phpMyAdmin ejecuta en un servidor seguro. Mi navegador es Internet Explorer y estoy usando un servidor Apache.

Como sugirió «Rob M» en el foro phpWizard, agrega la siguiente línea a httpd.conf:

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Esto parece eliminar varios problemas entre Internet Explorer y SSL.

1.11 I get an “open_basedir restriction” while uploading a file from the import tab.

Desde la versión 2.2.4 phpMyAdmin es compatible con los servidores con restricciones open_basedir. Sin embargo, se necesita crear un directorio temporal y configurarlo como $cfg['TempDir']. Los archivos subidos serán movidos allí y borrados luego de la ejecución de las consultas SQL.

1.12 Perdí la contraseña de root de MySQL ¿qué puedo hacer?

phpMyAdmin does authenticate against MySQL server you’re using, so to recover from phpMyAdmin password loss, you need to recover at MySQL level.

The MySQL manual explains how to reset the permissions.

If you are using MySQL server installed by your hosting provider, please contact their support to recover the password for you.

1.13 (retirada).

1.14 (retirada).

1.15 Tengo problemas con los nombres de columnas de mysql.user.

In previous MySQL versions, the User and Password columns were named user and password. Please modify your column names to align with current standards.

1.16 No puedo subir archivos de volcado grandes (problemas de memoria, HTTP o tiempos de espera agotados).

Comenzando con la versión 2.7.0 el motor de importación fue reescrito y estos problemas no deberían ocurrir. Si es posible, actualice phpMyAdmin a la última versión para aprovechar las nuevas funcionalidades de importación.

The first things to check (or ask your host provider to check) are the values of max_execution_time, upload_max_filesize, memory_limit and post_max_size in the php.ini configuration file. All of these settings limit the maximum size of data that can be submitted and handled by PHP. Please note that post_max_size needs to be larger than upload_max_filesize. There exist several workarounds if your upload is too big or your hosting provider is unwilling to change the settings:

  • Look at the $cfg['UploadDir'] feature. This allows one to upload a file to the server via scp, FTP, or your favorite file transfer method. PhpMyAdmin is then able to import the files from the temporary directory. More information is available in the Configuración of this document.

  • Using a utility (such as BigDump) to split the files before uploading. We cannot support this or any third party applications, but are aware of users having success with it.

  • Si se tiene acceso a un shell (una línea de órdenes), utilice MySQL para importar los archivos directamente. Se puede hacer esto utilizando la orden «source» desde dentro de MySQL:

    source filename.sql;
    

1.17 ¿Qué versiones de base de datos son compatibles con phpMyAdmin?

For MySQL, versions 5.5 and newer are supported. For older MySQL versions, our Downloads page offers older phpMyAdmin versions (which may have become unsupported).

For MariaDB, versions 5.5 and newer are supported.

1.17a No me puedo conectar a mi servidor MySQL. Siempre devuelve el mensaje de error «Client does not support authentication protocol requested by server; consider upgrading MySQL client»

You tried to access MySQL with an old MySQL client library. The version of your MySQL client library can be checked in your phpinfo() output. In general, it should have at least the same minor version as your server - as mentioned in 1.17 ¿Qué versiones de base de datos son compatibles con phpMyAdmin?. This problem is generally caused by using MySQL version 4.1 or newer. MySQL changed the authentication hash and your PHP is trying to use the old method. The proper solution is to use the mysqli extension with the proper client library to match your MySQL installation. More information (and several workarounds) are located in the MySQL Documentation.

1.18 (retirada).

1.19 ¡No puedo ejecutar la funcionalidad «Mostrar relaciones» porque el script no parece reconocer la tipografía que estoy utilizando!

The TCPDF library we’re using for this feature requires some special files to use font faces. Please refers to the TCPDF manual to build these files.

1.20 Recibo un error sobre la falta de las extensiones mysqli y mysql.

PHP necesita un conjunto de funciones MySQL llamados «extensión MySQL» para conectarse a un servidor MySQL. Esta extensión puede ser parte de la distribución de PHP (compilada en ella), de lo contrario necesita ser cargada dinámicamente. Su nombre probablemente sea mysqli.so o php_mysqli.dll. phpMyAdmin intentó cargar la extensión pero falló. Generalmente se soluciona el problema al instalar un paquete llamado «PHP-MySQL» o similar.

There was two interfaces PHP provided as MySQL extensions - mysql and mysqli. The mysql interface was removed in PHP 7.0.

This problem can be also caused by wrong paths in the php.ini or using wrong php.ini.

Make sure that the extension files do exist in the folder which the extension_dir points to and that the corresponding lines in your php.ini are not commented out (you can use phpinfo() to check current setup):

[PHP]

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Apache2/modules/php/ext"

The php.ini can be loaded from several locations (especially on Windows), so please check you’re updating the correct one. If using Apache, you can tell it to use specific path for this file using PHPIniDir directive:

LoadModule php7_module "C:/php7/php7apache2_4.dll"
<IfModule php7_module>
    PHPIniDir "C:/php7"
    <Location>
       AddType text/html .php
       AddHandler application/x-httpd-php .php
    </Location>
</IfModule>

In some rare cases this problem can be also caused by other extensions loaded in PHP which prevent MySQL extensions to be loaded. If anything else fails, you can try commenting out extensions for other databases from php.ini.

1.22 No puedo ver el campo «Ubicación del archivo de texto» por lo que no puedo subirlo.

Esto es probablemente porque el parámetro file_uploads en el archivo php.ini no está configurado como «on».

1.23 Estoy ejecutando MySQL en un equipo de 32 bits con Windows. Cada vez que creo una nueva tabla ¡tanto la tabla como sus columnas cambian a minúsculas!

Esto sucede porque la directiva MySQL lower_case_table_names tiene un valor predeterminador de 1 (ON) en la versión de Windows 32 bits de MySQL. Puede cambiar este comportamiento simplemente cambiando la directiva a 0 (OFF): edite el archivo my.ini que debería encontrar en su directorio Windows y agregue la siguiente línea al grupo [mysqld]:

set-variable = lower_case_table_names=0

Nota

Forcing this variable to 0 with –lower-case-table-names=0 on a case-insensitive filesystem and access MyISAM tablenames using different lettercases, index corruption may result.

Luego guarda el archivo y reinicia el servicio MySQL. Siempre puedes revisar el valor de esta directiva utilizando la consulta

SHOW VARIABLES LIKE 'lower_case_table_names';

1.24 (retirada).

1.25 Estoy ejecutando Apache con mod_gzip-1.3.26.1a en Windows XP y tengo problemas como variables no definidas cuando ejecuto consultas SQL.

Un consejo de Jose FAndos: convierte a comentarios las siguientes líneas en httpd.conf:

# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"

ya que esta versión de mod_gzip sobre Apache (en Windows) tiene problemas para manejar scripts PHP. Obviamente, necesita reiniciar Apache.

1.26 Acabo de instalar phpMyAdmin en la raíz de documentos de IIS pero obtengo el error «No se especificó archivo de entrada» al tratar de ejecutar phpMyAdmin.

This is a permission problem. Right-click on the phpmyadmin folder and choose properties. Under the tab Security, click on «Add» and select the user «IUSR_machine» from the list. Now set their permissions and it should work.

1.27 Obtengo una página vacía cuando quiero ver una página gigante (por ejemplo: db_structure.php con muchas tablas).

This was caused by a PHP bug that occur when GZIP output buffering is enabled. If you turn off it (by $cfg['OBGzip'] in config.inc.php), it should work. This bug will has been fixed in PHP 5.0.0.

1.28 Mi servidor MySQL a veces rechaza consultas y devuelve el mensaje «Errorcode: 13». ¿Qué significa?

This can happen due to a MySQL bug when having database / table names with upper case characters although lower_case_table_names is set to 1. To fix this, turn off this directive, convert all database and table names to lower case and turn it on again. Alternatively, there’s a bug-fix available starting with MySQL 3.23.56 / 4.0.11-gamma.

1.29 Cuando creo una tabla o modifico una columna obtengo un error y se duplican las columnas.

Es posible que Apache esté configurado de forma que PHP tenga problemas interpretando archivos .php.

El problema ocurre cuando se utilizan dos conjuntos de directivas diferentes (y conflictivas):

SetOutputFilter PHP
SetInputFilter PHP

y

AddType application/x-httpd-php .php

En el caso que vimos, un conjunto de directivas estaba en /etc/httpd/conf/httpd.conf mientras que el otro estaba en /etc/httpd/conf/addon-modules/php.conf. La forma recomendada es la que utiliza AddType, sólo comente el primer conjunto de líneas y reinicie Apache:

#SetOutputFilter PHP
#SetInputFilter PHP

1.30 Obtengo el error «navigation.php: Missing hash».

Este problema es conocido cuando el servidor está ejecutando Turck MMCache pero se soluciona actualizando MMCache a la versión 2.3.21.

1.31 Which PHP versions does phpMyAdmin support?

Desde la versión 4.5 de phpMyAdmin sólo es compatible con PHP 5.5 o posterior. Desde la versión 4.1 de phpMyAdmin sólo es compatible con PHP 5.3 o posterior. Para PHP 5.2 puede usar versiones 4.0.x.

PHP 7 is supported since phpMyAdmin 4.6, PHP 7.1 is supported since 4.6.5, PHP 7.2 is supported since 4.7.4.

HHVM is supported up to phpMyAdmin 4.8.

Since release 5.0, phpMyAdmin supports only PHP 7.1 and newer. Since release 5.2, phpMyAdmin supports only PHP 7.2 and newer. Since release 6.0, phpMyAdmin supports only PHP 8.1 and newer.

1.32 ¿Puedo utilizar autenticación HTTP con IIS?

Sí. Este procedimiento fue probado con phpMyAdmin 2.6.1, PHP 4.3.9 en modo ISAPI sobre IIS 5.1.

  1. En el archivo php.ini, agregye cgi.rfc2616_headers = 0
  2. En la caja de diálogo Web Site Properties -> File/Directory Security -> Anonymous Access, active la opción Anonymous access y desactive todas las otras si están activas (es decir, desactive Basic authentication, Integrated Windows authentication y Digest si están habilitadas). Pulse en OK.
  3. En Custom Errors, seleccione el rango desde 401;1 hasta 401;5 y pulse en el botón Set to Default.

Ver también

RFC 2616

1.33 (retirada).

1.34 Can I directly access a database or table pages?

Yes. Out of the box, you can use a URL like http://server/phpMyAdmin/index.php?server=X&db=database&table=table&target=script. For server you can use the server number which refers to the numeric host index (from $i) in config.inc.php. The table and script parts are optional.

If you want a URL like http://server/phpMyAdmin/database[/table][/script], you need to do some additional configuration. The following lines apply only for the Apache web server. First, make sure that you have enabled some features within the Apache global configuration. You need Options SymLinksIfOwnerMatch and AllowOverride FileInfo enabled for directory where phpMyAdmin is installed and you need mod_rewrite to be enabled. Then you just need to create the following .htaccess file in root folder of phpMyAdmin installation (don’t forget to change directory name inside of it):

RewriteEngine On
RewriteBase /path_to_phpMyAdmin
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]

Distinto en la versión 5.1.0: Support for using the target parameter was removed in phpMyAdmin 5.1.0. Use the route parameter instead.

1.35 ¿Puedo utilizar autenticación HTTP con Apache CGI?

Sí. Sin embargo, necesita pasar la variable de autenticación a CGI utilizando la siguiente regla de reescritura:

RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

1.36 Obtengo un error «500 Internal Server Error».

Puede haber varias explicaciones a esto, puedes obtener pistas si miras los archivos de registro de errores de tu servidor.

1.38 ¿Puedo utilizar phpMyAdmin en un servidor con Suhosin activado?

Yes but the default configuration values of Suhosin are known to cause problems with some operations, for example editing a table with many columns and no primary key or with textual primary key.

La configuración de Suhosin puede llegar a causar problemas de funcionamiento en algunos casos y no pueden ser evitados ya que phpMyAdmin es el tipo de aplicación que necesita transferir grandes cantidades de columnas en un sólo pedido HTTP, una de las cosa que Suhosin intenta prevenir. Generalmente todas las directivas suhosin.request.*, suhosin.post.* y suhosin.get.* pueden tener efectos negativos en la usabilidad de phpMyAdmin. Siempre puede encontrar en los registros de error qué límites causaron la falta de variables para poder diagnosticar el problema y ajustar las variables de configuración correspondientes.

Los valores predeterminados de las opciones de configuración de Suhosin funcionarán en la mayoría de los casos; sin embargo podrías llegar a querer ajustar al menos los siguientes parámetros:

To further improve security, we also recommend these modifications:

También puede desactivar las advertencias utilizando $cfg['SuhosinDisableWarning'].

1.39 Cuando intento conectarme mediante https puedo iniciar sesión pero luego mi conexión es redirigida nuevamente a http. ¿Qué puede causar este comportamiento?

This is caused by the fact that PHP scripts have no knowledge that the site is using https. Depending on used webserver, you should configure it to let PHP know about URL and scheme used to access it.

For example in Apache ensure that you have enabled SSLOptions and StdEnvVars in the configuration.

1.41 Cuando veo una base de datos y pido ver sus privilegios obtengo un error sobre una columna desconocida.

La tablas de privilegios del servidor MySQL no están actualizadas, necesita ejecutar la órden mysql_upgrade en el servidor.

1.42 ¿Cómo puedo evitar que robots accedan a phpMyAdmin?

Puede agregar varias reglas al archivo .htaccess para filtrar el acceso según el campo «user agent». Esto es fácil de evitar pero puede prevenir que al menos algunos robots accedan a su instalación.

RewriteEngine on

# Allow only GET and POST verbs
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]

# Ban Typical Vulnerability Scanners and others
# Kick out Script Kiddies
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]

# Ban Search Engines, Crawlers to your administrative panel
# No reasons to access from bots
# Ultimately Better than the useless robots.txt
# Did google respect robots.txt?
# Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in" -wiki -forum -forums -questions intext:"Cookies must be enabled"
RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-IT-Markt-Crawler|heritrix|ibm.com\cs/crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~crawler|SynooBot|crawleradmin.t-info@telekom.de|TurnitinBot|voyager|W3.SiteSearch.Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC]
RewriteRule .* - [F]

1.43 ¿Porqué no puedo mostrar la estructura de mi tabla con cientos de columnas?

Porque su configuración de PHP memory_limit («límite de memoria») es demasiado baja; ajústela en php.ini.

1.44 How can I reduce the installed size of phpMyAdmin on disk?

Some users have requested to be able to reduce the size of the phpMyAdmin installation. This is not recommended and could lead to confusion over missing features, but can be done. A list of files and corresponding functionality which degrade gracefully when removed include:

  • ./locale/ folder, or unused subfolders (interface translations)
  • Any unused themes in ./public/themes/ except the default theme pmahomme.
  • ./libraries/language_stats.inc.php (translation statistics)
  • ./doc/ (documentation)
  • ./setup/ (setup script)
  • ./examples/ (configuration examples)
  • ./sql/ (SQL scripts to configure advanced functionalities)
  • ./js/src/ (Source files to re-build ./js/dist/)
  • ./js/global.d.ts JS type declaration file
  • Run rm -rv vendor/tecnickcom/tcpdf && composer dump-autoload –no-interaction –optimize –dev (exporting to PDF)
  • Run rm -rv vendor/williamdes/mariadb-mysql-kbs && composer dump-autoload –no-interaction –optimize –dev (external links to MariaDB and MySQL documentations)
  • Run rm -rv vendor/code-lts/u2f-php-server && composer dump-autoload –no-interaction –optimize –dev (U2F second factor authentication)
  • Run rm -rv vendor/pragmarx/* && composer dump-autoload –no-interaction –optimize –dev (2FA second factor authentication)
  • Run rm -rv vendor/bacon/bacon-qr-code && composer dump-autoload –no-interaction –optimize –dev (QRcode generation for 2FA second factor authentication)

1.45 I get an error message about unknown authentication method caching_sha2_password when trying to log in

When logging in using MySQL version 8 or newer, you may encounter an error message like this:

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

This error is because of a version compatibility problem between PHP and MySQL. The MySQL project introduced a new authentication method (our tests show this began with version 8.0.11) however PHP did not include the ability to use that authentication method. PHP reports that this was fixed in PHP version 7.4.

Users experiencing this are encouraged to upgrade their PHP installation, however a workaround exists. Your MySQL user account can be set to use the older authentication with a command such as

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Configuración

2.1 Obtengo el mensaje de error «Warning: Cannot add header information - headers already sent by …» ¿cuál es el problema?

Edit your config.inc.php file and ensure there is nothing (I.E. no blank lines, no spaces, no characters…) neither before the <?php tag at the beginning, neither after the ?> tag at the end.

2.2 phpMyAdmin no se puede conectar a MySQL. ¿Qué está mal?

O bien hay un error en la configuración PHP o está mal el usuario o la contraseña. Intente crear un script pequeño que utilice mysql\_connect y revise si funciona. Si no funciona, puede ser que PHP no esté compilado de forma compatible con MySQL.

2.3 Recibo el mensaje de error «Warning: MySQL Connection Failed: Can’t connect to local MySQL server through socket “/tmp/mysql.sock” (111) …». ¿Qué puedo hacer?

The error message can also be: Error #2002 - The server is not responding (or the local MySQL server’s socket is not correctly configured).

First, you need to determine what socket is being used by MySQL. To do this, connect to your server and go to the MySQL bin directory. In this directory there should be a file named mysqladmin. Type ./mysqladmin variables, and this should give you a bunch of info about your MySQL server, including the socket (/tmp/mysql.sock, for example). You can also ask your ISP for the connection info or, if you’re hosting your own, connect from the “mysql” command-line client and type “status” to get the connection type and socket or port number.

Then, you need to tell PHP to use this socket. You can do this for all PHP in the php.ini or for phpMyAdmin only in the config.inc.php. For example: $cfg['Servers'][$i]['socket'] Please also make sure that the permissions of this file allow to be readable by your webserver.

En un equipo RedHat, el zócalo de MySQL es /var/lib/mysql/mysql.sock. En el archivo php.ini encontrará una línea

mysql.default_socket = /tmp/mysql.sock

modifícala a

mysql.default_socket = /var/lib/mysql/mysql.sock

Reinicia Apache y funcionará.

Have also a look at the corresponding section of the MySQL documentation.

2.4 El navegador no muestra nada cuando intento ejecutar phpMyAdmin ¿qué puedo hacer?

Intenete configurando la directiva $cfg['OBGzip'] como false en el archivo de configuración de phpMyAdmin. A veces ayuda. También revise la versión de PHP: si contiene «b» o «alpha» significa que está ejecutando una versión de pruebas de PHP. Eso no es una buena idea, actualice a una revisión mayor.

2.6 Obtengo un error «Access denied for user: “root@localhost” (Using password: YES)» cuando intento acceder a un servidor MySQL que está en un puerto redirigido por el servidor web.

Cuando utiliza un puerto en el equipo local redirigido a través de «port-forwarding» hacia otro equipo, MySQL no interpreta «localhost» de la forma esperada. Erik Wasser lo explica: la solución si el servidor está configurado como «localhost» MySQL (la herramienta de línea de órdenes mysql también) siempre intenta utilizar la conexión por zócalo por cuestiones de eficiencia. Y eso no funciona cuando se redirige el puerto de conexión. Si introduce «127.0.0.1» como nombre de equipo todo estará bien y MySQL utilizará una conexión TCP.

2.7 Creando y utilizando temas

See Custom Themes.

2.8 Obtengo errores sobre «Missing parameters» ¿qué puedo hacer?

Aquí hay algunas cosas que puedes chequear:

  • En el archivo config.inc.php intente dejando la directiva $cfg['PmaAbsoluteUri'] vacía. Revise también 4.7 La ventana de autenticación se muestra más de una vez ¿por qué?.
  • Maybe you have a broken PHP installation or you need to upgrade your Zend Optimizer. See <https://bugs.php.net/bug.php?id=31134>.
  • Si está utilizando «Hardenend PHP» con la directiva varfilter.max_request_variables configurada al valor predeterminado (200) u otro valor pequeño, podría obtener este error con tablas con gran cantidad de columnas. Ajuste esta configuración apropiadamente (gracias Klaus Dorninger por la idea).
  • En la directiva arg_separator.input del archivo de configuración php.ini, un valor de «;» va a causar este problema. Reemplácelo con «&;».
  • If you are using Suhosin, you might want to increase request limits.
  • The directory specified in the php.ini directive session.save_path does not exist or is read-only (this can be caused by bug in the PHP installer).

2.9 Viendo una barra de progreso al subir archivos

To be able to see a progress bar during your uploads, your server must have the uploadprogress extension, and you must be running PHP 5.4.0 or higher. Moreover, the JSON extension has to be enabled in your PHP.

Si está utilizando PHP 5.4.0 o posterior, debe configurar la directiva session.upload_progress.enabled como 1 en el archivo de configuración php.ini. Sin embargo, desde la versión 4.0.4 de phpMyAdmin, se desactivó temporalmente la barra de progreso basada en sesiones debido a su comportamiento problemático.

2.10 How to generate a string of random bytes

One way to generate a string of random bytes suitable for cryptographic use is using the random_bytes PHP function. Since this function returns a binary string, the returned value should be converted to printable format before being able to copy it.

For example, the $cfg['blowfish_secret'] configuration directive requires a 32-bytes long string. The following command can be used to generate a hexadecimal representation of this string.

php -r 'echo bin2hex(random_bytes(32)) . PHP_EOL;'

The above example will output something similar to:

f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851

And then this hexadecimal value can be used in the configuration file.

$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');

The sodium_hex2bin function is used here to convert the hexadecimal value back to the binary format.

Limitaciones conocidas

3.1 Al utilizar autenticación HTTP, un usuario que finalizó sesión no puede iniciar sesión nuevamente con el mismo nombre de usuario.

Esto está relacionado con el mecanismo (protocolo) de autenticación utilizado por phpMyAdmin. Para evitar este problema simplemente cierra la ventana del navegador y vuelve a abrir phpMyAdmin. Deberías de poder inisicar sesión nuevamente.

3.2 Al volcar una tabla grande en modo comprimido obtengo un error de límite de memoria o un error de límite de tiempo.

Compressed dumps are built in memory and because of this are limited to php’s memory limit. For gzip/bzip2 exports this can be overcome since 2.5.4 using $cfg['CompressOnFly'] (enabled by default). zip exports can not be handled this way, so if you need zip files for larger dump, you have to use another way.

3.3 Con tablas InnoDB, pierdo las relaciones con claves foráneas al cambiar el nombre de una tabla o columna.

This is an InnoDB bug, see <https://bugs.mysql.com/bug.php?id=21704>.

3.4 No puedo importar volcados que creé con la herramienta mysqldump que viene con la distribución del servidor MySQL.

El problema es que las versiones antiguas de mysqldump creaban comentarios inválidos como este:

-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54

La parte inválida del código es la línea compuesta de guiones que aparece una vez en cada volado creado por mysqldump. Si desea ejecutar el volcado necesita convertirlo a MySQL válido. Esto significa agregar un espacio después de los primeros dos guiones de dicha línea o agregar un # al comienzo: «-- -------------------------------------------------------» o «#---------------------------------------------------------»

3.5 Cuando tengo carpetas anidadas, se muestran algunas jerarquías múltiples de forma incorrecta.

No debería utilizar la cadena de separación múltiples veces sin otros caracteres intermedios o al principio o al final del nombre de la tabla. Si es necesario, considere definir otro separador o desactivar la funcionalidad.

3.6 (retirada).

3.7 Tengo una tabla con muchas columnas (100+) y cuando intento explorar la tabla obtengo una serie de errores como «Warning: unable to parse url». ¿Cómo puedo solucionar esto?

Your table neither have a primary key nor an unique key, so we must use a long expression to identify this row. This causes problems to parse_url function. The workaround is to create a primary key or unique key.

3.8 ¡No puedo utilizar formularios HTML sobre los que pueda pulsar en las columnas a las que le agregué una transformación MIME!

Debido al contenedor de formulario (para las cajas de opción de borrado multi-fila) no se pueden anidar formularios en la tabla utilizada por phpMyAdmin para mostrar los resultados. Se puede, sin embargo, utilizar un formulario en una tabla si el objetivo del mismo es tbl_row_delete.php y sólo agrega sus elementos input a la misma. Si utiliza un elemento input de tipo submit personalizado el formulario se enviará a sí mismo a la página nuevamente donde se puede validar $HTTP_POST_VARS en una transformación. Para un tutorial sobre cómo utilizar transformaciones efectivamente, revisa la sección sección de enlaces en la página principal oficial de phpMyAdmin.

3.9 Obtengo mensajes de error al utilizar «–sql_mode=ANSI» en el servidor MySQL.

When MySQL is running in ANSI-compatibility mode, there are some major differences in how SQL is structured (see <https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html>). Most important of all, the quote-character (») is interpreted as an identifier quote character and not as a string quote character, which makes many internal phpMyAdmin operations into invalid SQL statements. There is no workaround to this behaviour. News to this item will be posted in issue #7383.

3.10 Homónimos y falta de clave primaria: cuando los resultados de un SELECT muestran más de una columna con el mismo valor (por ejemplo SELECT apellido FROM empleados WHERE nombre LIKE 'A%' y se muestran dos valores «Smith») si pulso en Editar no puedo estar seguro de estar editando la fila deseada.

Please make sure that your table has a primary key, so that phpMyAdmin can use it for the Edit and Delete links.

3.11 La cantidad de filas para las tablas InnoDB no es correcta.

phpMyAdmin utiliza un método rápido para obtener la cantidad de filas y este método sólo devuelve una cantidad aproximada para las tablas InnoDB. Revise $cfg['MaxExactCount'] para una forma de modificar estos resultados, pero podría tener serias consecuencias en la performance. Sin embargo, uno puede reemplazar la cuenta aproximada de filas fácilmente pulsando en ella. También puede hacerlo para todas las tablas pulsando en la suma de filas que se muestra al pie.

Ver también

$cfg['MaxExactCount']

3.12 (retirada).

3.13 Obtengo un error al introducir USE seguido del nombre de una base de datos que contiene un guión.

Las pruebas realizadas con MySQL 5.1.49 muestra que la API no acepta esta sintáxis para la consulta USE.

3.14 No puedo examinar una tabla cuando no tengo permisos para ejecutar SELECT en una de sus columnas.

Esta es una limitación conocida de phpMyAdmin desde el comienzo y no es probable que sea solucionada en el futuro.

3.15 (retirada).

3.16 (retirada).

3.17 (retirada).

3.18 Al importar un archivo CSV que contiene múltiples tablas, se las junta todas en una sola tabla.

No hay una forma confiable de diferenciar tablas en el formato CSV. Por el momento necesitará dividir los archivos CSV que contengan más de una tabla.

3.19 Al importar un archivo y hacer que phpMyAdmin determine la estructura de datos apropiada, sólo utiliza los tipos INT, DECIMAL y VARCHAR.

Actualmente el sistema de detección de tipos sólo puede asignar estos tipos MySQL a las columnas. En el futuro, seguramente se agregarán otros, pero por el momento deberá editar la estructura según desee luego de la importación. También debería saber que phpMyAdmin utilizará el tamaño del elemento más largo en cualquier columna como el tamaño de columna del tipo apropiado. Si sabe que agregará elementos más grades entonces debería ajustar el tamaño de las columnas apropiadamente. Esto es hecho por cuestiones de eficiencia.

3.20 Después de actualizar, faltan algunos favoritos o no se puede mostrar su contenido.

En algún momento cambió el conjunto de caracteres utilizado para almacenar favoritos. Es más sencillo volver a crear su favorito para la nueva versión de phpMyAdmin.

3.21 I am unable to log in with a username containing unicode characters such as á.

This can happen if MySQL server is not configured to use utf-8 as default charset. This is a limitation of how PHP and the MySQL server interact; there is no way for PHP to set the charset before authenticating.

ISPs, instalaciones multiusuario

4.1 Soy un ISP. ¿Puedo configurar una copia centra del phpMyAdmin o necesito una instalación por cliente?

Desde la versión 2.0.3, puede configurar una copia central de phpMyADmin para todos los usuarios. El desarrollo de esta funcionalidad fue amablemente patrocinado por NetCologne GmbH. Requiere una configuración apropiada de MySQL para manejo de usuarios y autenticación HTTP o por cookie en phpMyADmin.

4.2 ¿Cuál es la forma preferida para asegurar phpMyAdmin contra accesos maliciosos?

Esto depende de su sistema. Si está ejecutando un servidor que no puede ser accedido por otras personas, es suficiente utilizar la protección de directorios incorporada en el servidor web (con Apache se pueden utilizar archivos .htaccess por ejemplo). Si otras personas tienen acceso a su servidor, debería utilizar las funcionalidades de autenticación HTTP o por cookie de phpMyAdmin.

Sugerencias:

  • El archivo config.inc.php debería estar chmod 660.
  • Todos los archivos de phpMyAdmin deberían de ser <tt>chown -R phpmy.apache</tt>, donde phpmy es un usuario al que sólo uno le conoce la contraseña y apache es el grupo bajo el que ejecuta Apache.
  • Siga las recomendaciones de seguridad para PHP y su servidor web.

4.3 Obtengo errores sobre no poder incluir un archivo en /lang o en /libraries.

Revise php.ini o pida al administrador que lo haga. La directiva include_path deberá de contener «.» en ella y si utiliza open_basedir deberá contener «.» y «./lang» para permitir el funcionamiento normal de phpMyAdmin.

4.4 phpMyAdmin siempre devuelve «Acceso denegado» al utilizar autenticación HTTP.

Esto puede ocurrir por diversas razones:

  • $cfg['Servers'][$i]['controluser'] y/o $cfg['Servers'][$i]['controlpass'] no están configuradas correctamente.
  • El usuario/contraseña especificado en el formulario de inicio de sesión son inválidos.
  • Ya ha configurado un mecanismo de seguridad para el directorio de phpMyAdmin, como un archivo .htaccess. Esto interfiere con la autenticación de phpMyAdmin por lo que debe de ser eliminado.

4.5 ¿Es posible permitir a los usuarios crear sus propias bases de datos?

Starting with 2.2.5, in the user management page, you can enter a wildcard database name for a user (for example «joe%»), and put the privileges you want. For example, adding SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER would let a user create/manage their database(s).

4.6 ¿Cómo puedo utilizar agregados de autenticación basada en el sistema?

Si se tienen reglas de un archivo .htaccess antiguo, puede utilizarlas y agregar un nombre de usuario entre las cadenas «deny»/«allow» y «from». Utilizar el caracter comodín «%» como nombre de usuario será de gran beneficio con la instalación apropiada. De esa forma simplemente se pueden agregar las líneas actualizadas al array $cfg['Servers'][$i]['AllowDeny']['rules'].

Si se desea un ejemplo armado, puede probar este fragmento. Previene el inicio de sesión como el usuario «root» desde cualquier red que no sea de los bloques de IP de redes privadas.

//block root from logging in except from the private networks
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = [
    'deny root from all',
    'allow root from localhost',
    'allow root from 10.0.0.0/8',
    'allow root from 192.168.0.0/16',
    'allow root from 172.16.0.0/12',
];

4.7 La ventana de autenticación se muestra más de una vez ¿por qué?

Esto ocurre si utiliza una URL para iniciar phpMyAdmin que es diferente a la configurada en $cfg['PmaAbsoluteUri']. Por ejemplo, sin «www» o accediendo con una dirección IP cuando el archivo de configuración tiene definido un nombre de dominio.

4.8 ¿Qué parámetros puedo utilizar en la URL que inicia phpMyAdmin?

When starting phpMyAdmin, you can use the db and server parameters. This last one can contain either the numeric host index (from $i of the configuration file) or one of the host names present in the configuration file.

For example, to jump directly to a particular database, a URL can be constructed as https://example.com/phpmyadmin/?db=sakila.

Distinto en la versión 4.9.0: Support for using the pma_username and pma_password parameters was removed in phpMyAdmin 4.9.0 (see PMASA-2019-4).

Navegadores y sistemas operativos cliente

5.1 Obtengo un error de falta de memoria y los controles no son funcionales al intentar crear una tabla con más de 14 columnas.

Sólo pudimos reproducir este problema en Windows 98/98SE. Pruebas en Windows NT4 o Windows 2000 fueron exitosas con más de 60 columnas. Una forma de evitar este problema es crear una menor cantidad de columnas, luego volver a las propiedades de su tabla y agregar las demás columnas.

5.2 Con Xitami 2.5b4, phpMyAdmin no procesa los campos de los formularios.

Esto no es un problema de phpMyAdmin sino un error conocido de Xitami: lo encontrará con todo script/sitio web que utilice formularios. Utilice una versión anterior o posterior de Xitami.

5.3 Tengo problemas para volcar tablas con Konqueror (phpMyAdmin 2.2.2).

With Konqueror 2.1.1: plain dumps, zip and gzip dumps work ok, except that the proposed file name for the dump is always “tbl_dump.php”. The bzip2 dumps don’t seem to work. With Konqueror 2.2.1: plain dumps work; zip dumps are placed into the user’s temporary directory, so they must be moved before closing Konqueror, or else they disappear. gzip dumps give an error message. Testing needs to be done for Konqueror 2.2.2.

5.5 (withdrawn).

5.6 (withdrawn).

5.7 Si refresco (recargo) el navegador, vuelvo a la página de bienvenida.

Algunos navegadores soportan pulsar en el marco a refrescar con el botón derecho, hazlo sólo en el marco derecho.

5.8 Con Mozilla 0.9.7 tengo problemas enviando una consulta modificada en la caja de consultas.

Parecería un error de Mozilla: 0.9.6 funciona correctamente. Estaremos pendientes de futuras versiones de Mozilla.

5.9 Con Mozilla 0.9.? a 1.0 y Netscape 7.0-PR1 no puedo tipear un espacio en el área de edición de consultas SQL, la página se desplaza hacia abajo.

This is a Mozilla bug (see bug #26882 at BugZilla).

5.10 (withdrawn).

5.11 Los caracteres ASCII extendidos como umlauts alemanas no se muestran correctamente.

Verifica que configuró el conjunto de caracteres del navegador a uno de las páginas de idioma seleccionados en la página de inicio de phpMyAdmin. Alternativamente puede probar el modo de detección automático en las versiones recientes de la mayoría de los navegadores.

5.12 El navegador Safari de Mac OS X cambia los caracteres especiales a «?».

This issue has been reported by a macOS user, who adds that Chimera, Netscape and Mozilla do not have this problem.

5.13 (withdrawn)

5.14 (withdrawn)

5.15 (withdrawn)

5.16 Con Internet Explorer, obtengo errores JavaScript «Access is denied» o no puedo hacer funcionar phpMyAdmin en Windows.

Revisa los siguientes puntos:

  • A lo mejor definió $cfg['PmaAbsoluteUri'] en el archivo config.inc.php como una dirección IP y se está iniciando phpMyAdmin con una URL que contiene un nombre de dominio, o la situación inversa.
  • La configuración de seguridad de IE y/o Microsoft Security Center es demasiado elevada, por lo que se bloquea la ejecución de scripts.
  • El firewall de Windows está bloqueando Apache y MySQL. Debe permitir los puertos HTTP (80 y 443) y el puerto MySQL (generalmente 3306) tanto para el tráfico entrante como saliente («in» y «out» respectivamente).

5.17 Con Firefox, no puedo borrar filas de datos o eliminar una base de datos.

Muchos usuarios confirmaron que el agregado Tabbrowser Extension instalado en su navegador era el que causante del problema.

5.18 (withdrawn)

5.19 Mi navegador reporta errores JavaScript.

Hay errores reportados con algunas combinaciones de extensiones en el navegador. Revise si el problema continúa al desactivar todas las extensiones y limpiar la caché del navegador.

5.20 I get errors about violating Content Security Policy.

If you see errors like:

Refused to apply inline style because it violates the following Content Security Policy directive

This is usually caused by some software, which wrongly rewrites Content Security Policy headers. Usually this is caused by antivirus proxy or browser addons which are causing such errors.

If you see these errors, try disabling the HTTP proxy in antivirus or disable the Content Security Policy rewriting in it. If that doesn’t help, try disabling browser extensions.

Alternatively it can be also server configuration issue (if the webserver is configured to emit Content Security Policy headers, they can override the ones from phpMyAdmin).

Programs known to cause these kind of errors:

  • Kaspersky Internet Security

5.21 I get errors about potentially unsafe operation when browsing table or executing SQL query.

If you see errors like:

A potentially unsafe operation has been detected in your request to this site.

This is usually caused by web application firewall doing requests filtering. It tries to prevent SQL injection, however phpMyAdmin is tool designed to execute SQL queries, thus it makes it unusable.

Please allow phpMyAdmin scripts from the web application firewall settings or disable it completely for phpMyAdmin path.

Programs known to cause these kind of errors:

  • Wordfence Web Application Firewall

Utilizando phpMyAdmin

6.1 No puedo agregar nuevas filas en una tabla/no puedo crear una tabla - MySQL devuelve un error de SQL.

Examine el error SQL con cuidado. Generalmente el problema es causado por haber especificado un tipo de columna incorrecto. Los errores comunes incluyen:

  • Utilizando VARCHAR sin un parámetro de tamaño
  • Utilizando TEXT o BLOB con un parámetro de tamaño

Revisa también el capítulo sobre sintáxis en el manual MySQL para confirmar que la sintáxis es correcta.

6.2 Al crear una tabla, configuro un índice para dos columnas y phpMyAdmin genera un sólo índice con las dos columnas.

Esa es la forma de crear índices multi-columna. Si se desean dos índices, crea el primero al crear la tabla, guarda, luego revisa las propiedades de la tabla y pulsa en el enlace «Índice» para crear un nuevo índice.

6.3 ¿Cómo puedo insertar una valor NULL en mi tabla?

Desde la versión 2.2.3 existe una casilla para cada columna que puede tomar el valor NULL. Antes de 2.2.3 había que introducir «null», sin las comillas, como valor de la columna. Desde la versión 2.5.5 se debe utilizar la casilla para obtener un valor NULL real ya que si introduce «NULL» se intentará guardar la cadena NULL en la columna no el valor NULL (esto funciona en PHP4).

6.4 ¿Cómo puedo respaldar mi base de datos o tabla?

Pulse en el nombre de una base de datos o tabla en el panel de navegación para mostrar sus propiedades. Luego en el menú pulse «Exportar», puede volcar la estructura, los datos o ambos. Esto generará sentencias SQL estándar que pueden ser utilizadas para recrear su base de datos o tabla. Deberá elegir «Guardar archivo como» para que phpMyAdmin transmita el volcado resultante a su equipo. Dependiendo de su configuración PHP podrá ver opciones para comprimir el volcado. Revise también la variable de configuración $cfg['ExecTimeLimit']. Busque la palabra «volcado» en este documento para más ayuda al respecto.

6.5 ¿Cómo puedo restaurar (subir) mi base de datos o tabla usando un volcado? ¿Cómo puedo ejecutar un archivo «.sql»?

Pulse en el nombre de una base de datos en el panel de navegación para que se muestren sus propiedades. Seleccione «Importar» de la lista de pestañas en el marco de la derecha (o SQL si es una version de phpMyAdmin anterior a 2.7.0). En la sección de «Ubicación del archivo de texto» introduzca la ruta al archivo del volcado o utiliza el botón de examinación. Luego pulsa en Continuar. En la versión 2.7.0, el motor de importación fue reescrito, se sugiere que actualice siempre que sea posible para poder beneficiarse de las nuevas funcionalidades. Busque la palabra «subir» en este documento para más ayuda.

Note: For errors while importing of dumps exported from older MySQL versions to newer MySQL versions, please check 6.41 I get import errors while importing the dumps exported from older MySQL versions (pre-5.7.6) into newer MySQL versions (5.7.7+), but they work fine when imported back on same older versions ?.

6.6 ¿Cómo puedo usar la tabla de relaciones en consultas por ejemplo?

Aquí hay un ejemplo con las tablas «persons» (personas), «towns» (ciudades) y «countries» (paises) ubicadas en la base de datos «mydb». Si no existe una tabla pma__relation, siga las instrucciones apropiadas de la sección de configuración y luego cree las tablas de ejemplo:

CREATE TABLE REL_countries (
country_code char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (country_code)
) ENGINE=MyISAM;

INSERT INTO REL_countries VALUES ('C', 'Canada');

CREATE TABLE REL_persons (
id tinyint(4) NOT NULL auto_increment,
person_name varchar(32) NOT NULL default '',
town_code varchar(5) default '0',
country_code char(1) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM;

INSERT INTO REL_persons VALUES (11, 'Marc', 'S', 'C');
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');

CREATE TABLE REL_towns (
town_code varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (town_code)
) ENGINE=MyISAM;

INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
INSERT INTO REL_towns VALUES ('M', 'Montréal');

Para configurar los enlaces apropiados y la información a mostrar:

  • en la tabla «REL_personas» pulse en Estructura y luego en vista de relaciones
  • for «town_code», choose from dropdowns, «mydb», «REL_towns», «town_code» for foreign database, table and column respectively
  • para «country_code», seleccione de las listas desplegables para base de datos, tabla y columna foránea «mydb», «REL_countries» y «country_code» respectivamente
  • en la tabla «REL_towns» pulse en Estructura, luego en vista de relaciones
  • en «Elija la columna a mostrar», seleccione «description»
  • repite los dos pasos anteriores para la tabla «REL_countries»

Luego prueba de la siguiente forma:

  • Pulsa en el nombre de la base de datos en el panel de navegación
  • Elija «Consulta»
  • Utiliza las tablas: persons, towns, countries
  • Pulse en «Actualizar consulta»
  • En la fila de columnas, elija persons.person\_name y active la casilla «Mostrar»
  • Haz lo mismo para tows.description y countries.descriptions en las otras 2 columnas
  • Pulse en «Actualizar consulta» y verá en la caja de consulta que se generaron los «JOIN» correctos
  • Pulse en «Enviar consulta»

6.7 ¿Cómo puedo utilizar la funcionalidad «columna a mostrar»?

Comenzando del ejemplo anterior, cree la tabla pma__table_info como está explicado en la sección de configuración, luego examine la tabla «persons» y mueva el cursor sobre el código de una ciudad o país. Revise también 6.21 En el modo de edición/inserción ¿cómo puedo ver una lista de posibles valores para una columna basado en una tabla foránea? para una funcionalidad adicional que se activa junto con la «columna a mostrar»: una lista desplegable de los valores posibles.

6.8 ¿Cómo puedo producir un esquema PDF de mi base de datos?

First the configuration variables «relation», «table_coords» and «pdf_pages» have to be filled in.

  • Selecciona la base de datos en el panel de navegación.
  • Choose «Designer» in the navigation bar at the top.
  • Move the tables the way you want them.
  • Choose «Export schema» in the left menu.
  • The export modal will open.
  • Select the type of export to PDF, you may adjust the other settings.
  • Submit the form and the file will start downloading.

Ver también

Relaciones

6.9 ¡phpMyAdmin cambia el tipo de una de mis columnas!

No, it’s MySQL that is doing silent column type changing.

6.10 Al crear un privilegio ¿qué pasa con los guiones bajos («_») en el nombre de la base de datos?

Si no agrega un caracter de escape («») antes del guión bajo, será un privilegio con comodín en el que el guión bajo significa «cualquier caracter». Por lo que si el nombre de la base de datos es «juan_db», el usuario recibiría permisos a «juan1db», «juan2db», etc.. Si agrega un caracter de escape antes del guión bajo significa que la base de datos tiene un guión bajo real en su nombre.

6.11 ¿Qué es el símbolo curioso «ø» en las páginas de estadísticas?

Significa «promedio».

6.12 Deseo entender algunas opciones de exportación.

Estructura:

  • «Add DROP TABLE» will add a line telling MySQL to drop the table, if it already exists during the import. It does NOT drop the table after your export, it only affects the import file.
  • «Si no existe» sólo creará la tabla si no existe. De otra forma posiblemente obtenga un error si el nombre de la tabla existe pero tiene una estructura diferente.
  • «Agregar valor AUTO_INCREMENT» asegura que los valores AUTO_INCREMENT (si existen) estén incluídos en el respaldo.
  • «Encerrar nombres de tabla y columna con comillas invertidas» asegura que los nombre de columnas y tablas con caracteres especiales estén protegidos.
  • «Add into comments» includes column comments, relations, and media types set in the pmadb in the dump as SQL comments (/* xxx */).

Datos:

  • «INSERTs completos» agrega los nombres de columna en todos los INSERT para mejor documentación (pero el archivo resultante es mayor).
  • «INSERTs extensos» provee un volcado más pequeño utilizando sólo una orden INSERT con el nombre de la tabla.
  • «Delayed inserts» are best explained in the MySQL manual - INSERT DELAYED Syntax.
  • «Ignore inserts» treats errors as a warning instead. Again, more info is provided in the MySQL manual - INSERT Syntax, but basically with this selected, invalid values are adjusted and inserted rather than causing the entire statement to fail.

6.13 Me gustaría crear una base de datos con un punto en su nombre.

Esta es una mala idea porque, en MySQL, la sintáxis «basededatos.tabla» es la forma normal de referenciar el nombre de una tabla en una base de datos particlar. Lo que es peor, MySQL generalmente permitirá crear una base de datos con un punto en su nombre pero luego no podrá trabajar con ella o borrarla.

6.14 (retirada).

6.15 Quiero agregar una columna BLOB y configurar un índice en ella pero MySQL dice «BLOB comun “…” used in key specification without a key length».

La forma correcta de hacerlo es crear la columna sin índices, luego explorar la estructura de la tabla y utilizar la funcionalidad «Crear un índice». En esa página podrá elegir la columna BLOB y definir un tamaño para el índice que es condición para crear un índice en una columna BLOB.

6.16 ¿Cómo puedo moverme de forma sencilla en una página con muchos campos de edición?

Puede utilizar Ctrl+flechas de dirección (Opción+flechas en Safari) para moverse en la mayoría de las páginas con muchos campos de edición (cambios en estructura de tablas, edición de filas, etc.).

6.17 Transformations: I can’t enter my own mimetype! What is this feature then useful for?

Defining mimetypes is of no use if you can’t put transformations on them. Otherwise you could just put a comment on the column. Because entering your own mimetype will cause serious syntax checking issues and validation, this introduces a high-risk false- user-input situation. Instead you have to initialize mimetypes using functions or empty mimetype definitions.

Plus, you have a whole overview of available mimetypes. Who knows all those mimetypes by heart so they can enter it at will?

6.18 Favoritos: ¿Dónde puedo almacenar favoritos? ¿Por qué no puedo ver mis favoritos debajo de la caja de consultas? ¿Para qué son estas variables?

You need to have configured the Almacenamiento de configuración de phpMyAdmin for using bookmarks feature. Once you have done that, you can use bookmarks in the SQL tab.

Ver también

Favoritos

6.19 ¿Cómo puedo crear un documento LATEX simple que incluya la tabla exportada?

Puede simlemente incluir la tabla en el documento LATEX, un documento mínimo de ejemplo se debería ver como el siguiente (asumiendo que la tabla fue exportada al archivo table.tex):

\documentclass{article} % or any class you want
\usepackage{longtable}  % for displaying table
\begin{document}        % start of document
\include{table}         % including exported table
\end{document}          % end of document

6.20 Veo un montón de bases de datos que no son mías y a las que no puedo acceder.

Posee uno de los siguientes privilegios: «CREATE TEMPORARY TABLES», «SHOW DATABASES» o «LOCK TABLES». Estos privilegios también permiten a los usuarios ver los nombres de todas las bases de datos. Si sus usarios no necesitan estos privilegios puede quitárselos y esto acortará la lista de bases de datos.

6.21 En el modo de edición/inserción ¿cómo puedo ver una lista de posibles valores para una columna basado en una tabla foránea?

Debe configurar los enlaces apropiados entre las tablas y también configurar la «columna a mostrar» en la tabla foránea. Revise 6.6 ¿Cómo puedo usar la tabla de relaciones en consultas por ejemplo? para un ejemplo. Luego, si hay 100 valores posibles o menos en la tabla foránea, una lista desplegable de valores estará disponible. Verá dos listas de valores, la primera conteniendo la clave y la columna a mostrar y la segunda conteniendo la columna a mostrar y la clave. La razón para esto es para poder tipear la primer letra de tanto la clave como la columna a mostrar. Para más de 100 valores, aparecerá una ventana separada para que elija uno de los valores en la tabla foránea navegando entre todos los disponibles. Para cambiar el valor del límite predeterminado de 100 revise $cfg['ForeignKeyMaxLimit'].

6.22 Favoritos: ¿puedo ejecutar un favorito predeterminado automáticamente al acceder al modo de exploración de una tabla?

Si. Si un favorito tiene el mismo nombre que una tabla y no es público, será ejecutado.

Ver también

Favoritos

6.23 Exportación: escuché que phpMyAdmin puede exportar archivos Microsoft Excel ¿cómo puedo activar eso?

Puede utilizar el formato CSV para Microsoft Excel, que funciona directamente.

Distinto en la versión 3.4.5: Desde phpMyAdmin 3.4.5, se eliminó la exportación directa a Microsoft Excel versión 97 o posterior.

6.24 Ahora que phpMyAdmin es compatible con los comentarios de columnas nativos de MySQL 4.1.x ¿qué sucederá con los comentarios de columnas almacenados en pmadb?

Se realiza una migración automática de los comentarios de columna de una tabla en pmadb a los nativos cuando se accede a la página de Estructura de esa tabla.

6.25 (retirada).

6.26 ¿Cómo puedo seleccionar un rango de columnas?

Pulsa la primera fila del rango, mantiene presionada la tecla shift y pulsa en la última fila del rango. Esto funciona en todos los lugares en donde se vean filas, como el modo de exploración y la página de estructura.

6.27 ¿Qué cadenas de formato puedo utilizar?

In all places where phpMyAdmin accepts format strings, you can use @VARIABLE@ expansion and strftime format strings. The expanded variables depend on a context (for example, if you haven’t chosen a table, you can not get the table name), but the following variables can be used:

@HTTP_HOST@
El servidor HTTP que ejecuta phpMyAdmin
@SERVER@
El nombre del servidor MySQL
@VERBOSE@
El nombre detallado del servidor MySQL según esté definido en la $cfg['Servers'][$i]['verbose']
@VSERVER@
El nombre detallado del servidor MySQL si está definido, el nombre normal de lo contrario
@DATABASE@
La base de datos abierta actualmente
@TABLE@
La tabla abierta actualmente
@COLUMNS@
Las columnas de la tabla abierta actualmente
@PHPMYADMIN@
phpMyAdmin con versión

6.28 (withdrawn).

6.29 ¿Porqué no puedo obtener un gráfico de la tabla de resultados de mi consulta?

Not every table can be put to the chart. Only tables with one, two or three columns can be visualised as a chart. Moreover the table must be in a special format for chart script to understand it. Currently supported formats can be found in Gráficos.

6.30 Importación: ¿Cómo puedo importar archivos de forma ESRI?

Un archivo de forma ESRI es, en realidad, un conjunto de varios archivos en los que el archivo .shp contiene la geometría y el archivo .dbf contiene los datos asociados a dicha geometría. Para leer los datos del archivo .dbf necesitará PHP compilado con la extensión dBase («–enable-dbase»). De lo contrario sólo se importará la geometría.

Para subir este conjunto de archivos puede utilizar alguno de los siguientes métodos:

Configure el directorio de subidas con $cfg['UploadDir'], suba ambos archivos con el mismo nombre y luego seleccione el archivo .shp en la página de importación.

Create a zip archive with .shp and .dbf files and import it. For this to work, you need to set $cfg['TempDir'] to a place where the web server user can write (for example './tmp').

Para crear un directorio temporal en un servidor UNIX puedes ejecutar:

cd phpMyAdmin
mkdir tmp
chmod o+rwx tmp

6.31 ¿Cómo creo una relación en el diseñador visual?

Para seleccionar una relación, pulse: . La columna a mostrar se muestra en color rosado. Para activar o desactivar una columna a mostrar, pulse en el ícono «Elegir columna a mostrar» y luego pulse en el nombre de columna apropiado.

6.32 ¿Cómo puedo utilizar la funcionalidad de búsqueda gráfica («zoom search»)?

Esta funcionalidad es una alternativa a la funcionalidad de búsqueda en tablas. Permite explorar una tabla representando sus datos en un diagrama de dispersión. Puede encontrar esta funcionalidad seleccionando una tabla, pulsando en la pestaña Buscar. Una de las subpestañas en dicha página será Búsqueda gráfica.

Considere la tabla «REL_persons» de 6.6 ¿Cómo puedo usar la tabla de relaciones en consultas por ejemplo? como ejemplo. Para utilizar la búsqueda gráfica, necesita seleccionar dos columnas, en este caso: «id» y «town_code». Los valores de la columna «id» serán representados en un eje y los valores de la columna «town_code» en el otro. Cada fila será representada como un punto en el diagrama de dispersión ubicado según los valores de dichas columnas en esa fila. Puede incluir dos criterios de búsqueda adicionales además de los dos campos a mostrar.

Puede seleccionar el campo que será utilizado como etiqueta para cada punto. Si seleccionó una columna a mostrar para la tabla (revise 6.7 ¿Cómo puedo utilizar la funcionalidad «columna a mostrar»?), será utilizada como etiqueta a menos que especifique lo contrario. En el campo «Máximo número de filas a graficar» puede seleccionar la cantidad máxima de filas que desea que sean graficadas. Una vez que decidió su criterio de búsqueda, pulse «Continuar» para generar el grafico.

After the plot is generated, you can use the mouse wheel to zoom in and out of the plot. In addition, panning feature is enabled to navigate through the plot. You can zoom-in to a certain level of detail and use panning to locate your area of interest. Clicking on a point opens a dialogue box, displaying field values of the data row represented by the point. You can edit the values if required and click on submit to issue an update query. Basic instructions on how to use can be viewed by clicking the “How to use?” link located just above the plot.

6.33 ¿Cómo puedo copiar un nombre de columna al explorar una tabla?

Seleccionar el nombre de una columna en la cabecera de una tabla en su visualización para copiarlo es difícil ya que las columnas pueden ser reordenadas arrastrándo las celdas en la cabecera y ordenar el resultado pulsando en ellas. Para copiar el nombre de una columna, pulse dos veces en el área vacía alrededor del nombre de columna cuando el texto alternativo así lo diga. Esto mostrará una caja de texto con el nombre de la columna. Podrá pulsar sobre el nombre de columna con el botón izquierdo dentro de esta caja de texto para copiarlo.

6.34 ¿Cómo puedo utilizar la funcionalidad de tablas favoritas («Favorite Tables»)?

Las tablas favoritas son una funcionalidad muy similar a las tablas recientes. Le permite agregar atajos a las tablas que más utilice en cualquier base de datos del panel de navegación. Puede navegar fácilmente a cualquier tabla de la lista simplemente seleccionándola. Se almacenan estas tablas en el almacenamiento local de su navegador si no tiene configurado el «almacenamiento de configuración de phpMyAdmin», donde serían guardadas de lo contrario.

IMPORTANTE: si no se encuentra configurado el «almacenamiento de configuración de phpMyAdmin», su tablas favoritas pueden ser diferentes en distintos navegadores dependiendo de lo que haya seleccionado en cada uno.

Para agregar una tabla a su lista de favoritas, simplemente pulse en la estrella gris delante del nombre de la tabla en la lista de tablas de una base de datos y espere a que se vuelva amarilla. Para eliminar una tabla de la lista, simplemente pulse en la estrella amarilla y espere a que vuelva a ser de color gris.

Puede definir la cantidad máxima de tablas favoritas que se mostrarán en el panel de navegación con la opción $cfg['NumFavoriteTables'] en su archivo config.inc.php. El valor predeterminado es «10».

6.35 ¿Cómo puedo utilizar la funcionalidad de búsqueda por rango?

Con la ayuda de la funcionalidad de búsqueda por rango, puede especificar un rango de valores para una o más columnas al realizar una búsqueda desde la pestaña correspondiente.

Para utilizar esta funcionalidad, simplemente pulse en los operadores «BETWEEN» o «NOT BETWEEN» de la lista de selección de operadores frente al nombre de la columna. Si selecciona una de estas opciones, aparecerá una interfaz que le pedirá el valor mínimo y máximo para dicha columna. En el resultado final sólo se mostrarán valores en dicho rango cuando utilice «BETWEEN» y sólo se mostrarán valores fuera de dicho rango si utiliza «NOT BETWEEN».

Nota: la funcionalidad de búsqueda por rango sólo funcionará en columnas de tipo «Numeric» y «Date».

6.36 What is Central columns and how can I use this feature?

Como sugiere su nombre, las «Columnas Centrales» le permiten mantener una lista cetralizada de columnas en cada base de datos para evitar nombres similares para el mismo elemento de datos y proveer consistencia de tipos de datos al mismo elemento. Puede utilizar la lista centra de columnas para agregar un elemento a la estructura de cualquier tabla, evitándole escribir definiciones y nombres de columna similares.

Para agregar una columna a la lista central, desde la estructura de una tabla, seleccione las columnas que desea incluir y pulse en «Agregar a columnas centrales». Si desea agregar todas las columnas únicas de más de una tabla en una base de datos, desde la estructura de una base de datos, seleccione las tablas que desea incluir y pulse en «Agregar columnas a lista central».

Para eliminar una columna de la lista centra, desde la estructura de una tabla, seleccione las columnas que desea quitar y pulse en «Eliminar de columnas centrales». Si deseaeliminar todas las columnas de más de una tabla en una base de datos, desde la estructura de la base de datos, seleccione las tablas que desea incluir y pulse en «Eliminar columnas de la lista central».

Para revisar y administrar la lista central, seleccione la base de datos para la que desea gestionar columnas centrales y, en el menú superior, pulse en «Columnas centrales». Lo llevará a una página en la que tendrá la capacidad de editar, eliminar y agregar nuevas columnas a la lista central.

6.37 ¿Cómo puedo utilizar la funcionalidad de «Mejorar estructura de tablas»?

La funcionalidad para mejorar la estructura de tablas le ayudará a modificar la tabla hacia la «tercera forma normal». Una guía interactiva le preguntará sobre los elementos en cada uno de los pasos de la normalización y propondrá una nueva estructura acorde que llevará la tabla a primera, segunda o tercera forma normal. Al comenzar la guía podrá seleccionar hasta qué nivel desea normalizar la estructura de la tabla.

Hay una tabla de ejemplo que puede utilizar para probar la primera, segunda y tercera forma normal.

CREATE TABLE `VetOffice` (
 `petName` varchar(64) NOT NULL,
 `petBreed` varchar(64) NOT NULL,
 `petType` varchar(64) NOT NULL,
 `petDOB` date NOT NULL,
 `ownerLastName` varchar(64) NOT NULL,
 `ownerFirstName` varchar(64) NOT NULL,
 `ownerPhone1` int(12) NOT NULL,
 `ownerPhone2` int(12) NOT NULL,
 `ownerEmail` varchar(64) NOT NULL,
);

The above table is not in First normal Form as no primary key exists. Primary key is supposed to be (petName,`ownerLastName`,`ownerFirstName`) . If the primary key is chosen as suggested the resultant table won’t be in Second as well as Third Normal form as the following dependencies exists.

(OwnerLastName, OwnerFirstName) -> OwnerEmail
(OwnerLastName, OwnerFirstName) -> OwnerPhone
PetBreed -> PetType

Lo que significa que OwnerEmail depende de OwnerLastName y OwnerFirstName. OwnerPhone depende de OwnerLastName y OwnerFirstname. PetType depende de PetBreed.

6.38 ¿Cómo puedo reasignar valores de contador?

Algunos usuarios prefieren que sus valores de CONTADOR sean consecutivos; este no siempre es el caso tras un borrado de fila.

Aquí están los pasos para conseguirlo. Se trata de pasos manuales, ya que implican verificación manual en un punto.

  • Asegúrese de que tiene acceso exclusivo a la tabla a gestionar
  • On your primary key column (i.e. id), remove the AUTO_INCREMENT setting
  • Borre su clave primaria en Estructura < índices
  • Cree una nueva columna future_id como clave primaria, CONTADOR
  • Inspeccione su tabla y verifique que los nuevos incrementos se corresponden con lo esperado
  • Borre su antigua columna Id
  • Renombre la columna future_id a id
  • Mueva la nueva columna id mediante Estructura > Mover columnas

6.39 ¿Qué es la opción «Ajustar privilegios» cuando se está renombrando, copiando o moviendo una base de datos, tabla, columna o procedimiento?

Cuando se renombre/copia/mueve una base de datos/tabla/columna/procedimiento, MySQL no ajusta los privilegios asocados a dichos objetos por si mismo. Seleccionando esta opción, phpMyAdmin ajustará la tabla de privilegios de modo que los usuarios mantengan los mismos privilegios.

For example: A user “bob”@”localhost” has a “SELECT” privilege on a column named “id”. Now, if this column is renamed to “id_new”, MySQL, on its own, would not adjust the column privileges to the new column name. phpMyAdmin can make this adjustment for you automatically.

Notas:

  • Mientras se ajustan los privilegios de una base de datos, los privilegios asociados de todos los elementos asociados a la base de datos (tablas, columnas y procedimientos) también se ajustarán en la nueva base de datos.
  • Del mismo modo, al ajustar los privilegios de una tabla, los privilegios de todas las columnas dentro de la nueva tabla también son ajustados.
  • Para ajustar los privilegios, el usuario realizando la operación debe tener los siguientes:
    • Privilegios de SELECT, INSERT, UPDATE, DELETE sobre las siguientes tablas: mysql.`db`, mysql.`columns_priv`, mysql.`tables_priv`, mysql.`procs_priv`
    • Activar privilegio (GLOBAL)

Así pues, si quiere replicar la base de datos/tabla/columna/procedimiento mientras se renombra/copia/mueve estos objetos, asegúrese de tener marcada esta opción.

6.40 Veo el checkbox «Asociar parámetros» en la página «SQL». ¿Cómo escribo consultas SQL parametrizadas?

Desde la versión 4.5, phpMyAdmin permite al usuario ejecutar SQL parametrizadas en la página «SQL». Los parámetros deben tener como prefijo dos puntos (:) y, cuando el checkbox «Asociar parámetros» esté marcado, se detectarán y se mostrarán campos de introducción de datos para dichos parámetros. Los valores introducidos en los campos se sustituirán en la consulta antes de ser ejecutada.

6.41 I get import errors while importing the dumps exported from older MySQL versions (pre-5.7.6) into newer MySQL versions (5.7.7+), but they work fine when imported back on same older versions ?

If you get errors like #1031 - Table storage engine for “table_name” doesn’t have this option while importing the dumps exported from pre-5.7.7 MySQL servers into new MySQL server versions 5.7.7+, it might be because ROW_FORMAT=FIXED is not supported with InnoDB tables. Moreover, the value of innodb_strict_mode would define if this would be reported as a warning or as an error.

Since MySQL version 5.7.9, the default value for innodb_strict_mode is ON and thus would generate an error when such a CREATE TABLE or ALTER TABLE statement is encountered.

There are two ways of preventing such errors while importing:

  • Change the value of innodb_strict_mode to OFF before starting the import and turn it ON after the import is successfully completed.
  • This can be achieved in two ways:
    • Go to “Variables” page and edit the value of innodb_strict_mode
    • Run the query : SET GLOBAL `innodb_strict_mode = “[value]”`

After the import is done, it is suggested that the value of innodb_strict_mode should be reset to the original value.

Proyecto phpMyAdmin

7.1 Encontré un error ¿cómo lo reporto a los desarrolladores?

Our issues tracker is located at <https://github.com/phpmyadmin/phpmyadmin/issues>. For security issues, please refer to the instructions at <https://www.phpmyadmin.net/security> to email the developers directly.

7.2 Deseo traducir los mensajes a un nuevo idioma o actualizar un idioma existente ¿dónde empiezo?

Toda traducción será bienvenida y sólo necesita el manejo del idioma. La forma más sencilla es utilizar nuestro sistema de traducción online. Puede revisar todas las posibilidades de traducción en la sección correspondiente a traducciones de nuestro sitio web.

7.3 Me gustaría ayudar con el desarrollo de phpMyAdmin ¿qué tengo que hacer?

Toda contribución en el desarrollo de phpMyAdmin es bienvenida. Puede revisar todas las posibilidades para contribuir en la sección correspondiente de nuestro sitio web.

Seguridad

8.1 ¿Dónde puedo obtener información sobre las alertas de seguridad expedidas sobre phpMyAdmin?

Por favor, consulte <https://www.phpmyadmin.net/security/>.

8.2 ¿Cómo puedo proteger phpMyAdmin contra ataques de fuerza bruta?

Si tiene un servidor web Apache, phpMyAdmin exporta información sobre autenticación al entorno de Apache y puede ser utilizada en los registros de Apache. Actualmente hay dos variables disponibles:

userID
User name of currently active user (they do not have to be logged in).
userStatus
El estado del usuario activo, será uno de los valores ok (el usuario inició sesión), mysql-denied (MySQL denegó el inicio de sesión al usuario), allow-denied (el acceso fue denegado por reglas «Allow/Deny»), root-denied (se le denegó acceso al usuario root en la configuración), empty-denied (acceso con contraseña vacía denegado).

La directiva LogFormat para Apache podría ser como sigue:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n"   pma_combined

Luego puedes utilizar cualquier herramienta de análisis de registros para detectar posibles intentos de irrupción.

8.3 Why are there path disclosures when directly loading certain files?

This is a server configuration problem. Never enable display_errors on a production site.

8.4 CSV files exported from phpMyAdmin could allow a formula injection attack.

It is possible to generate a CSV file that, when imported to a spreadsheet program such as Microsoft Excel, could potentially allow the execution of arbitrary commands.

The CSV files generated by phpMyAdmin could potentially contain text that would be interpreted by a spreadsheet program as a formula, but we do not believe escaping those fields is the proper behavior. There is no means to properly escape and differentiate between a desired text output and a formula that should be escaped, and CSV is a text format where function definitions should not be interpreted anyway. We have discussed this at length and feel it is the responsibility of the spreadsheet program to properly parse and sanitize such data on input instead.

Google also has a similar view.

Sincronización

9.1 (retirada).

9.2 (retirada).