¡Bienvenido a la documentación de phpMyAdmin!¶
Contenidos:
Introducción¶
phpMyAdmin is a free software tool written in PHP that is intended to handle the administration of a MySQL or MariaDB database server. You can use phpMyAdmin to perform most administration tasks, including creating a database, running queries, and adding user accounts.
Funcionalidades incluídas¶
En la actualidad, phpMyAdmin puede:
- create, browse, edit, and drop databases, tables, views, columns, and indexes
- mostrar múltiples resultados a través de procedimientos almacenados o consultas
- crear, copiar, borrar, renombrar y alterar bases de datos, tablas, campos e índices
- realizar labores de mantenimiento de servidor, bases de datos y tablas, dando consejos acerca de la configuración del servidor
- ejecutar, editar y marcar cualquier expresión SQL, incluyendo consultas en lote
- carga tablas con el contenido de ficheros de texto
- crea [1] y lee volcados de tablas
- exporta [1] datos a varios formatos: CSV, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Microsoft Word 2000 y LATEX
- importar datos y estructuras MySQL de planillas OpenDocument así como también archivos XML, CSV y SQL
- administrar múltiples servidores
- add, edit, and remove MySQL user accounts and privileges
- comprobar la integridad referencial en las tablas MyISAM
- crear gráficos PDF del diseño de su base de datos
- buscar globalmente o solamente en una parte de una base de datos
- transformar los datos almacenados a cualquier formato usando un conjunto de funciones predefinidas, como mostrar objetos binarios (BLOBs) como imágenes o enlaces de descarga
- visualizar cambios en bases de datos, tablas y vistas
- compatibilidad con tablas InnoDB y claves externas
- capacidad de utilizar mysqli, la extensión MySQL mejorada (revise 1.17 ¿Qué versiones de base de datos son compatibles con phpMyAdmin?)
- crear, editar, ejecutar y eliminar funciones y procedimientos almacenados («stored procedures»)
- crear, editar, exportar y eliminar eventos y disparadores
- comunicarse en 80 idiomas distintos
Atajos de teclado¶
Actualmente, phpMyAdmin soporta los siguientes atajos de teclado:
- k - Alternar la consola
- h - Ir a la página principal
- s - Abrir ajustes
- d + s - Ir a la estructura de la base de datos (Siempre que esté en la página relacionada con la base de datos)
- d + f - Buscar base de datos (Siempre que esté en la página relacionada con la base de datos)
- t + s - Ir a la estructura de la tabla (Siempre que esté en la página relacionada con la tabla)
- T + f - Tabla de búsqueda (Siempre que se encuentre en una página relacionada con la tabla)
- retroceso - Te lleva a página antigua.
Unas palabras sobre los usuarios¶
A muchas personas les es difícil entender el concepto de gestión de usuarios de phpMyAdmin. Cuando un usuario entra en phpMyAdmin, su nombre de usuario y contraseña se pasan directamente a MySQL. phpMyAdmin no realiza la gestión de usuarios directamente (salvo el permitirle a uno manipular la información de usuario de MySQL); todos los usuarios deben ser usuarios válidos de MySQL.
Notas al pie
[1] | (1, 2) phpMyAdmin can compress (ZIP, GZip or RFC 1952
formats) dumps and CSV exports if you use PHP with
Zlib support (--with-zlib ).
Proper support may also need changes in php.ini . |
Requisitos¶
Servidor web¶
Ya que la interfaz de phpMyAdmin está basada íntegramente en su navegador, necesitará un servidor web (como Apache, nginx, IIS) en el que instalar los archivos de phpMyAdmin.
PHP¶
- You need PHP 8.1.2 or newer, with
session
support, the Standard PHP Library (SPL) extension, hash, ctype, and JSON support. - The
mbstring
extension (see mbstring) is strongly recommended for performance reasons. - Para subir archivos ZIP, necesita la extensión
zip
de PHP. - Necesita el módulo GD2 de PHP para mostrar las miniaturas de JPEGs («image/jpeg: inline») conservando su relación de aspecto original.
- When using the cookie authentication (the default), the openssl extension is strongly suggested.
- Para poder utilizar barras de progreso al subir archivos, revise 2.9 Viendo una barra de progreso al subir archivos.
- To support XML and Open Document Spreadsheet importing, you need the libxml extension.
- To support reCAPTCHA on the login page, you need the openssl extension.
- To support displaying phpMyAdmin’s latest version, you need to enable
allow_url_open
in yourphp.ini
or to have the curl extension.
Base de datos¶
phpMyAdmin puede trabajar con bases de datos compatibles con MySQL.
- MySQL 5.5 o posterior
- MariaDB 5.5 o posterior
Navegador web¶
Para acceder a phpMyAdmin necesitará un navegador web con cookies y JavaScript activado.
You need a browser which is supported by Bootstrap 4.5, see <https://getbootstrap.com/docs/4.5/getting-started/browsers-devices/>.
Distinto en la versión 5.2.0: You need a browser which is supported by Bootstrap 5.0, see <https://getbootstrap.com/docs/5.0/getting-started/browsers-devices/>.
Instalación¶
phpMyAdmin no añade ninguna medida de seguridad al servidor de base de datos MySQL. El administrador de sistema es aún el responsable de otorgar adecuadamente los permisos sobre las bases de datos de MySQL. Se puede utilizar para ello la página de phpMyAdmin Usuarios.
Distribuciones de Linux¶
PhpMyAdmin esa incluído en la mayoria de las distribuciones Linux. Se recomienda que utilice los paquetes de la distribución cuando fuera posible - generalmente se integran con su distribución y recibirá automáticamente actualizaciones de seguridad desde su distribución.
Debian and Ubuntu¶
Most Debian and Ubuntu versions include a phpMyAdmin package, but be aware that
the configuration file is maintained in /etc/phpmyadmin
and may differ in
some ways from the official phpMyAdmin documentation. Specifically, it does:
- Configuration of a web server (works for Apache and lighttpd).
- Creación de Almacenamiento de configuración de phpMyAdmin con dbconfig-common.
- Asegurar la secuencia de comandos, vea Setup script on Debian, Ubuntu and derivatives.
More specific details about installing Debian or Ubuntu packages are available in our wiki.
Ver también
More information can be found in README.Debian
(it is installed as /usr/share/doc/phpmyadmin/README.Debian
with the package).
OpenSUSE¶
OpenSUSE already comes with phpMyAdmin package, just install packages from the openSUSE Build Service.
Gentoo¶
Gentoo ships the phpMyAdmin package, both in a near-stock configuration as well
as in a webapp-config
configuration. Use emerge dev-db/phpmyadmin
to
install.
Mandriva¶
Mandriva provee el paquete de phpMyAdmin en su rama contrib
y puede instalarlo de la forma usual con el Centro de control.
Fedora¶
Fedora provee el paquete de phpMyAdmin, pero sepa que el archivo de configuración se encuentra en /etc/phpMyAdmin/
y puede tener diferencias con la documentación oficial de phpMyAdmin.
Red Hat Enterprise Linux¶
Red Hat Enterprise Linux itself and thus derivatives like CentOS don’t
ship phpMyAdmin, but the Fedora-driven repository
Extra Packages for Enterprise Linux (EPEL)
is doing so, if it’s
enabled.
But be aware that the configuration file is maintained in
/etc/phpMyAdmin/
and may differ in some ways from the
official phpMyAdmin documentation.
Instalación en Windows¶
The easiest way to get phpMyAdmin on Windows is using third party products which include phpMyAdmin together with a database and web server such as XAMPP.
Puede encontrar más opciones similares en Wikipedia.
Instalación desde Git¶
In order to install from Git, you’ll need a few supporting applications:
- Git to download the source, or you can download the most recent source directly from Github
- Composer
- Node.js (version 14 or higher)
- Yarn
You can clone current phpMyAdmin source from
https://github.com/phpmyadmin/phpmyadmin.git
:
git clone https://github.com/phpmyadmin/phpmyadmin.git
Additionally you need to install dependencies using Composer:
composer update
If you do not intend to develop, you can skip the installation of developer tools by invoking:
composer update --no-dev
Finally, you’ll need to use Yarn to install some JavaScript dependencies:
yarn install --production
Instalación usando Composer¶
You can install phpMyAdmin using the Composer tool, since 4.7.0 the releases are automatically mirrored to the default Packagist repository.
Nota
The content of the Composer repository is automatically generated separately from the releases, so the content doesn’t have to be 100% same as when you download the tarball. There should be no functional differences though.
To install phpMyAdmin simply run:
composer create-project phpmyadmin/phpmyadmin
Alternatively you can use our own composer repository, which contains the release tarballs and is available at <https://www.phpmyadmin.net/packages.json>:
composer create-project phpmyadmin/phpmyadmin --repository-url=https://www.phpmyadmin.net/packages.json --no-dev
Instalación usando Docker¶
phpMyAdmin comes with a Docker official image, which you can easily deploy. You can download it using:
docker pull phpmyadmin
The phpMyAdmin server will listen on port 80. It supports several ways of
configuring the link to the database server, either by Docker’s link feature
by linking your database container to db
for phpMyAdmin (by specifying
--link your_db_host:db
) or by environment variables (in this case it’s up
to you to set up networking in Docker to allow the phpMyAdmin container to access
the database container over the network).
Variables de entorno de Docker¶
Puede configurar varias características de phpMyAdmin usando variables de entorno:
-
PMA_ARBITRARY
¶ Allows you to enter a database server hostname on login form.
Ver también
-
PMA_HOST
¶ Hostname or IP address of the database server to use.
Ver también
-
PMA_HOSTS
¶ Comma-separated hostnames or IP addresses of the database servers to use.
Nota
Usado únicamente si
PMA_HOST
está vacía.
-
PMA_VERBOSE
¶ Verbose name of the database server.
Ver también
-
PMA_VERBOSES
¶ Comma-separated verbose name of the database servers.
Nota
Usado únicamente si
PMA_VERBOSE
está vacía.
-
PMA_USER
¶ Nombre de usuario a utilizar en Método de autenticación «config».
-
PMA_PASSWORD
¶ Contraseña a utilizar en Método de autenticación «config».
-
PMA_PORT
¶ Port of the database server to use.
-
PMA_PORTS
¶ Comma-separated ports of the database server to use.
Nota
Used only if
PMA_PORT
is empty.
-
PMA_SOCKET
¶ Socket file for the database connection.
-
PMA_SOCKETS
¶ Comma-separated list of socket files for the database connections.
Nota
Used only if
PMA_SOCKET
is empty.
-
PMA_ABSOLUTE_URI
¶ The fully-qualified path (
https://pma.example.net/
) where the reverse proxy makes phpMyAdmin available.Ver también
-
PMA_QUERYHISTORYDB
¶ When set to true, enables storing SQL history to
$cfg['Servers'][$i]['pmadb']
. When false, history is stored in the browser and is cleared when logging out.Ver también
Ver también
-
PMA_QUERYHISTORYMAX
¶ When set to an integer, controls the number of history items.
Ver también
-
PMA_CONTROLHOST
¶ When set, this points to an alternate database host used for storing the «Almacenamiento de configuración de phpMyAdmin» database.
Ver también
-
PMA_CONTROLUSER
¶ Defines the username for phpMyAdmin to use for the «Almacenamiento de configuración de phpMyAdmin» database.
Ver también
-
PMA_CONTROLPASS
¶ Defines the password for phpMyAdmin to use for the «Almacenamiento de configuración de phpMyAdmin» database.
Ver también
-
PMA_CONTROLPORT
¶ When set, will override the default port (3306) for connecting to the control host.
Ver también
-
PMA_PMADB
¶ When set, define the name of the database to be used for the «Almacenamiento de configuración de phpMyAdmin» database. When not set, the advanced features are not enabled by default: they can still potentially be enabled by the user when logging in with the Sin configuración feature.
Nota
Suggested values: phpmyadmin or pmadb
Ver también
-
HIDE_PHP_VERSION
¶ If defined, this option will hide the PHP version (expose_php = Off). Set to any value (such as HIDE_PHP_VERSION=true).
-
UPLOAD_LIMIT
¶ If set, this option will override the default value for apache and php-fpm (this will change
upload_max_filesize
andpost_max_size
values).Nota
Format as [0-9+](K,M,G) default value is 2048K
-
MEMORY_LIMIT
¶ If set, this option will override the phpMyAdmin memory limit
$cfg['MemoryLimit']
and PHP’s memory_limit.Nota
Format as [0-9+](K,M,G) where K is for Kilobytes, M for Megabytes, G for Gigabytes and 1K = 1024 bytes. Default value is 512M.
-
MAX_EXECUTION_TIME
¶ If set, this option will override the maximum execution time in seconds for phpMyAdmin
$cfg['ExecTimeLimit']
and PHP’s max_execution_time.Nota
Format as [0-9+]. Default value is 600.
-
PMA_CONFIG_BASE64
¶ If set, this option will override the default config.inc.php with the base64 decoded contents of the variable.
-
PMA_USER_CONFIG_BASE64
¶ If set, this option will override the default config.user.inc.php with the base64 decoded contents of the variable.
-
PMA_UPLOADDIR
¶ If set, this option will set the path where files can be saved to be available to import (
$cfg['UploadDir']
)
-
PMA_SAVEDIR
¶ If set, this option will set the path where exported files can be saved (
$cfg['SaveDir']
)
-
APACHE_PORT
¶ If set, this option will change the default Apache port from 80 in case you want it to run on a different port like an unprivileged port. Set to any port value (such as APACHE_PORT=8090).
By default, Método de autenticación por cookie is used, but if PMA_USER
and
PMA_PASSWORD
are set, it is switched to Método de autenticación «config».
Nota
The credentials you need to log in are stored in the MySQL server, in case
of Docker image, there are various ways to set it (for example
MYSQL_ROOT_PASSWORD
when starting the MySQL container). Please check
documentation for MariaDB container
or MySQL container.
Personalizando configuración¶
Additionally configuration can be tweaked by /etc/phpmyadmin/config.user.inc.php
. If
this file exists, it will be loaded after configuration is generated from above
environment variables, so you can override any configuration variable. This
configuration can be added as a volume when invoking docker using
-v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php parameters.
Note that the supplied configuration file is applied after Variables de entorno de Docker, but you can override any of the values.
For example to change the default behavior of CSV export you can use the following configuration file:
<?php
$cfg['Export']['csv_columns'] = true;
You can also use it to define server configuration instead of using the environment variables listed in Variables de entorno de Docker:
<?php
/* Override Servers array */
$cfg['Servers'] = [
1 => [
'auth_type' => 'cookie',
'host' => 'mydb1',
'port' => 3306,
'verbose' => 'Verbose name 1',
],
2 => [
'auth_type' => 'cookie',
'host' => 'mydb2',
'port' => 3306,
'verbose' => 'Verbose name 2',
],
];
Ver también
See Configuración for detailed description of configuration options.
Docker Volumes¶
You can use the following volumes to customize image behavior:
/etc/phpmyadmin/config.user.inc.php
Can be used for additional settings, see the previous chapter for more details.
/sessions/
Directory where PHP sessions are stored. You might want to share this for example when using Método de autenticación «signon».
/www/themes/
Directory where phpMyAdmin looks for themes. By default only those shipped with phpMyAdmin are included, but you can include additional phpMyAdmin themes (see Custom Themes) by using Docker volumes.
Docker Examples¶
To connect phpMyAdmin to a given server use:
docker run --name phpmyadmin -d -e PMA_HOST=dbhost -p 8080:80 phpmyadmin:latest
To connect phpMyAdmin to more servers use:
docker run --name phpmyadmin -d -e PMA_HOSTS=dbhost1,dbhost2,dbhost3 -p 8080:80 phpmyadmin:latest
To use arbitrary server option:
docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -e PMA_ARBITRARY=1 phpmyadmin:latest
You can also link the database container using Docker:
docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 phpmyadmin:latest
Running with additional configuration:
docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php phpmyadmin:latest
Running with additional themes:
docker run --name phpmyadmin -d --link mysql_db_server:db -p 8080:80 -v /some/local/directory/custom/phpmyadmin/themeName/:/var/www/html/themes/themeName/ phpmyadmin:latest
Using docker-compose¶
Alternatively, you can also use docker-compose with the docker-compose.yml from <https://github.com/phpmyadmin/docker>. This will run phpMyAdmin with an arbitrary server - allowing you to specify MySQL/MariaDB server on the login page.
docker compose up -d
Customizing configuration file using docker-compose¶
You can use an external file to customize phpMyAdmin configuration and pass it using the volumes directive:
phpmyadmin:
image: phpmyadmin:latest
container_name: phpmyadmin
environment:
- PMA_ARBITRARY=1
restart: always
ports:
- 8080:80
volumes:
- /sessions
- ~/docker/phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
- /custom/phpmyadmin/theme/:/www/themes/theme/
Ver también
Running behind haproxy in a subdirectory¶
When you want to expose phpMyAdmin running in a Docker container in a subdirectory, you need to rewrite the request path in the server proxying the requests.
For example, using haproxy it can be done as:
frontend http
bind *:80
option forwardfor
option http-server-close
### NETWORK restriction
acl LOCALNET src 10.0.0.0/8 192.168.0.0/16 172.16.0.0/12
# /phpmyadmin
acl phpmyadmin path_dir /phpmyadmin
use_backend phpmyadmin if phpmyadmin LOCALNET
backend phpmyadmin
mode http
reqirep ^(GET|POST|HEAD)\ /phpmyadmin/(.*) \1\ /\2
# phpMyAdmin container IP
server localhost 172.30.21.21:80
When using traefik, something like following should work:
defaultEntryPoints = ["http"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
regex = "(http:\\/\\/[^\\/]+\\/([^\\?\\.]+)[^\\/])$"
replacement = "$1/"
[backends]
[backends.myadmin]
[backends.myadmin.servers.myadmin]
url="http://internal.address.to.pma"
[frontends]
[frontends.myadmin]
backend = "myadmin"
passHostHeader = true
[frontends.myadmin.routes.default]
rule="PathPrefixStrip:/phpmyadmin/;AddPrefix:/"
You then should specify PMA_ABSOLUTE_URI
in the docker-compose
configuration:
version: '2'
services:
phpmyadmin:
restart: always
image: phpmyadmin:latest
container_name: phpmyadmin
hostname: phpmyadmin
domainname: example.com
ports:
- 8000:80
environment:
- PMA_HOSTS=172.26.36.7,172.26.36.8,172.26.36.9,172.26.36.10
- PMA_VERBOSES=production-db1,production-db2,dev-db1,dev-db2
- PMA_USER=root
- PMA_PASSWORD=
- PMA_ABSOLUTE_URI=http://example.com/phpmyadmin/
IBM Cloud¶
One of our users has created a helpful guide for installing phpMyAdmin on the IBM Cloud platform.
Instalación rápida¶
- Choose an appropriate distribution kit from the phpmyadmin.net
Downloads page. Some kits contain only the English messages, others
contain all languages. We’ll assume you chose a kit whose name
looks like
phpMyAdmin-x.x.x-all-languages.tar.gz
. - Asegúrese de que ha descargado un archivo genuino, vea Verificando lanzamientos de phpMyAdmin.
- Untar or unzip the distribution (be sure to unzip the subdirectories):
tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz
in your webserver’s document root. If you don’t have direct access to your document root, put the files in a directory on your local machine, and, after step 4, transfer the directory on your web server using, for example, FTP. - Asegúrese que todos los scripts tengan el dueño adecuado (si PHP está siendo ejecutado en modo seguro, tener algunos scripts con un dueño distinto al del de los demás scripts puede ser un problema. Revise 4.2 ¿Cuál es la forma preferida para asegurar phpMyAdmin contra accesos maliciosos? y 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. por sugerencias.
- Ahora debe configurar su instalación. Hay dos formas. Tradicionalmente, debía modificar a mano el archivo
config.inc.php
, pero ahora se suministra un archivo de configuración automático para aquellos que prefieran la instalación gráfica. Crearconfig.inc.php
sigue siendo una manera rápida de empezar y es necesaria para algunas opciones avanzadas.
Creando el archivo en forma manual¶
To manually create the file, simply use your text editor to create the
file config.inc.php
(you can copy config.sample.inc.php
to get
a minimal configuration file) in the main (top-level) phpMyAdmin
directory (the one that contains index.php
). phpMyAdmin first
loads the default configuration values and then overrides those values
with anything found in config.inc.php
. If the default value is
okay for a particular setting, there is no need to include it in
config.inc.php
. You’ll probably need only a few directives to get going; a
simple configuration may look like this:
<?php
// The string is a hexadecimal representation of a 32-bytes long string of random bytes.
$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
// if you insist on "root" having no password:
// $cfg['Servers'][$i]['AllowNoPassword'] = true;
O si prefiere no ser preguntado cada vez que quiera entrar:
<?php
$i=0;
$i++;
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'changeme'; // use here your password
$cfg['Servers'][$i]['auth_type'] = 'config';
Advertencia
Storing passwords in the configuration is insecure as anybody can then manipulate your database.
Si necesita conocer todos los valores de configuración disponibles, revise Configuración en este documento.
Using the Setup script¶
Instead of manually editing config.inc.php
, you can use phpMyAdmin’s
setup feature. The file can be generated using the setup and you can download it
for upload to the server.
Next, open your browser and visit the location where you installed phpMyAdmin,
with the /setup
suffix. The changes are not saved to the server, you need to
use the Download button to save them to your computer and then upload
to the server.
Now the file is ready to be used. You can choose to review or edit the file with your favorite editor, if you prefer to set some advanced options that the setup script does not provide.
- Si está utilizando el método de autenticación «config» es preferible que proteja el directorio de instalación de phpMyAdmin porque el uso de este método no requiere que el usuario escriba su contraseña para acceder a la instalación de phpMyAdmin. Se recomienda el uso de métodos de autenticación alternativos, como por ejemplo un HTTP—AUTH en un archivo .htaccess o bien usar una autenticación http o por cookie. Revise ISPs, instalaciones multiusuario para obtener información adicional, especialmente 4.4 phpMyAdmin siempre devuelve «Acceso denegado» al utilizar autenticación HTTP..
- Open the main phpMyAdmin directory in your browser. phpMyAdmin should now display a welcome screen and your databases, or a login dialog if using HTTP or cookie authentication mode.
Setup script on Debian, Ubuntu and derivatives¶
Debian and Ubuntu have changed the way in which the setup script is enabled and disabled, in a way that single command has to be executed for either of these.
To allow editing configuration invoke:
/usr/sbin/pma-configure
To block editing configuration invoke:
/usr/sbin/pma-secure
Setup script on openSUSE¶
Some openSUSE releases do not include setup script in the package. In case you want to generate configuration on these you can either download original package from <https://www.phpmyadmin.net/> or use setup script on our demo server: <https://demo.phpmyadmin.net/master/setup/>.
Verificando lanzamientos de phpMyAdmin¶
Since July 2015 all phpMyAdmin releases are cryptographically signed by the releasing developer, who through January 2016 was Marc Delisle. His key id is 0xFEFC65D181AF644A, his PGP fingerprint is:
436F F188 4B1A 0C3F DCBF 0D79 FEFC 65D1 81AF 644A
and you can get more identification information from <https://keybase.io/lem9>.
Beginning in January 2016, the release manager is Isaac Bennetch. His key id is 0xCE752F178259BD92, and his PGP fingerprint is:
3D06 A59E CE73 0EB7 1B51 1C17 CE75 2F17 8259 BD92
and you can get more identification information from <https://keybase.io/ibennetch>.
Some additional downloads (for example themes) might be signed by Michal Čihař. His key id is 0x9C27B31342B7511D, and his PGP fingerprint is:
63CB 1DF1 EF12 CF2A C0EE 5A32 9C27 B313 42B7 511D
and you can get more identification information from <https://keybase.io/nijel>.
You should verify that the signature matches the archive you have downloaded. This way you can be sure that you are using the same code that was released. You should also verify the date of the signature to make sure that you downloaded the latest version.
Each archive is accompanied by .asc
files which contain the PGP signature
for it. Once you have both of them in the same folder, you can verify the signature:
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
gpg: Can't check signature: public key not found
As you can see gpg complains that it does not know the public key. At this point, you should do one of the following steps:
- Descargue el llavero de “nuestro servidor de descarga <https://files.phpmyadmin.net/phpmyadmin.keyring >” _, luego impórtelo con:
$ gpg --import phpmyadmin.keyring
- Descargue e importe la clave desde uno de los servidores de claves:
$ gpg --keyserver hkp://pgp.mit.edu --recv-keys 3D06A59ECE730EB71B511C17CE752F178259BD92
gpg: requesting key 8259BD92 from hkp server pgp.mit.edu
gpg: key 8259BD92: public key "Isaac Bennetch <bennetch@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
This will improve the situation a bit - at this point, you can verify that the signature from the given key is correct but you still can not trust the name used in the key:
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
gpg: Good signature from "Isaac Bennetch <bennetch@gmail.com>"
gpg: aka "Isaac Bennetch <isaac@bennetch.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3D06 A59E CE73 0EB7 1B51 1C17 CE75 2F17 8259 BD92
The problem here is that anybody could issue the key with this name. You need to ensure that the key is actually owned by the mentioned person. The GNU Privacy Handbook covers this topic in the chapter Validating other keys on your public keyring. The most reliable method is to meet the developer in person and exchange key fingerprints, however, you can also rely on the web of trust. This way you can trust the key transitively though signatures of others, who have met the developer in person.
Una vez se haya confiado en la clave, la advertencia no volverá a producirse:
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
gpg: Good signature from "Isaac Bennetch <bennetch@gmail.com>" [full]
La firma puede no ser válida (el fichero ha cambiado), debería obteer un error claro acerca del hecho de que la clave es confiable o no:
$ gpg --verify phpMyAdmin-4.5.4.1-all-languages.zip.asc
gpg: Signature made Fri 29 Jan 2016 08:59:37 AM EST using RSA key ID 8259BD92
gpg: BAD signature from "Isaac Bennetch <bennetch@gmail.com>" [unknown]
Almacenamiento de configuración de phpMyAdmin¶
Distinto en la versión 3.4.0: Prior to phpMyAdmin 3.4.0 this was called Linked Tables Infrastructure, but the name was changed due to the extended scope of the storage.
For a whole set of additional features (Favoritos, comments, SQL-history, tracking mechanism, PDF-generation, Transformaciones, Relaciones etc.) you need to create a set of special tables. Those tables can be located in your own database, or in a central database for a multi-user installation (this database would then be accessed by the controluser, so no other user should have rights to it).
Sin configuración¶
In many cases, this database structure can be automatically created and
configured. This is called “Zero Configuration” mode and can be particularly
useful in shared hosting situations. “ZeroConf” mode is on by default, to
disable set $cfg['ZeroConf']
to false.
Los siguientes tres escenarios se cubren con el modo «Sin configuración»:
- Cuando se accede a una base de datos donde las tablas de configuración de almacenamiento no están presentes, phpMyAdmin permite crearlas desde la pestaña de Operaciones.
- Cuando se accede a una base de datos donde ya existen las tablas, el sofware las detecta automáticamente y las utiliza. Esta es la situación más común; Después de que las tablas se hayan creado inicialmente de modo automático, se usan continuamente sin molestar al usuario; Esto es muy util en hosting compartido, donde el usuario no puede editar el
config.inc.php
y solamente tiene acceso a una base de datos. - Cuando se tiene acceso a múltiples bases de datos, si el usuario accede primero a la base de datos que contiene las tablas de configuración de almacenamiento, y luego cambia a otra base de datos, phpMyAdmin continúa usando las tablas de la primera base de datos; No se le solicita al usuario que cree más tablas en la nueva base de datos.
Configuración manual¶
Por favor, mire su directorio «./sql/», donde debería encontrar un archivo llamado create_tables.sql. (Si está utilizando un servidor Windows preste especial atención a 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!).
Si ya tenía esta infraestructura y:
- actualizado a MySQL 4.1.2 o posterior, utilice
sql/upgrade_tables_mysql_4_1_2+.sql
. - actualizado a phpMyAdmin 4.3.0 o posterior desde 2.5.0 o posterior (<= 4.2.x), utilice
sql/upgrade_column_info_4_3_0+.sql
. - upgraded to phpMyAdmin 4.7.0 or newer from 4.3.0 or newer,
please use
sql/upgrade_tables_4_7_0+.sql
.
y luego cree las nuevas tablas importando sql/create_tables.sql
.
Puede hacer que phpMyAdmin cree automáticamente las tablas. Tenga en cuenta que se necesitan privilegios especiales (de administrador) para crear la base de datos y las tablas, y que el script puede necesitar algunas modificaciones dependiendo del nombre de la base de datos.
Tras haber importado el archivo sql/create_tables.sql
, debería especificar los nombres de las tablas en su archivo config.inc.php
. Las directivas necesarias están disponibles en Configuración.
También necesitará un usuario de control (las configuraciones $cfg['Servers'][$i]['controluser']
y $cfg['Servers'][$i]['controlpass']
) con los permisos apropiados para esas tablas. Puede crearlos, por ejemplo, utilizando la siguiente sentencia:
And for any MariaDB version:
CREATE USER 'pma'@'localhost' IDENTIFIED VIA mysql_native_password USING 'pmapass';
GRANT SELECT, INSERT, UPDATE, DELETE ON `<pma_db>`.* TO 'pma'@'localhost';
For MySQL 8.0 and newer:
CREATE USER 'pma'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'pmapass';
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
For MySQL older than 8.0:
CREATE USER 'pma'@'localhost' IDENTIFIED WITH mysql_native_password AS 'pmapass';
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
Note that MySQL installations with PHP older than 7.4 and MySQL newer than 8.0 may require using the mysql_native_password authentication as a workaround, see 1.45 I get an error message about unknown authentication method caching_sha2_password when trying to log in for details.
Actualizando desde una versión más antigua¶
Advertencia
Never extract the new version over an existing installation of phpMyAdmin, always first remove the old files keeping just the configuration.
This way, you will not leave any old or outdated files in the directory, which can have severe security implications or can cause various breakages.
Simplemente copie el archivo config.inc.php
de su antigua instalación en la recién descomprimida. Los archivos de configuración de versiones previas pueden requerir algunas modificaciones dado que algunas opciones pueden haber sido cambiadas o eliminadas. Por compatibilidad con PHP 5.3 o posterior, elimine la sentencia set_magic_quotes_runtime(0);
que pueda encontrar cerca del final de su archivo de configuración.
The complete upgrade can be performed in a few simple steps:
- Download the latest phpMyAdmin version from <https://www.phpmyadmin.net/downloads/>.
- Rename existing phpMyAdmin folder (for example to
phpmyadmin-old
). - Unpack freshly downloaded phpMyAdmin to the desired location (for example
phpmyadmin
). - Copy
config.inc.php`
from old location (phpmyadmin-old
) to the new one (phpmyadmin
). - Test that everything works properly.
- Remove backup of a previous version (
phpmyadmin-old
).
Si ha actualizado su servidor MySQL desde una versión anterior a la 4.1.2 a una versión 5.x o más reciente y está utilizando el almacenamiento de configuración phpMyAdmin, debería ejecutar el script SQL que se encuentra en sql/upgrade_tables_mysql_4_1_2+.sql
.
Si ha actualizado su phpMyAdmin a la versión 4.3.0 o posterior desde una 2.5.0 o posterior (<= 4.2.x) y utiliza el almacenamiento de configuración de phpMyAdmin, debería ejecutar el script SQL que se encuentra en sql/upgrade_column_info_4_3_0+.sql
.
No olvide limpiar la caché del navegador y vaciar la sesión antigua realizando logout y volviendo a identificarse de nuevo.
Uso de los métodos de autenticación¶
HTTP and cookie authentication modes are recommended in a multi-user environment where you want to give users access to their own database and don’t want them to play around with others. Nevertheless, be aware that MS Internet Explorer seems to be really buggy about cookies, at least till version 6. Even in a single-user environment, you might prefer to use HTTP or cookie mode so that your user/password pair are not in clear in the configuration file.
HTTP and cookie authentication
modes are more secure: the MySQL login information does not need to be
set in the phpMyAdmin configuration file (except possibly for the
$cfg['Servers'][$i]['controluser']
).
However, keep in mind that the password travels in plain text unless
you are using the HTTPS protocol. In cookie mode, the password is
stored, encrypted with the AES algorithm, in a temporary cookie.
Then each of the true users should be granted a set of privileges on a set of particular databases. Normally you shouldn’t give global privileges to an ordinary user unless you understand the impact of those privileges (for example, you are creating a superuser). For example, to grant the user real_user with all privileges on the database user_base:
GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password';
Lo que el usuario pueda hacer a continuación es controlado exclusivamente por el sistema de administración de usuarios de MySQL. Con los métodos de autenticación HTTP o por cookie, no es necesario rellenar los campos usuario/contraseña en $cfg['Servers']
.
Ver también
1.32 ¿Puedo utilizar autenticación HTTP con IIS?, 1.35 ¿Puedo utilizar autenticación HTTP con Apache CGI?, 4.1 Soy un ISP. ¿Puedo configurar una copia centra del phpMyAdmin o necesito una instalación por cliente?, 4.2 ¿Cuál es la forma preferida para asegurar phpMyAdmin contra accesos maliciosos?, 4.3 Obtengo errores sobre no poder incluir un archivo en /lang o en /libraries.
Modo de autenticación HTTP¶
Emplea el método básico de autenticación HTTP y le permite acceder como cualquier usuario válido de MySQL.
Es compatible con la mayoría de las configuraciones PHP. Para IIS (ISAPI) usando CGI PHP revise 1.32 ¿Puedo utilizar autenticación HTTP con IIS?. Para utilizar CGI de Apache, revise 1.35 ¿Puedo utilizar autenticación HTTP con Apache CGI?.
When PHP is running under Apache’s mod_proxy_fcgi (e.g. with PHP-FPM),
Authorization
headers are not passed to the underlying FCGI application, such that your credentials will not reach the application. In this case, you can add the following configuration directive:SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Revise también 4.4 phpMyAdmin siempre devuelve «Acceso denegado» al utilizar autenticación HTTP. acerca de cómo no usar el mecanismo .htaccess en conjunto con el modo de autenticación HTTP.
Nota
There is no way to do proper logout in HTTP authentication, most browsers will remember credentials until there is no different successful authentication. Because of this, this method has a limitation that you can not login with the same user after logout.
Método de autenticación por cookie¶
- El nombre de usuario y la contraseña son almacenados en cookies durante la sesión y se elimina la contraseña cuando ésta finaliza.
- With this mode, the user can truly log out of phpMyAdmin and log back in with the same username (this is not possible with Modo de autenticación HTTP).
- Si desea permitir que los usuarios ingresen un nombre de equipo al que conectarse (en lugar de sólo aquellos servidores configurados en
config.inc.php
), revise la directiva$cfg['AllowArbitraryServer']
. - As mentioned in the Requisitos section, having the
openssl
extension will speed up access considerably, but is not required.
Método de autenticación «signon»¶
- This mode is a convenient way of using credentials from another application to authenticate to phpMyAdmin to implement a single signon solution.
- The other application has to store login information into session
data (see
$cfg['Servers'][$i]['SignonSession']
and$cfg['Servers'][$i]['SignonCookieParams']
) or you need to implement script to return the credentials (see$cfg['Servers'][$i]['SignonScript']
). - Cuando no hay credenciales disponibles, se redirigirá al usuario a
$cfg['Servers'][$i]['SignonURL']
, donde debería iniciar sesión.
Puede encontrar un ejemplo básico para guardar las credenciales en una sesión en examples/signon.php
:
<?php
/**
* Single signon for phpMyAdmin
*
* This is just example how to use session based single signon with
* phpMyAdmin, it is not intended to be perfect code and look, only
* shows how you can integrate this functionality in your application.
*/
declare(strict_types=1);
/* Use cookies for session */
ini_set('session.use_cookies', 'true');
/* Change this to true if using phpMyAdmin over https */
$secureCookie = false;
/* Need to have cookie visible from parent directory */
session_set_cookie_params(0, '/', '', $secureCookie, true);
/* Create signon session */
$sessionName = 'SignonSession';
session_name($sessionName);
// Uncomment and change the following line to match your $cfg['SessionSavePath']
//session_save_path('/foobar');
@session_start();
/* Was data posted? */
if (isset($_POST['user'])) {
/* Store there credentials */
$_SESSION['PMA_single_signon_user'] = $_POST['user'];
$_SESSION['PMA_single_signon_password'] = $_POST['password'];
$_SESSION['PMA_single_signon_host'] = $_POST['host'];
$_SESSION['PMA_single_signon_port'] = $_POST['port'];
/* Update another field of server configuration */
$_SESSION['PMA_single_signon_cfgupdate'] = ['verbose' => 'Signon test'];
$_SESSION['PMA_single_signon_HMAC_secret'] = hash('sha1', uniqid(strval(random_int(0, mt_getrandmax())), true));
$id = session_id();
/* Close that session */
@session_write_close();
/* Redirect to phpMyAdmin (should use absolute URL here!) */
header('Location: ../index.php');
} else {
/* Show simple form */
header('Content-Type: text/html; charset=utf-8');
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
echo '<!DOCTYPE HTML>
<html lang="en" dir="ltr">
<head>
<link rel="icon" href="../favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<meta charset="utf-8">
<title>phpMyAdmin single signon example</title>
</head>
<body>';
if (isset($_SESSION['PMA_single_signon_error_message'])) {
echo '<p class="error">';
echo $_SESSION['PMA_single_signon_error_message'];
echo '</p>';
}
echo '<form action="signon.php" method="post">
Username: <input type="text" name="user" autocomplete="username" spellcheck="false"><br>
Password: <input type="password" name="password" autocomplete="current-password" spellcheck="false"><br>
Host: (will use the one from config.inc.php by default)
<input type="text" name="host"><br>
Port: (will use the one from config.inc.php by default)
<input type="text" name="port"><br>
<input type="submit">
</form>
</body>
</html>';
}
Alternatively, you can also use this way to integrate with OpenID as shown
in examples/openid.php
:
<?php
/**
* Single signon for phpMyAdmin using OpenID
*
* This is just example how to use single signon with phpMyAdmin, it is
* not intended to be perfect code and look, only shows how you can
* integrate this functionality in your application.
*
* It uses OpenID pear package, see https://pear.php.net/package/OpenID
*
* User first authenticates using OpenID and based on content of $AUTH_MAP
* the login information is passed to phpMyAdmin in session data.
*/
declare(strict_types=1);
if (false === @include_once 'OpenID/RelyingParty.php') {
exit;
}
/* Change this to true if using phpMyAdmin over https */
$secureCookie = false;
/**
* Map of authenticated users to MySQL user/password pairs.
*/
$authMap = ['https://launchpad.net/~username' => ['user' => 'root', 'password' => '']];
// phpcs:disable PSR1.Files.SideEffects,Squiz.Functions.GlobalFunction
/**
* Simple function to show HTML page with given content.
*
* @param string $contents Content to include in page
*/
function Show_page(string $contents): void
{
header('Content-Type: text/html; charset=utf-8');
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
echo '<!DOCTYPE HTML>
<html lang="en" dir="ltr">
<head>
<link rel="icon" href="../favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<meta charset="utf-8">
<title>phpMyAdmin OpenID signon example</title>
</head>
<body>';
if (isset($_SESSION['PMA_single_signon_error_message'])) {
echo '<p class="error">' . $_SESSION['PMA_single_signon_message'] . '</p>';
unset($_SESSION['PMA_single_signon_message']);
}
echo $contents;
echo '</body></html>';
}
/**
* Display error and exit
*
* @param Exception $e Exception object
*/
function Die_error(Throwable $e): void
{
$contents = "<div class='relyingparty_results'>\n";
$contents .= '<pre>' . htmlspecialchars($e->getMessage()) . "</pre>\n";
$contents .= "</div class='relyingparty_results'>";
Show_page($contents);
exit;
}
// phpcs:enable
/* Need to have cookie visible from parent directory */
session_set_cookie_params(0, '/', '', $secureCookie, true);
/* Create signon session */
$sessionName = 'SignonSession';
session_name($sessionName);
@session_start();
// Determine realm and return_to
$base = 'http';
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
$base .= 's';
}
$base .= '://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];
$realm = $base . '/';
$returnTo = $base . dirname($_SERVER['PHP_SELF']);
if ($returnTo[strlen($returnTo) - 1] !== '/') {
$returnTo .= '/';
}
$returnTo .= 'openid.php';
/* Display form */
if ((! count($_GET) && ! count($_POST)) || isset($_GET['phpMyAdmin'])) {
/* Show simple form */
$content = '<form action="openid.php" method="post">
OpenID: <input type="text" name="identifier"><br>
<input type="submit" name="start">
</form>';
Show_page($content);
exit;
}
/* Grab identifier */
$identifier = null;
if (isset($_POST['identifier']) && is_string($_POST['identifier'])) {
$identifier = $_POST['identifier'];
} elseif (isset($_SESSION['identifier']) && is_string($_SESSION['identifier'])) {
$identifier = $_SESSION['identifier'];
}
/* Create OpenID object */
try {
$o = new OpenID_RelyingParty($returnTo, $realm, $identifier);
} catch (Throwable $e) {
Die_error($e);
}
/* Redirect to OpenID provider */
if (isset($_POST['start'])) {
try {
$authRequest = $o->prepare();
} catch (Throwable $e) {
Die_error($e);
}
$url = $authRequest->getAuthorizeURL();
header('Location: ' . $url);
exit;
}
/* Grab query string */
if (! count($_POST)) {
[, $queryString] = explode('?', $_SERVER['REQUEST_URI']);
} else {
// Fetch the raw query body
$queryString = file_get_contents('php://input');
}
/* Check reply */
try {
$message = new OpenID_Message($queryString, OpenID_Message::FORMAT_HTTP);
} catch (Throwable $e) {
Die_error($e);
}
$id = $message->get('openid.claimed_id');
if (empty($id) || ! isset($authMap[$id])) {
Show_page('<p>User not allowed!</p>');
exit;
}
$_SESSION['PMA_single_signon_user'] = $authMap[$id]['user'];
$_SESSION['PMA_single_signon_password'] = $authMap[$id]['password'];
$_SESSION['PMA_single_signon_HMAC_secret'] = hash('sha1', uniqid(strval(random_int(0, mt_getrandmax())), true));
session_write_close();
/* Redirect to phpMyAdmin (should use absolute URL here!) */
header('Location: ../index.php');
If you intend to pass the credentials using some other means than, you have to
implement wrapper in PHP to get that data and set it to
$cfg['Servers'][$i]['SignonScript']
. There is a very minimal example
in examples/signon-script.php
:
<?php
/**
* Single signon for phpMyAdmin
*
* This is just example how to use script based single signon with
* phpMyAdmin, it is not intended to be perfect code and look, only
* shows how you can integrate this functionality in your application.
*/
declare(strict_types=1);
// phpcs:disable Squiz.Functions.GlobalFunction
/**
* This function returns username and password.
*
* It can optionally use configured username as parameter.
*
* @param string $user User name
*
* @return array<int,string>
*/
function get_login_credentials(string $user): array
{
/* Optionally we can use passed username */
if (! empty($user)) {
return [$user, 'password'];
}
/* Here we would retrieve the credentials */
return ['root', ''];
}
Método de autenticación «config»¶
- Este método a veces es el más inseguro dado que necesita que se rellenen los campos
$cfg['Servers'][$i]['user']
y$cfg['Servers'][$i]['password']
(y, por ello, cualquiera que pueda leer el archivoconfig.inc.php
podrá leer su nombre de usuario y contraseña). - En la sección ISPs, instalaciones multiusuario, hay una reseña que explica cómo proteger su archivo de configuración.
- Para incrementar la seguridad en este modo, debería considerar el uso de las directivas de autenticación del servidor
$cfg['Servers'][$i]['AllowDeny']['order']
y$cfg['Servers'][$i]['AllowDeny']['rules']
. - A diferencia de los métodos «cookie» y «HTTP», no pide al usuario que se autentique al cargar la página phpMyAdmin por primera vez. Esto es así por diseño pero podría permitir a cualquiera entrar en su instalación. Debería emplear un método de restricción, como un archivo .htaccess con la directiva HTTP-AUTH o impedir las consultas HTTP entrantes a su router o firewall (ambos métodos están más allá de la temática de este manual, pero son fácilmente localizables con Google).
Asegurando su instalación de phpMyAdmin¶
El equipo de phpMyAdmin trabaja muy duro intentando hacer segura la aplicación, sin embargo siempre puede hacer su instalación más segura:
Follow our Security announcements and upgrade phpMyAdmin whenever new vulnerability is published.
Serve phpMyAdmin on HTTPS only. Preferably, you should use HSTS as well, so that you’re protected from protocol downgrade attacks.
Ensure your PHP setup follows recommendations for production sites, for example display_errors should be disabled.
Remove the
test
directory from phpMyAdmin, unless you are developing and need a test suite.Elimine el directorio
setup
de phpMyAdmin, probablemente no lo utilizará después de la configuración inicial.Elija el método de autenticación apropiado - Método de autenticación por cookie es probablemente la mejor opción para servidores compartidos.
Deny access to auxiliary files in
./libraries/
or./templates/
subfolders in your webserver configuration. Such configuration prevents from possible path exposure and cross side scripting vulnerabilities that might happen to be found in that code. For the Apache webserver, this is often accomplished with a .htaccess file in those directories.Deny access to temporary files, see
$cfg['TempDir']
(if that is placed inside your web root, see also Directorios en el servidor web para subir/guardar/importar.It is generally a good idea to protect a public phpMyAdmin installation against access by robots as they usually can not do anything good there. You can do this using
robots.txt
file in the root of your webserver or limit access by web server configuration, see 1.42 ¿Cómo puedo evitar que robots accedan a phpMyAdmin?.In case you don’t want all MySQL users to be able to access phpMyAdmin, you can use
$cfg['Servers'][$i]['AllowDeny']['rules']
to limit them or$cfg['Servers'][$i]['AllowRoot']
to deny root user access.Enable Autenticación de dos factores for your account.
Considere ocultar phpMyAdmin tras un proxy que requiera autenticación, de modo que los usuarios necesiten autenticarse antes de proporcionar las credenciales MySQL a phpMyAdmin. Puede conseguirlo configurando su servidor web para que solicite autenticación HTTP. Por ejemplo, en Apache puede realizarse con:
AuthType Basic AuthName "Restricted Access" AuthUserFile /usr/share/phpmyadmin/passwd Require valid-user
Once you have changed the configuration, you need to create a list of users which can authenticate. This can be done using the htpasswd utility:
htpasswd -c /usr/share/phpmyadmin/passwd username
Si teme a ataques automáticos, activar Captcha con
$cfg['CaptchaLoginPublicKey']
y$cfg['CaptchaLoginPrivateKey']
puede ser una opción.Failed login attempts are logged to syslog (if available, see
$cfg['AuthLog']
). This can allow using a tool such as fail2ban to block brute-force attempts. Note that the log file used by syslog is not the same as the Apache error or access log files.In case you’re running phpMyAdmin together with other PHP applications, it is generally advised to use separate session storage for phpMyAdmin to avoid possible session-based attacks against it. You can use
$cfg['SessionSavePath']
to achieve this.
Using SSL for connection to database server¶
It is recommended to use SSL when connecting to remote database server. There are several configuration options involved in the SSL setup:
$cfg['Servers'][$i]['ssl']
- Defines whether to use SSL at all. If you enable only this, the connection will be encrypted, but there is not authentication of the connection - you can not verify that you are talking to the right server.
$cfg['Servers'][$i]['ssl_key']
and$cfg['Servers'][$i]['ssl_cert']
- This is used for authentication of client to the server.
$cfg['Servers'][$i]['ssl_ca']
and$cfg['Servers'][$i]['ssl_ca_path']
- The certificate authorities you trust for server certificates. This is used to ensure that you are talking to a trusted server.
$cfg['Servers'][$i]['ssl_verify']
- This configuration disables server certificate verification. Use with caution.
When the database server is using a local connection or private network and SSL can not be configured
you can use $cfg['MysqlSslWarningSafeHosts']
to explicitly list the hostnames that are considered secure.
Known issues¶
Users with column-specific privileges are unable to «Browse»¶
If a user has only column-specific privileges on some (but not all) columns in a table, «Browse» will fail with an error message.
As a workaround, a bookmarked query with the same name as the table can be created, this will run when using the «Browse» link instead. Issue 11922.
Trouble logging back in after logging out using “http” authentication¶
When using the “http” auth_type
, it can be impossible to log back in (when the logout comes
manually or after a period of inactivity). Issue 11898.
Configuración¶
All configurable data is placed in config.inc.php
in phpMyAdmin’s
toplevel directory. If this file does not exist, please refer to the
Instalación section to create one. This file only needs to contain the
parameters you want to change from their corresponding default value.
Ver también
Examples for examples of configurations
Si falta una directiva de su archivo, simplemente puede agregar otra línea la mismo. Este archivo es para sobreescribir los valores predeterminados; si desea utilizar el valor predeterminado, no es necesario que agregue una línea aquí.
The parameters which relate to design (like colors) are placed in
themes/themename/scss/_variables.scss
. You might also want to create
config.footer.inc.php
and config.header.inc.php
files to add
your site specific code to be included on start and end of each page.
Nota
Algunas distribuciones (por ejemplo, Debian o Ubuntu) almacenan el archivo config.inc.php
en /etc/phpmyadmin
en lugar de junto con el código fuente de phpMyAdmin.
Configuraciones básicas¶
-
$cfg['PmaAbsoluteUri']
¶ Tipo: cadena Default value: ''
Distinto en la versión 4.6.5: This setting was not available in phpMyAdmin 4.6.0 - 4.6.4.
Sets here the complete URL (with full path) to your phpMyAdmin installation’s directory. E.g.
https://www.example.net/path_to_your_phpMyAdmin_directory/
. Note also that the URL on most of web servers are case sensitive (even on Windows). Don’t forget the trailing slash at the end.Starting with version 2.3.0, it is advisable to try leaving this blank. In most cases phpMyAdmin automatically detects the proper setting. Users of port forwarding or complex reverse proxy setup might need to set this.
Una buena prueba es visualizar una tabla, editar una fila y guardar el cambio. Debería generar un mensaje de error si phpMyAdmin tiene problemas para detectar los valores apropiados automáticamente. Si se obtiene un error diciendo que dicho valor es necesario o si falla el código de detección automática de la ruta reporte un error en nuestro sistema de seguimiento de errores para poder mejorar el código.
Ver también
1.40 La autenticación por cookie no funciona al acceder a phpMyAdmin mediante un proxy reverso Apache., 2.5 Cada vez que intento insertar o cambiar un registro o borrar una base de datos o tabla obtengo un error 404 (página no encontrada) o necesito iniciar sesión nuevamente con autenticación HTTP o por cookie. ¿Qué está mal?, 4.7 La ventana de autenticación se muestra más de una vez ¿por qué?, 5.16 Con Internet Explorer, obtengo errores JavaScript «Access is denied» o no puedo hacer funcionar phpMyAdmin en Windows.
-
$cfg['PmaNoRelation_DisableWarning']
¶ Tipo: booleano Default value: false Comenzando con la versión 2.3.0 phpMyAdmin ofrece muchas funcionalidades para trabajar con tablas maestro/esclavo (revise
$cfg['Servers'][$i]['pmadb']
).Si ha tratado de configurarlo pero no le funciona, revise la página Estructura de cualquier base de datos en la que quiera emplearlo. Encontrará un enlace que analizará por qué dichas características se han desabilitado.
Si no quiere utilizar dichas características, configure esta variable como
true
para que no vuelva a aparecer este mensaje.
-
$cfg['AuthLog']
¶ Tipo: cadena Default value: 'auto'
Nuevo en la versión 4.8.0: This is supported since phpMyAdmin 4.8.0.
Configure authentication logging destination. Failed (or all, depending on
$cfg['AuthLogSuccess']
) authentication attempts will be logged according to this directive:auto
- Let phpMyAdmin automatically choose between
syslog
andphp
. syslog
- Log using syslog, using AUTH facility, on most systems this ends up
in
/var/log/auth.log
. php
- Log into PHP error log.
sapi
- Log into PHP SAPI logging.
/path/to/file
- Any other value is treated as a filename and log entries are written there.
Nota
When logging to a file, make sure its permissions are correctly set for a web server user, the setup should closely match instructions described in
$cfg['TempDir']
:
-
$cfg['AuthLogSuccess']
¶ Tipo: booleano Default value: false Nuevo en la versión 4.8.0: This is supported since phpMyAdmin 4.8.0.
Whether to log successful authentication attempts into
$cfg['AuthLog']
.
-
$cfg['SuhosinDisableWarning']
¶ Tipo: booleano Default value: false Mostrar advertencia en la página principal si se detecta Suhosin.
Puede configurar este parámetro como
true
para eliminar este mensaje.
-
$cfg['LoginCookieValidityDisableWarning']
¶ Tipo: booleano Default value: false Se muestra una advertencia en la página principal si el parámetro PHP de sesión session.gc_maxlifetime es menor que el de validez de cookie configurado en phpMyAdmin.
Puede configurar este parámetro como
true
para eliminar este mensaje.
-
$cfg['ServerLibraryDifference_DisableWarning']
¶ Tipo: booleano Default value: false Obsoleto desde la versión 4.7.0: This setting was removed as the warning has been removed as well.
Aparecerá un aviso en la página principal si la versión de la biblioteca MySQL en el cliente es diferente a la versión en el servidor.
Puede configurar este parámetro como
true
para eliminar este mensaje.
-
$cfg['ReservedWordDisableWarning']
¶ Tipo: booleano Default value: false Se muestra esta advertencia en la página Estructura de una tabla si el nombre de una o más columnas coincida con palabras que están reservadas en MySQL.
Si desea apagar esta advertencia, puede definirla como
true
y ya no se mostrará una advertencia.
-
$cfg['TranslationWarningThreshold']
¶ Tipo: integer Default value: 80 Mostrar advertencias sobre traducciones incompletas bajo cierto nivel.
-
$cfg['SendErrorReports']
¶ Tipo: cadena Default value: 'ask'
Valid values are:
ask
always
never
Define el comportamiento predeterminado para el reporte de errores JavaScript.
Cuando se detecte un error en la ejecución de JavaScript se podría enviar un reporte de error al equipo de phpMyAdmin si el usuario lo confirma.
La configuración predeterminada (
'ask'
) le preguntará al usuario cada vez que encuentre un error que reportar. Sin embargo, puede definir este parámetro como'always'
(siempre) para enviar reportes de error sin pedir configuración o como'never'
(nunca) para no enviar informes de error.Esta directiva está disponible tanto en el archivo de configuración como en las preferencias de usuario. Si la persona a cargo de una instalación multiusuario prefiere desactivar esta funcionalidad para todos los usuarios, debe utilizar el valor
'never'
y'SendErrorReports'
debe ser uno de los elementos del array de la directiva$cfg['UserprefsDisallow']
.
-
$cfg['ConsoleEnterExecutes']
¶ Tipo: booleano Default value: false Setting this to
true
allows the user to execute queries by pressing Enter instead of Ctrl+Enter. A new line can be inserted by pressing Shift+Enter.El comportamiento de la consola puede ser modificado temporalmente usando el interfaz de configuración de consola.
-
$cfg['AllowThirdPartyFraming']
¶ Tipo: boolean|string Default value: false Setting this to
true
allows phpMyAdmin to be included inside a frame, and is a potential security hole allowing cross-frame scripting attacks or clickjacking. Setting this to “sameorigin” prevents phpMyAdmin to be included from another document in a frame, unless that document belongs to the same domain.
Configuraciones de conexión al servidor¶
-
$cfg['Servers']
¶ Tipo: array Default value: un conjunto de servidores cuyas configuraciones se enumeran a continuación Since version 1.4.2, phpMyAdmin supports the administration of multiple MySQL servers. Therefore, a
$cfg['Servers']
-array has been added which contains the login information for the different servers. The first$cfg['Servers'][$i]['host']
contains the hostname of the first server, the second$cfg['Servers'][$i]['host']
the hostname of the second server, etc. You can put as many sections for server definition as you need inconfig.inc.php
, copy that block or needed parts (you don’t have to define all settings, just those you need to change).Nota
The
$cfg['Servers']
array starts with $cfg[“Servers”][1]. Do not use $cfg[“Servers”][0]. If you want more than one server, just copy following section (including $i increment) several times. There is no need to define full server array, just define values you need to change.
-
$cfg['Servers'][$i]['host']
¶ Tipo: cadena Default value: 'localhost'
El nombre de sistema o dirección IP de su servidor MySQL $i-ésimo. Por ejemplo:
localhost
.Los valores posibles son:
- nombre de sistema,
localhost
omydb.example.org
por ejemplo - dirección IP,
127.0.0.1
o192.168.10.1
por ejemplo - IPv6 address, e.g.
2001:cdba:0000:0000:0000:0000:3257:9652
- punto —
.
, es decir: utilizar tuberías con nombre en sistemas Windows - vacío - desactiva este servidor
Nota
The hostname
localhost
is handled specially by MySQL and it uses the socket based connection protocol. To use TCP/IP networking, use an IP address or hostname such as127.0.0.1
ordb.example.com
. You can configure the path to the socket with$cfg['Servers'][$i]['socket']
.- nombre de sistema,
-
$cfg['Servers'][$i]['port']
¶ Tipo: cadena Default value: ''
El número de puerto de su servidor $i-ésimo. El valor predeterminado (si está vacío) es 3306.
Nota
Si utiliza
localhost
como nombre de sistema, MySQL ignora este número de puerto y se conecta mediante zócalo, por lo que si se desea conectar a un puerto diferente al predeterminado utilice127.0.0.1
o el nombre de sistema real en$cfg['Servers'][$i]['host']
.
-
$cfg['Servers'][$i]['socket']
¶ Tipo: cadena Default value: ''
Para determinar el zócalo correcto revise la configuración MySQL o utilice el cliente de línea de órdenes mysql, ejecute la orden
status
. Entre la información resultante mostrada estará el zócalo a utilizar.Nota
This takes effect only if
$cfg['Servers'][$i]['host']
is set tolocalhost
.
-
$cfg['Servers'][$i]['ssl']
¶ Tipo: booleano Default value: false Whether to enable SSL for the connection between phpMyAdmin and the MySQL server to secure the connection.
Cuando utiliza la extensión
'mysql'
, ninguna de las configuraciones'ssl...'
tendrán efecto.Recomendamos fuertemente que utilice la extensión
'mysqli'
cuando utilice esta opción.Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['ssl_key']
¶ Tipo: cadena Default value: NULL Path to the client key file when using SSL for connecting to the MySQL server. This is used to authenticate the client to the server.
Por ejemplo:
$cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';
Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['ssl_cert']
¶ Tipo: cadena Default value: NULL Path to the client certificate file when using SSL for connecting to the MySQL server. This is used to authenticate the client to the server.
Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['ssl_ca']
¶ Tipo: cadena Default value: NULL Ruta al archivo de la CA a utilizar para el SSL de la conexión al servidor MySQL.
Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['ssl_ca_path']
¶ Tipo: cadena Default value: NULL Directorio que contiene los certificados CA SSL en formato PEM.
Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['ssl_ciphers']
¶ Tipo: cadena Default value: NULL Lista de algoritmos de cifrado permitidos para el SSL de la conexión al servidor MySQL.
Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['ssl_verify']
¶ Tipo: booleano Default value: true Nuevo en la versión 4.6.0: This is supported since phpMyAdmin 4.6.0.
If your PHP install uses the MySQL Native Driver (mysqlnd), your MySQL server is 5.6 or later, and your SSL certificate is self-signed, there is a chance your SSL connection will fail due to validation. Setting this to
false
will disable the validation check.Since PHP 5.6.0 it also verifies whether server name matches CN of its certificate. There is currently no way to disable just this check without disabling complete SSL verification.
Advertencia
Disabling the certificate verification defeats purpose of using SSL. This will make the connection vulnerable to man in the middle attacks.
Nota
This flag only works with PHP 5.6.16 or later.
Ver también
Using SSL for connection to database server, Google Cloud SQL with SSL, Amazon RDS Aurora with SSL,
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
-
$cfg['Servers'][$i]['connect_type']
¶ Tipo: cadena Default value: 'tcp'
Obsoleto desde la versión 4.7.0: This setting is no longer used as of 4.7.0, since MySQL decides the connection type based on host, so it could lead to unexpected results. Please set
$cfg['Servers'][$i]['host']
accordingly instead.El tipo de conexión a usar con el servidor MySQL. Las opciones son
'socket'
y'tcp'
. El valor predeterminado es «tcp» ya que es casi seguro que estará disponible en todos los servidores MySQL mientras que los zócalos no son compatibles con algunas plataformas.
-
$cfg['Servers'][$i]['compress']
¶ Tipo: booleano Default value: false Si utilizar un protocolo comprimido para la conexión al servidor MySQL o no (experimental).
-
$cfg['Servers'][$i]['controlhost']
¶ Tipo: cadena Default value: ''
Permite utilizar un servidor alternativo para guardar los datos de almacenamiento de configuración.
Ver también
-
$cfg['Servers'][$i]['controlport']
¶ Tipo: cadena Default value: ''
Permite utilizar un puerto alternativo para conectarse al servidor que contiene el almacenamiento de configuración.
Ver también
-
$cfg['Servers'][$i]['controluser']
¶ Tipo: cadena Default value: ''
-
$cfg['Servers'][$i]['controlpass']
¶ Tipo: cadena Default value: ''
This special account is used to access Almacenamiento de configuración de phpMyAdmin. You don’t need it in single user case, but if phpMyAdmin is shared it is recommended to give access to Almacenamiento de configuración de phpMyAdmin only to this user and configure phpMyAdmin to use it. All users will then be able to use the features without need to have direct access to Almacenamiento de configuración de phpMyAdmin.
Distinto en la versión 2.2.5: se llamaban
stduser
ystdpass
-
$cfg['Servers'][$i]['control_*']
¶ Tipo: mixed Nuevo en la versión 4.7.0.
You can change any MySQL connection setting for control link (used to access Almacenamiento de configuración de phpMyAdmin) using configuration prefixed with
control_
.This can be used to change any aspect of the control connection, which by default uses same parameters as the user one.
For example you can configure SSL for the control connection:
// Enable SSL $cfg['Servers'][$i]['control_ssl'] = true; // Client secret key $cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem'; // Client certificate $cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem'; // Server certification authority $cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';
Ver también
$cfg['Servers'][$i]['ssl']
,$cfg['Servers'][$i]['ssl_key']
,$cfg['Servers'][$i]['ssl_cert']
,$cfg['Servers'][$i]['ssl_ca']
,$cfg['Servers'][$i]['ssl_ca_path']
,$cfg['Servers'][$i]['ssl_ciphers']
,$cfg['Servers'][$i]['ssl_verify']
,$cfg['Servers'][$i]['socket']
,$cfg['Servers'][$i]['compress']
,$cfg['Servers'][$i]['hide_connection_errors']
-
$cfg['Servers'][$i]['auth_type']
¶ Tipo: cadena Default value: 'cookie'
Si se debe utilizar autenticación por configuración, cookie, HTTP o signon para este servidor.
- “config” authentication (
$auth_type = 'config'
) is the plain old way: username and password are stored inconfig.inc.php
. - “cookie” authentication mode (
$auth_type = 'cookie'
) allows you to log in as any valid MySQL user with the help of cookies. - El método básico de autenticación «http» le permite acceder como cualquier usuario válido de MySQL a través de HTTP-Auth.
- “signon” authentication mode (
$auth_type = 'signon'
) allows you to log in from prepared PHP session data or using supplied PHP script.
Ver también
- “config” authentication (
-
$cfg['Servers'][$i]['auth_http_realm']
¶ Tipo: cadena Default value: ''
Al utilizar auth_type = “http”, este campo permite definir un dominio de autenticación HTTP personalizado que será mostrado al usuario. Si no está definido explícitamente en la configuración se utilizará una cadena combinando «phpMyAdmin» y o bien
$cfg['Servers'][$i]['verbose']
or$cfg['Servers'][$i]['host']
.
-
$cfg['Servers'][$i]['auth_swekey_config']
¶ Tipo: cadena Default value: ''
Nuevo en la versión 3.0.0.0: This setting was named $cfg[“Servers”][$i][“auth_feebee_config”] and was renamed before the 3.0.0.0 release.
Obsoleto desde la versión 4.6.4: This setting was removed because their servers are no longer working and it was not working correctly.
Obsoleto desde la versión 4.0.10.17: This setting was removed in a maintenance release because their servers are no longer working and it was not working correctly.
The name of the file containing swekey ids and login names for hardware authentication. Leave empty to deactivate this feature.
-
$cfg['Servers'][$i]['user']
¶ Tipo: cadena Default value: 'root'
-
$cfg['Servers'][$i]['password']
¶ Tipo: cadena Default value: ''
Al utilizar
$cfg['Servers'][$i]['auth_type']
configurado como «config», este es el par de nombre de usuario y contraseña que se utilizarán para conectarse al servidor MySQL. Este par de nombre de usuario y contraseña no son necesarios cuando se utiliza el modo de autenticación HTTP o por cookie y deben dejarse vacíos.
-
$cfg['Servers'][$i]['nopassword']
¶ Tipo: booleano Default value: false Obsoleto desde la versión 4.7.0: This setting was removed as it can produce unexpected results.
Permitir el intento de inicio de sesión sin contraseña cuando falla un intento de inicio de sesión con contraseña. Esto puede ser utilizado en conjunto con autenticación http; cuando la autenticación es realizada de otra manera y phpMyAdmin obtiene el nombre de usuario de la autenticación y utiliza la una contraseña vacía para conectarse a MySQL. Aún se intenta iniciar sesión con contraseña primero, pero como respaldo se intenta el método sin contraseña.
Nota
It is possible to allow logging in with no password with the
$cfg['Servers'][$i]['AllowNoPassword']
directive.
-
$cfg['Servers'][$i]['only_db']
¶ Tipo: cadena o array Default value: ''
Definido como el (o array de) nombres de base de datos; sólo esta(s) base(s) de datos será(n) mostradas al usuario. Desde phpMyAdmin 2.2.1 estos nombres de bases de datos pueden contener caracteres comodín («_» y «%»): si se desea utilizar instancias literales de estos caracteres, deberá anteponerles el caracter de escape «» (por ejemplo, utilice
'mi\_bdd'
en lugar de'mi_bdd'
).Esta configuración es una forma eficiente de disminuir la carga del servidor ya que éste no necesita enviar pedidos a MySQL para crear la lista de bases de datos disponibles. Pero no reemplaza las reglas de privilegios del servidor de base de datos MySQL. Si está configurado, sólo estas bases de datos van a ser mostradas pero otras bases de datos aún pueden ser utilizadas.
Un ejemplo utilizando más de una base de datos:
$cfg['Servers'][$i]['only_db'] = ['db1', 'db2'];
Distinto en la versión 4.0.0: Versiones anteriores permitían especificar el orden en el que se mostraran los nombres de bases de datos con esta directiva.
-
$cfg['Servers'][$i]['hide_db']
¶ Tipo: cadena Default value: ''
Expresiones regulares para ocultar algunas bases de datos de usuarios sin privilegios. Sólo evita que sean listadas, pero el usuario podrá aún acceder a ellas (usando por ejemplo el área de consulta SQL). Para limitar el acceso, utilice el sistema de privilegios de MySQL. Por ejemplo, para esconder todas las bases de datos que comiencen con «a», utilice
$cfg['Servers'][$i]['hide_db'] = '^a';
y para ocultar tanto «db1» como «db2» utilice
$cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';
More information on regular expressions can be found in the PCRE pattern syntax portion of the PHP reference manual.
-
$cfg['Servers'][$i]['verbose']
¶ Tipo: cadena Default value: ''
Sólo es útil al utilizar phpMyAdmin con múltiples servidores MySQL. Si está configurado, esta cadena será mostrada en lugar del nombre del sistema en el menú desplegable de la página principal. Puede ser útil si quieres mostrar ciertas bases de datos en tu sistema. Para autenticación HTTP, todos los caracteres fuera del conjunto US-ASCII serán eliminados.
-
$cfg['Servers'][$i]['extension']
¶ Tipo: cadena Default value: 'mysqli'
Obsoleto desde la versión 4.2.0: This setting was removed. The
mysql
extension will only be used when themysqli
extension is not available. As of 5.0.0, only themysqli
extension can be used.The PHP MySQL extension to use (
mysql
ormysqli
).It is recommended to use
mysqli
in all installations.
-
$cfg['Servers'][$i]['pmadb']
¶ Tipo: cadena Default value: ''
El nombre de la base de datos contiene la configuración de almacenamiento de phpMyAdmin.
Revise la sección Almacenamiento de configuración de phpMyAdmin en este documento para saber sobre las ventajas de esta funcionalidad y para una forma fácil de crear esta base de datos y las tablas necesarias.
Si se es el único usuario de esta instalación de phpMyAdmin, se puede utilizar la base actual para almacenar estas tablas especiales; en este caso, sólo agregue el nombre de la base de datos actual en
$cfg['Servers'][$i]['pmadb']
. Para una instalación multi-usuario, este parámetro debe ser la base de datos central que contiene el almacenamiento de configuración phpMyAdmin.
-
$cfg['Servers'][$i]['bookmarktable']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 2.2.0.
Desde la versión 2.2.0 phpMyAdmin permite a los usuarios que guarden las consultas como favoritas. Esto es útil para consultas que se realizan a menudo. Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - introduzca el nombre de la tabla en
$cfg['Servers'][$i]['bookmarktable']
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['relation']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 2.2.4.
Desde la versión 2.2.4 puedes describir, en una tabla especial “relation”, qué columna es una clave en otra tabla (una clave foránea). phpMyAdmin normalmente usa esto para:
- poder pulsar sobre los valores que apuntan a esta tabla externa al visualizar la tabla original;
- mostrar un texto opcional con la «columna a mostrar» al visualizar la tabla original si se mueve el mouse sobre una columna con una clave foránea (también utiliza la tabla «table_info»); (revise 6.7 ¿Cómo puedo utilizar la funcionalidad «columna a mostrar»?)
- en el modo de edición/inserción, mostrar una lista desplegable con las posibles claves foráneas (se verá el valor de la clave y la «columna a mostrar») (revise 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?)
- muestra enlaces en la página de propiedades de la tabla para verificar integridad referencia (muestra las cláves foráneas ausentes) para cada clave descripta;
- en las consultas por ejemplo, crea joins automáticamente (revise 6.6 ¿Cómo puedo usar la tabla de relaciones en consultas por ejemplo?)
- permite obtener un esquema de la base de datos en PDF (también utiliza la tabla «table_coords»).
Las claves pueden sen numéricas o alfabéticas.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - agrega el nombre de la tabla de relación en
$cfg['Servers'][$i]['relation']
- ahora, como un usuario normal, abre phpMyAdmin, pulse en Estructura/Vista de relación/ y elija las claves foráneas para cada una de las tablas en las que quiera utilizar esta funcionalidad.
This feature can be disabled by setting the configuration to
false
.Nota
En la versión actual
master_db
debe de ser igual aforeign_db
. Estas columnas fueron agregadas para futuro desarrollo de relaciones entre bases de datos.
-
$cfg['Servers'][$i]['table_info']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 2.3.0.
Desde la versión 2.3.0 se puede describir en una tabla especial «table_info» qué columna mostrar como texto de ayuda al mover el cursor sobre la clave correspondiente. Esta variable de configuración tendrá el nombre de esta tabla especial. Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - agregue el nombre de la tabla en
$cfg['Servers'][$i]['table_info']
(por ejemplo:pma__table_info
) - luego, para cada tabla en la que quiera utilizar esta funcionalidad, pulse en Estructura/Vista de relación/Elegir columna a mostrar para elegir la columna.
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['table_coords']
¶ Tipo: string or false Default value: ''
The designer feature can save your page layout; by pressing the «Save page» or «Save page as» button in the expanding designer menu, you can customize the layout and have it loaded the next time you use the designer. That layout is stored in this table. Furthermore, this table is also required for using the PDF relation export feature, see
$cfg['Servers'][$i]['pdf_pages']
for additional details.
-
$cfg['Servers'][$i]['pdf_pages']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 2.3.0.
Desde la versión 2.3.0 phpMyAdmin puede crear páginas PDF mostrando las relaciones entre sus tablas. Lo que es más, pel diseñador le permite administrar las relaciones visualmente. Para lograrlo, necesitas dos tablas: «pdf_pages» (con la información sobre las páginas PDF disponibles) y «table_coords» (que contiene las coordenadas en las que se ubicará cada tabla en la salida del esquema en PDF). Debe estar utilizando la funcionalidad «relation».
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - configura los nombres de tabla apropiados en
$cfg['Servers'][$i]['table_coords']
y$cfg['Servers'][$i]['pdf_pages']
This feature can be disabled by setting either of the configurations to
false
.- configure
-
$cfg['Servers'][$i]['designer_coords']
¶ Tipo: cadena Default value: ''
Nuevo en la versión 2.10.0: Desde la versión 2.10.0, una interfaz de diseño está disponible que permite manegar relaciones visualmente.
Obsoleto desde la versión 4.3.0: This setting was removed and the Designer table positioning data is now stored into
$cfg['Servers'][$i]['table_coords']
.Nota
You can now delete the table pma__designer_coords from your phpMyAdmin configuration storage database and remove
$cfg['Servers'][$i]['designer_coords']
from your configuration file.
-
$cfg['Servers'][$i]['column_info']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 2.3.0.
¡Esta sección necesita una actualización de contentido! Desde la versión 2.3.0 puede almacenar comentarios que describan cada columna de una tabla. Estos serán mostrados en la «vista de impresión».
Desde la versión 2.5.0, los comentarios son también utilizados en la páginas de propiedades de la tabla y la vista de navegación de tablas, mostrándose como textos de ayuda sobre los nombres de las columnas (en la página de propiedades) o embebidos en las cabeceras de la tabla en la vista de navegación. También pueden ser mostrados al volcar la tabla. Revisa las directivas de configuración más adelante.
También en la versión 2.5.0 hay un sistema de transformación MIME basado en la estructura de las tablas descriptas. Revise Transformaciones para más información. Para utilizar el sistema de transformación MIME, la tabla «column_info» tiene que tener 3 nuevas columnas: «mimetype», «transformation» y «transformation_options».
Desde la versión 4.3.0, se introdujo un nuevo sistema de transformaciones basado en la entrada. Además se eliminó el código que provee compatibilidad con el sistema de transformaciones anterior. Como resultado, es necesario actualizar la tabla column_info para que funcionen tanto las transformaciones anteriores como el nuevo sistema. phpMyAdmin la actualizará automáticamente analizando la estructura actual de la tabla column_info. Sin embargo, si algo falla durante la actualización automática puede utilizar el script SQL que se encuentra en
./sql/upgrade_column_info_4_3_0+.sql
para actualizarla manualmente.Para permitir el uso de esta funcionalidad:
configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmindefina el nombre de la tabla en
$cfg['Servers'][$i]['column_info']
(por ejemplo:pma__column_info
)to update your PRE-2.5.0 Column_comments table use this: and remember that the Variable in
config.inc.php
has been renamed from$cfg['Servers'][$i]['column_comments']
to$cfg['Servers'][$i]['column_info']
ALTER TABLE `pma__column_comments` ADD `mimetype` VARCHAR( 255 ) NOT NULL, ADD `transformation` VARCHAR( 255 ) NOT NULL, ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
para actualizar manualmente su tabla PRE-4.3.0 «column_info» utilice el script SQL
./sql/upgrade_column_info_4_3_0+.sql
.
This feature can be disabled by setting the configuration to
false
.Nota
For auto-upgrade functionality to work, your
$cfg['Servers'][$i]['controluser']
must have ALTER privilege onphpmyadmin
database. See the MySQL documentation for GRANT on how toGRANT
privileges to a user.
-
$cfg['Servers'][$i]['history']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 2.5.0.
Desde la versión 2.5.0 puede almacenar el histórico SQL, todas las consultas introducidas manualmente en la interfaz phpMyAdmin. Si no desea utilizar un histórico basado en tablas puedes utilizar un histórico basado en JavaScript.
Al utilizarlo, los elementos del histórico son eliminados al cerrar la ventana. Utilizando
$cfg['QueryHistoryMax']
puede especificar la máxima cantidad de elementos en el histórico. En cada inicio de sesión esta lista es recortada a este máximo.El histórico de consultas sólo estará disponible si JavaScript está habilitado en el navegador.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - configure el nombre de la tabla en
$cfg['Servers'][$i]['history']
(por ejemplo:pma__history
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['recent']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 3.5.0.
Desde la versión 3.5.0 se pueden mostrar las tablas recientemente utilizadas en el panel de navegación. Facilita el saltar entre tablas directamente sin tener que seleccionar la base de datos y luego seleccionar la tabla. Utilizando
$cfg['NumRecentTables']
puede configurar la máxima cantidad de tablas recientes a mostrar. Al seleccionar una tabla de la lista, saltará a la página especificada en$cfg['NavigationTreeDefaultTabTable']
.Sin configurar el almacenamiento aún se pueden aprovechar las tablas recientemente utilizadas, pero éstas desaparecerán luego de finalizar sesión.
Para permitir el uso de esta funcionalidad de forma persistente:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - configure el nombre de la tabla
$cfg['Servers'][$i]['recent']
(por ejemplopma__recent
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['favorite']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 4.2.0.
Since release 4.2.0 you can show a list of selected tables in the navigation panel. It helps you to jump to the table directly, without the need to select the database, and then select the table. When you select a table from the list, it will jump to the page specified in
$cfg['NavigationTreeDefaultTabTable']
.You can add tables to this list or remove tables from it in database structure page by clicking on the star icons next to table names. Using
$cfg['NumFavoriteTables']
you can configure the maximum number of favorite tables shown.Without configuring the storage, you can still access the favorite tables, but it will disappear after you logout.
Para permitir el uso de esta funcionalidad de forma persistente:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - put the table name in
$cfg['Servers'][$i]['favorite']
(e.g.pma__favorite
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['table_uiprefs']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 3.5.0.
Desde la versión 3.5.0 phpMyAdmin puede configurarse para recordar varias cosas en la visualización de tablas (como la columna de ordenamiento
$cfg['RememberSorting']
, el orden de las columnas y la visibilidad de las mismas). Sin configurar el almacenamiento aún se pueden utilizar estas funcionalidades pero sus valores desaparecerán al finalizar sesión.Para permitir el uso de esta funcionalidad de forma persistente:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - agregue el nombre de la tabla en
$cfg['Servers'][$i]['table_uiprefs']
(por ejemplopma__table_uiprefs
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['users']
¶ Tipo: string or false Default value: ''
The table used by phpMyAdmin to store user name information for associating with user groups. See the next entry on
$cfg['Servers'][$i]['usergroups']
for more details and the suggested settings.
-
$cfg['Servers'][$i]['usergroups']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 4.1.0.
Since release 4.1.0 you can create different user groups with menu items attached to them. Users can be assigned to these groups and the logged in user would only see menu items configured to the usergroup they are assigned to. To do this it needs two tables «usergroups» (storing allowed menu items for each user group) and «users» (storing users and their assignments to user groups).
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - configure los nombres de tabla apropiados en
$cfg['Servers'][$i]['users']
(por ejemplopma__users
) y$cfg['Servers'][$i]['usergroups']
(por ejemplopma__usergroups
)
This feature can be disabled by setting either of the configurations to
false
.Ver también
- configure
Tipo: string or false Default value: ''
Nuevo en la versión 4.1.0.
Desde la versión 4.1.0 puede ocultar/mostrar elementos en el árbol de navegación.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - defina el nombre de la tabla en
$cfg['Servers'][$i]['navigationhiding']
(por ejemplo:pma__navigationhiding
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['central_columns']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 4.3.0.
Desde la versión 4.3.0 puede tener una lista central de columnas por base de datos. Puede agregar/eliminar columnas a la lista según lo necesite. Las columnas en la lista centran estarán disponibles cuando cree una nueva columna en una tabla o cuando cree una nueva tabla. Puede seleccionar una columna de una lista central mientras crea una nueva columna, le evitará tener que ingresar la misma definición de columa una y otra vez o darle diferentes nombres a columnas similares.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - defina el nombre de la tabla en
$cfg['Servers'][$i]['central_columns']
(por ejemplo:pma__central_columns
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['designer_settings']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 4.5.0.
A partir de la versión 4.5.0 su configuración del diseñador puede ser recordado. Su selección respecto a “Angular/Enlaces directos”, “Ajustar al Grid”, “Intercambiar relación de líneas”, “Pequeño/Todo grande”, “Mover Menu” y “Fijar Texto” puede recordarse.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - ponga el nombre de la tabla en
$cfg['Servers'][$i]['designer_settings']
(p.e.:pma__designer_coords
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['savedsearches']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 4.2.0.
Desde la versión 4.2.0 puede guardar y cargar búsquedas de consultas a través de ejemplos desde el panel «Base de datos > Consulta».
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - configure el nombre de la tabla
$cfg['Servers'][$i]['savedsearches']
(por ejemplopma__savedsearches
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['export_templates']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 4.5.0.
Desde la versión 4.5.0 puede guardar y cargar plantillas de exportación.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - ponga el nombre de la tabla en
$cfg['Servers'][$i]['export_templates']
(p.e.pma__export_templates
)
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['tracking']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 3.3.x.
Desde la versión 3.3.x, hay un sistema de seguimiento disponible. Permite seguir toda consulta SQL ejecutada por phpMyAdmin. El mecanismo puede registrar sententencias de definición y sentencias de manipulación de datos. Luego de activarlo puede crear versiones de tablas.
La creación de una versión tiene dos efectos:
- phpMyAdmin guarda una captura de la tabla incluyendo estructura e índices.
- phpMyAdmin registrará todas las órdenes que cambien la estructura o los datos de la tabla y asociará dichas órdenes con el número de versión.
Por supuesto puede visualizar los cambios seguidos. En la página de Seguimiento hay disponible un reporte para toda versión. Para el reporte puede utilizar filtros; por ejemplo, puede obtener una lista de sentencias dentro de un rango de datos. Cuando desee filtrar nombres de usuarios puede utilizar * para todos los nombres de usuarios o una lista de nombres separados por «,». Además, puedes exportar el reporte (filtrado) a un archivo o base de datos temporal.
Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - defina el nombre de la tabla en
$cfg['Servers'][$i]['tracking']
(por ejemplo:pma__tracking
)
This feature can be disabled by setting the configuration to
false
.
-
$cfg['Servers'][$i]['tracking_version_auto_create']
¶ Tipo: booleano Default value: false Si el mecanismo de seguimiento crea versiones para tablas y vistas automáticamente o no.
En caso de estar activado y creas una tabla o vista con
- CREATE TABLE …
- CREATE VIEW …
y no existe una versión para la misma, el mecanismo creará una versión automáticamente.
-
$cfg['Servers'][$i]['tracking_default_statements']
¶ Tipo: cadena Default value: 'CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,CREATE INDEX,DROP INDEX,INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,CREATE VIEW,ALTER VIEW,DROP VIEW,CREATE DATABASE,ALTER DATABASE,DROP DATABASE'
Definir la lista de sentencias que la creación automática usa para nuevas versiones.
-
$cfg['Servers'][$i]['tracking_add_drop_view']
¶ Tipo: booleano Default value: true Whether a DROP VIEW IF EXISTS statement will be added as first line to the log when creating a view.
-
$cfg['Servers'][$i]['tracking_add_drop_table']
¶ Tipo: booleano Default value: true Whether a DROP TABLE IF EXISTS statement will be added as first line to the log when creating a table.
-
$cfg['Servers'][$i]['tracking_add_drop_database']
¶ Tipo: booleano Default value: true Whether a DROP DATABASE IF EXISTS statement will be added as first line to the log when creating a database.
-
$cfg['Servers'][$i]['userconfig']
¶ Tipo: string or false Default value: ''
Nuevo en la versión 3.4.x.
Desde la versión 3.4.x phpMyAdmin permite que los usuarios configuren sus preferencias por sí mismos y las almacena en la base de datos.
Si no se permite alamacenar preferencias en
$cfg['Servers'][$i]['pmadb']
los usuarios aún pueden personalizar phpMyAdmin, pero sus configuraciones serán almacenadas en el almacenamiento local del navegador o, en caso que no esté disponible, hasta el final de la sesión.Para permitir el uso de esta funcionalidad:
- configure
$cfg['Servers'][$i]['pmadb']
y el almacenamiento de configuración phpMyAdmin - defina el nombre de la tabla en
$cfg['Servers'][$i]['userconfig']
This feature can be disabled by setting the configuration to
false
.- configure
-
$cfg['Servers'][$i]['MaxTableUiprefs']
¶ Tipo: integer Default value: 100 Cantidad máxima de filas almacenadas en la tabla
$cfg['Servers'][$i]['table_uiprefs']
.Cuando se elimina o cambia el nombre de una tabla,
$cfg['Servers'][$i]['table_uiprefs']
puede llegar a contener datos inválidos (haciendo referencia a tablas que ya no existen). Sólo se mantendrán esta cantidad de las fila más nuevas en$cfg['Servers'][$i]['table_uiprefs']
y las filas más antiguas serán borradas automáticamente.
-
$cfg['Servers'][$i]['SessionTimeZone']
¶ Tipo: cadena Default value: ''
Sets the time zone used by phpMyAdmin. Leave blank to use the time zone of your database server. Possible values are explained at https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html
Es útil cuando su servidor de base de datos emplea una zona horaria que es diferente de la zona horaria que desea emplear en phpMyAdmin.
-
$cfg['Servers'][$i]['AllowRoot']
¶ Tipo: booleano Default value: true Si permitir acceso como root o no. Esto es sólo un atajo para
$cfg['Servers'][$i]['AllowDeny']['rules']
a continuación.
-
$cfg['Servers'][$i]['AllowNoPassword']
¶ Tipo: booleano Default value: false Si se permiten inicios de sesión sin contraseña o no. El valor predeterminado es
false
para prevenir accesos involuntarios a un servidor MySQL al que le dejaron una contraseña vacía para root o en el que existe un usuario anónimo (en blanco).
-
$cfg['Servers'][$i]['AllowDeny']['order']
¶ Tipo: cadena Default value: ''
Si el orden de las reglas está vacío, entonces la autorización IP estará desactivada.
Si el orden de las reglas es
«deny,allow»
entonces el sistema aplica todas las reglas de negación y luego las de autorización. El valor predeterminado es permitir el acceso. Se le permitirá acceso al servidor a cualquier cliente que no coincida con una orden de denegación o que coincida con una orden de autorización.Si el orden de las reglas es
«allow,deny»
entonces el sistema aplica todas las reglas de autorización y luego las reglas de negación. El valor predeterminado es denegar el acceso. No se le permitirá el acceso a cualquier cliente que no coincida con una regla de autorización o que coincida con una regla de negación.Si el orden de las reglas es
«explicit»
la autorización es similar a cuando es «deny,allow», con la restricción adicional que la combinación anfitrión/nombre de usuario tiene que estar incluído en las reglas allow y no tiene que aparecer en las reglas deny. Este es el método más seguro de utilizar las reglas de Allow/Deny y está disponible en Apache especificando reglas de autorización y negación sin definir un orden.Revise
$cfg['TrustedProxies']
para detectar direcciones IPs detrás de proxies.
-
$cfg['Servers'][$i]['AllowDeny']['rules']
¶ Tipo: array de cadenas Default value: array() El formato general de las reglas es como sigue:
<'allow' | 'deny'> <username> [from] <ipmask>
Si desea incluir todos los usuarios, es posible utilizar
«%»
como comodín en el campo de username.Hay una serie de atajos que pueden utilizarse en el campo ipmask también (note que aquellos que contengan SERVER_ADDRESS pueden no estar disponibles en todos los servidores web):
'all' -> 0.0.0.0/0 'localhost' -> 127.0.0.1/8 'localnetA' -> SERVER_ADDRESS/8 'localnetB' -> SERVER_ADDRESS/16 'localnetC' -> SERVER_ADDRESS/24
Tener una lista de reglas vacías es equivalente a utilizar
«allow % from all»
si el orden de las reglas está configurado como«deny,allow»
o equivale a«deny % from all»
si el orden de las reglas es«allow,deny»
o«explicit»
.For the IP Address matching system, the following work:
xxx.xxx.xxx.xxx
(an exact IP Address)xxx.xxx.xxx.[yyy-zzz]
(an IP Address range)xxx.xxx.xxx.xxx/nn
(direcciones IP de tipo CIDR - «Classless Inter-Domain Routing»)
Pero las siguientes no funcionan:
xxx.xxx.xxx.xx[yyy-zzz]
(rango parcial de direcciones IP)
Para direcciones IPv6, las siguientes funcionan:
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
(una dirección IPv6 exacta)xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz]
(un rango de direcciones IPv6)xxxx:xxxx:xxxx:xxxx/nn
(direcciones IPv6 de tipo CIDR - «Classless Inter-Domain Routing»)
Pero las siguientes no funcionan:
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz]
(rango parcial de direcciones IPv6)
Examples:
$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny'; $cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow bob from all']; // Allow only 'bob' to connect from any host $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny'; $cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow mary from 192.168.100.[50-100]']; // Allow only 'mary' to connect from host 192.168.100.50 through 192.168.100.100 $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny'; $cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow % from 192.168.[5-6].10']; // Allow any user to connect from host 192.168.5.10 or 192.168.6.10 $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny'; $cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow root from 192.168.5.50','allow % from 192.168.6.10']; // Allow any user to connect from 192.168.6.10, and additionally allow root to connect from 192.168.5.50
-
$cfg['Servers'][$i]['DisableIS']
¶ Tipo: booleano Default value: false Disable using
INFORMATION_SCHEMA
to retrieve information (useSHOW
commands instead), because of speed issues when many databases are present.Nota
Enabling this option might give you a big performance boost on older MySQL servers.
-
$cfg['Servers'][$i]['SignonScript']
¶ Tipo: cadena Default value: ''
Nuevo en la versión 3.5.0.
Nombre del script PHP a ser cargado y ejecutado para obtener credenciales de inicio de sesión. Este es un enfoque alternativo para un inicio de sesión único basado en sesiones. El script debe proveer una función llamada
get_login_credentials
que devuelve una lista de nombres de usuarios y contraseñas, aceptando un sólo parámetro: el nombre de usuario actual (puede estar vacío). Reviseexamples/signon-script.php
para ver un ejemplo:<?php /** * Single signon for phpMyAdmin * * This is just example how to use script based single signon with * phpMyAdmin, it is not intended to be perfect code and look, only * shows how you can integrate this functionality in your application. */ declare(strict_types=1); // phpcs:disable Squiz.Functions.GlobalFunction /** * This function returns username and password. * * It can optionally use configured username as parameter. * * @param string $user User name * * @return array<int,string> */ function get_login_credentials(string $user): array { /* Optionally we can use passed username */ if (! empty($user)) { return [$user, 'password']; } /* Here we would retrieve the credentials */ return ['root', '']; }
Ver también
-
$cfg['Servers'][$i]['SignonSession']
¶ Tipo: cadena Default value: ''
El nombre de la sesión a utilizar para el método de autenticación signon. Debería de utilizar algo distinto a
phpMyAdmin
ya que ese es el nombre de sesión que phpMyAdmin utiliza internamente. Sólo tiene efecto si no está configurado$cfg['Servers'][$i]['SignonScript']
.Ver también
-
$cfg['Servers'][$i]['SignonCookieParams']
¶ Tipo: array Default value: array()
Nuevo en la versión 4.7.0.
An associative array of session cookie parameters of other authentication system. It is not needed if the other system doesn’t use session_set_cookie_params(). Keys should include “lifetime”, “path”, “domain”, “secure” or “httponly”. Valid values are mentioned in session_get_cookie_params, they should be set to same values as the other application uses. Takes effect only if
$cfg['Servers'][$i]['SignonScript']
is not configured.Ver también
-
$cfg['Servers'][$i]['SignonURL']
¶ Tipo: cadena Default value: ''
URL donde redirigir al usuario para iniciar sesión en el método de autenticación «signon». Debe ser una URL absoluta incluyendo el protocolo.
Ver también
-
$cfg['Servers'][$i]['LogoutURL']
¶ Tipo: cadena Default value: ''
URL donde el usuario será redirigido luego de finalizar sesión (no afecta el método de autenticación «config»). Debe ser una URL absoluta incluyendo el protocolo.
-
$cfg['Servers'][$i]['hide_connection_errors']
¶ Tipo: booleano Default value: false Nuevo en la versión 4.9.8.
Whether to show or hide detailed MySQL/MariaDB connection errors on the login page.
Nota
This error message can contain the target database server hostname or IP address, which may reveal information about your network to an attacker.
Configuraciones genéricas¶
-
$cfg['DisableShortcutKeys']
¶ Tipo: booleano Default value: false You can disable phpMyAdmin shortcut keys by setting
$cfg['DisableShortcutKeys']
to true.
-
$cfg['ServerDefault']
¶ Tipo: integer Default value: 1 Si tiene más de un servidor configurado, puede definir
$cfg['ServerDefault']
como cualquiera de ellos para conectarse automáticamente a ese servidor al iniciar phpMyAdmin o definirlo como 0 para proveer una lista de servidores sin iniciar sesión.Si sólo tiene un servidor configurado,
$cfg['ServerDefault']
TIENE que estar definido como ese servidor.
-
$cfg['VersionCheck']
¶ Tipo: booleano Default value: true Enables check for latest versions using JavaScript on the main phpMyAdmin page or by directly accessing index.php?route=/version-check.
Nota
Esta configuración puede ser ajustada por su proveedor.
-
$cfg['ProxyUrl']
¶ Tipo: cadena Default value: ''
La URL del proxy a utilizar cuando phpMyAdmin necesite acceder a la red externa; por ejemplo, para obtener información sobre la última versión o enviar reportes de error. Lo necesitará si el servidor en el que está instalado phpMyAdmin no tiene acceso directo a internet. El formato es: «servidor:puerto»
-
$cfg['ProxyUser']
¶ Tipo: cadena Default value: ''
El nombre de usuario para autenticar con el proxy. De forma predeterminada, no se realiza autenticación. Si provee un nombre de usuario, se realizará una autenticación básica. Actualmente no se posee compatibilidad con otros tipos de autenticación.
-
$cfg['ProxyPass']
¶ Tipo: cadena Default value: ''
La contraseña para autenticar con el proxy.
-
$cfg['MaxDbList']
¶ Tipo: integer Default value: 100 La cantidad máxima de nombres de bases de datos a mostrar en la lista de bases de datos del panel principal.
-
$cfg['MaxTableList']
¶ Tipo: integer Default value: 250 El número máximo de nombres de tabla a mostrar en la lista del panel principal (excepto en la página de Exportación).
-
$cfg['ShowHint']
¶ Tipo: booleano Default value: true Si se mostrarán ayudas o no (por ejemplo, al ubicar el puntero sobre las cabeceras de una tabla).
-
$cfg['MaxCharactersInDisplayedSQL']
¶ Tipo: integer Default value: 1000 El número máximo de caracteres a mostrar en una consulta SQL. El valor predeterminado de 1000 debería ser suficiente para evitar mostrar muchos códigos hexadecimales que representan los BLOBs, pero algunos usuarios tienen consultas SQL reales de más de 1000 caracteres. También, si una consulta excede este límite, no será guardada en el histórico.
-
$cfg['PersistentConnections']
¶ Tipo: booleano Default value: false Whether persistent connections should be used or not.
Ver también
-
$cfg['ForceSSL']
¶ Tipo: booleano Default value: false Obsoleto desde la versión 4.6.0: This setting is no longer available since phpMyAdmin 4.6.0. Please adjust your webserver instead.
Si se debe forzar el uso de https al acceder a phpMyAdmin. En una configuración de proxy inverso, no se admite configurarlo como «true».
Nota
En algunas configuraciones (como cuando existe balanceo de carga o proxy SSL separado) podría necesitar configurar
$cfg['PmaAbsoluteUri']
para un redireccionado exitoso.
-
$cfg['MysqlSslWarningSafeHosts']
¶ Tipo: array Default value: ['127.0.0.1', 'localhost']
This search is case-sensitive and will match the exact string only. If your setup does not use SSL but is safe because you are using a local connection or private network, you can add your hostname or IP to the list. You can also remove the default entries to only include yours.
This check uses the value of
$cfg['Servers'][$i]['host']
.Nuevo en la versión 5.1.0.
Example configuration
$cfg['MysqlSslWarningSafeHosts'] = ['127.0.0.1', 'localhost', 'mariadb.local'];
-
$cfg['ExecTimeLimit']
¶ Tipo: entero [cantidad de segundos] Default value: 300 Configure la cantidad de segundos que se le permite ejecutar a un script. Si está definido como cero no se impondrá límite alguno. Se utiliza esta configuración al importar o exportar archivos de volcado pero no tiene efecto alguno cuando PHP ejecuta en modo seguro.
-
$cfg['SessionSavePath']
¶ Tipo: cadena Default value: ''
Path for storing session data (session_save_path PHP parameter).
Advertencia
This folder should not be publicly accessible through the webserver, otherwise you risk leaking private data from your session.
-
$cfg['MemoryLimit']
¶ Tipo: cadena [cantidad de bytes] Default value: '-1'
Configurar la cantidad de bytes que un script puede reservar. Si está configurado como
'-1'
no se impondrá límite alguno. Sí está configurado como'0'
, no cambia el límite de memoria y se utiliza elphp.ini
memory_limit
.Esta configuración es utilizada al importar/exportar archivos de volcados así que definitivamente no quieres ponerlo a un valor demasiado bajo. No tiene efecto alguno cuando PHP está ejecutando en modo seguro.
También se puede utilizar cualquier cadena como en el archivo
php.ini
; por ejemplo: «16M». Asegúrese de no olvidarse el sufijo (¡16 significa 16 bytes!)
-
$cfg['SkipLockedTables']
¶ Tipo: booleano Default value: false Marcar tablas usadas y posibilitar el mostrar bases de datos con tablas bloqueadas (desde MySQL 3.23.30).
-
$cfg['ShowSQL']
¶ Tipo: booleano Default value: true Define si se deben mostrar o no las consultas SQL generadas por phpMyAdmin.
-
$cfg['RetainQueryBox']
¶ Tipo: booleano Default value: false Define si la caja de texto con la consulta SQL será mostrada aún luego de enviado el formulario.
-
$cfg['CodemirrorEnable']
¶ Tipo: booleano Default value: true Define si utilizar un editor de código Javascript para las cajas de consulta SQL. «CodeMirror» provee resaltado de sintáxis y números de línea. Sin embargo, el utilizar el botón medio para pegar el contenido del portapapeles en algunas distribuciones Linux (como Ubuntu) no funcionará en todos los navegadores.
-
$cfg['LintEnable']
¶ Tipo: booleano Default value: true Nuevo en la versión 4.5.0.
Defines whether to use the parser to find any errors in the query before executing.
-
$cfg['DefaultForeignKeyChecks']
¶ Tipo: cadena Default value: 'por defecto'
El valor por defecto del checkbox de validación de clave ajena, para des/activar la validación de clave para determinadas consultas. Los valores posibles son «“por defecto”», «“activo”» o «“desactivado”». Si es «“por defecto”», se hace uso del valor indicado en la variable MySQL «FOREIGN_KEY_CHECKS».
-
$cfg['AllowUserDropDatabase']
¶ Tipo: booleano Default value: false Advertencia
This is not a security measure as there will be always ways to circumvent this. If you want to prohibit users from dropping databases, revoke their corresponding DROP privilege.
Define si se permite a los usuarios normales (no administradores) borrar sus propias bases de datos o no. Si es false, el enlace Borrar base de datos no será mostrado e inclusive se rechazarán consultas como
DROP DATABASE mibasededatos
. Muy práctico para ISP s con muchos clientes.Note que esta limitación de consultas SQL no es tan estricta como utilizar los privilegios MySQL. Esto es debido a la naturaleza de las consultas SQL que pueden ser muy complicadas. Esta opción debe de ser considerada una ayuda para evitar borrados accidentales en lugar de una limitación estricta de privilegios.
-
$cfg['Confirm']
¶ Tipo: booleano Default value: true Si se mostraría una advertencia («¿Está seguro… ?») o no cuando se estén por perder datos.
-
$cfg['UseDbSearch']
¶ Tipo: booleano Default value: true Define si la funcionalidad de «búsqueda de cadenas dentro de la base de datos» está activada o no.
-
$cfg['IgnoreMultiSubmitErrors']
¶ Tipo: booleano Default value: false Define si phpMyAdmin continúa ejecutando una sentencia con múltiples consultas si una de las consultas falla. El valor predeterminado es abortar la ejecución.
-
$cfg['enable_drag_drop_import']
¶ Tipo: booleano Default value: true Whether or not the drag and drop import feature is enabled. When enabled, a user can drag a file in to their browser and phpMyAdmin will attempt to import the file.
-
$cfg['URLQueryEncryption']
¶ Tipo: booleano Default value: false Nuevo en la versión 4.9.8.
Define whether phpMyAdmin will encrypt sensitive data (like database name and table name) from the URL query string. Default is to not encrypt the URL query string.
-
$cfg['URLQueryEncryptionSecretKey']
¶ Tipo: cadena Default value: ''
Nuevo en la versión 4.9.8.
A secret key used to encrypt/decrypt the URL query string. Should be 32 bytes long.
Ver también
-
$cfg['maxRowPlotLimit']
¶ Tipo: integer Default value: 500 Maximum number of rows retrieved for zoom search.
Opciones de autenticación por cookie¶
-
$cfg['blowfish_secret']
¶ Tipo: cadena Default value: ''
The «cookie» auth_type uses the Sodium extension to encrypt the cookies (see Cookie). If you are using the «cookie» auth_type, enter here a generated string of random bytes to be used as an encryption key. It will be used internally by the Sodium extension: you won’t be prompted for this encryption key.
Since a binary string is usually not printable, it can be converted into a hexadecimal representation (using a function like sodium_bin2hex) and then used in the configuration file. For example:
// The string is a hexadecimal representation of a 32-bytes long string of random bytes. $cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');
Using a binary string is recommended. However, if all 32 bytes of the string are visible characters, then a function like sodium_bin2hex is not required. For example:
// A string of 32 characters. $cfg['blowfish_secret'] = 'JOFw435365IScA&Q!cDugr!lSfuAz*OW';
Advertencia
The encryption key must be 32 bytes long. If it is longer than the length of bytes, only the first 32 bytes will be used, and if it is shorter, a new temporary key will be automatically generated for you. However, this temporary key will only last for the duration of the session.
Nota
El nombre de la configuración es «blowfish_secret» por razones históricas, ya que el originalmente se utilizaba el algoritmo Blowfish para el cifrado.
Distinto en la versión 3.1.0: Desde la versión 3.1.0 phpMyAdmin puede generarlo sobre la marcha, pero hace un poco más débil la seguridad ya que este secreto generado se almacena en la sesión. Lo que es más, hace imposible obtener el nombre de usuario de la cookie.
Distinto en la versión 5.2.0: Since version 5.2.0, phpMyAdmin uses the sodium_crypto_secretbox and sodium_crypto_secretbox_open PHP functions to encrypt and decrypt cookies, respectively.
Ver también
-
$cfg['CookieSameSite']
¶ Tipo: cadena Default value: 'Strict'
Nuevo en la versión 5.1.0.
It sets SameSite attribute of the Set-Cookie HTTP response header. Valid values are:
Lax
Strict
None
Ver también
-
$cfg['LoginCookieRecall']
¶ Tipo: booleano Default value: true Define si el inicio de sesión anterior se debe recordar o no en la modalidad autenticación mediante cookie.
Esto será desactivado automáticamente si no está configurado
$cfg['blowfish_secret']
.
-
$cfg['LoginCookieValidity']
¶ Tipo: entero [cantidad de segundos] Default value: 1440 Define how long a login cookie is valid. Please note that php configuration option session.gc_maxlifetime might limit session validity and if the session is lost, the login cookie is also invalidated. So it is a good idea to set
session.gc_maxlifetime
at least to the same value of$cfg['LoginCookieValidity']
.
-
$cfg['LoginCookieStore']
¶ Tipo: entero [cantidad de segundos] Default value: 0 Define por cuánto tiempo se almacena en el navegador la cookie de sesión. El valor predeterminado de 0 significa que se mantendrá sólo durante la sesión actual. Este es el valor recomendable para entornos no confiables.
-
$cfg['LoginCookieDeleteAll']
¶ Tipo: booleano Default value: true Si está activado (el valor predeterminado), el fin de sesión borra todas las cookies para todos los servidores; de lo contrario sólo aquella del servidor actual. Configurarlo como “false” hace maś sencillo olvidar finalizar sesión de otros servidores cuando se utiliza más de uno.
-
$cfg['AllowArbitraryServer']
¶ Tipo: booleano Default value: false Si está activado, permite iniciar sesión en cualquier servidor utilizando autenticación por cookies.
Nota
Por favor, utilice esto cuidadosamente, ya que podría permitir a los usuarios acceder a servidores MySQL detrás del firewall donde se encuentra su servidor HTTP. Ver también
$cfg['ArbitraryServerRegexp']
.
-
$cfg['ArbitraryServerRegexp']
¶ Tipo: cadena Default value: ''
Restringe los servidores MySQL a los cuales puede acceder el usuario cuando está activa
$cfg['AllowArbitraryServer']
, haciendo coincidir la IP o el nombre del servidor MySQL con una expresión regular dada. La expresión regular debe econtrarse entre unos caracteres que la delimiten.It is recommended to include start and end symbols in the regular expression, so that you can avoid partial matches on the string.
Examples:
// Allow connection to three listed servers: $cfg['ArbitraryServerRegexp'] = '/^(server|another|yetdifferent)$/'; // Allow connection to range of IP addresses: $cfg['ArbitraryServerRegexp'] = '@^192\.168\.0\.[0-9]{1,}$@'; // Allow connection to server name ending with -mysql: $cfg['ArbitraryServerRegexp'] = '@^[^:]\-mysql$@';
Nota
The whole server name is matched, it can include port as well. Due to way MySQL is permissive in connection parameters, it is possible to use connection strings as
`server:3306-mysql`
. This can be used to bypass regular expression by the suffix, while connecting to another server.
-
$cfg['CaptchaMethod']
¶ Tipo: cadena Default value: 'invisible'
Valid values are:
'invisible'
Use an invisible captcha checking method;'checkbox'
Use a checkbox to confirm the user is not a robot.
Nuevo en la versión 5.0.3.
-
$cfg['CaptchaApi']
¶ Tipo: cadena Default value: 'https://www.google.com/recaptcha/api.js'
Nuevo en la versión 5.1.0.
The URL for the reCaptcha v2 service’s API, either Google’s or a compatible one.
-
$cfg['CaptchaCsp']
¶ Tipo: cadena Default value: 'https://apis.google.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://ssl.gstatic.com/'
Nuevo en la versión 5.1.0.
The Content-Security-Policy snippet (URLs from which to allow embedded content) for the reCaptcha v2 service, either Google’s or a compatible one.
-
$cfg['CaptchaRequestParam']
¶ Tipo: cadena Default value: 'g-recaptcha'
Nuevo en la versión 5.1.0.
The request parameter used for the reCaptcha v2 service.
-
$cfg['CaptchaResponseParam']
¶ Tipo: cadena Default value: 'g-recaptcha-response'
Nuevo en la versión 5.1.0.
The response parameter used for the reCaptcha v2 service.
-
$cfg['CaptchaLoginPublicKey']
¶ Tipo: cadena Default value: ''
The public key for the reCaptcha service that can be obtained from the «Admin Console» on https://www.google.com/recaptcha/about/.
Ver también
Utilizará reCaptcha en Método de autenticación por cookie.
Nuevo en la versión 4.1.0.
-
$cfg['CaptchaLoginPrivateKey']
¶ Tipo: cadena Default value: ''
The private key for the reCaptcha service that can be obtained from the «Admin Console» on https://www.google.com/recaptcha/about/.
Ver también
Utilizará reCaptcha en Método de autenticación por cookie.
Nuevo en la versión 4.1.0.
-
$cfg['CaptchaSiteVerifyURL']
¶ Tipo: cadena Default value: ''
The URL for the reCaptcha service to do siteverify action.
Utilizará reCaptcha en Método de autenticación por cookie.
Nuevo en la versión 5.1.0.
Panel principal¶
-
$cfg['ShowStats']
¶ Tipo: booleano Default value: true Define si se mostrará el espacio utilizado y estadísticas sobre bases de datos y tablas. Note que las estadísticas requieren al menos MySQL 3.23.3 y que, a esta fecha, MySQL no devuelve dicha información para tablas de bases de datos Berkeley.
-
$cfg['ShowServerInfo']
¶ Tipo: boolean|string Default value: true Defines whether to display detailed server information on main page. Possible values are:
true
to show all server informationfalse
to hide server information'database-server'
to show only database server information'web-server'
to show only web server information
You can additionally hide more information by using
$cfg['Servers'][$i]['verbose']
.Distinto en la versión 6.0.0: Added
'database-server'
and'web-server'
options.
-
$cfg['ShowPhpInfo']
¶ Tipo: booleano Default value: false Defines whether to display the PHP information or not at the starting main (right) frame.
Note que para bloquear el uso de
phpinfo()
en los scripts se debe agregar lo siguiente enphp.ini
:disable_functions = phpinfo()
Advertencia
Enabling phpinfo page will leak quite a lot of information about server setup. Is it not recommended to enable this on shared installations.
This might also make easier some remote attacks on your installations, so enable this only when needed.
-
$cfg['ShowChgPassword']
¶ Tipo: booleano Default value: true Defines whether to display the Change password link or not at the starting main (right) frame. This setting does not check MySQL commands entered directly.
Please note that enabling the Change password link has no effect with config authentication mode: because of the hard coded password value in the configuration file, end users can’t be allowed to change their passwords.
-
$cfg['ShowCreateDb']
¶ Tipo: booleano Default value: true Defines whether to display the form for creating database or not at the starting main (right) frame. This setting does not check MySQL commands entered directly.
-
$cfg['ShowGitRevision']
¶ Tipo: booleano Default value: true Defines whether to display information about the current Git revision (if applicable) on the main panel.
-
$cfg['MysqlMinVersion']
¶ Tipo: array Define la versión mínima MySQL soportada. El valor por defecto es elegido por el equipo de phpMyAdmin; sin embargo, esta directiva sue solicitada por un desarrollados del panel de control Plesk para facilitar la integracion con servidores MySQL más antiguos (donde funciona la mayoría de la funcionalidad phpMyAdmin).
Estructura de base de datos¶
-
$cfg['ShowDbStructureCharset']
¶ Tipo: booleano Default value: false Defines whether to show a column displaying the charset for all tables in the database structure page.
-
$cfg['ShowDbStructureComment']
¶ Tipo: booleano Default value: false Defines whether to show a column displaying the comments for all tables in the database structure page.
-
$cfg['ShowDbStructureCreation']
¶ Tipo: booleano Default value: false Define si la página de estructura de base de datos (lista de tablas) tendrá una columna «Creación» que mostrará cuándo dicha tabla fue creada.
-
$cfg['ShowDbStructureLastUpdate']
¶ Tipo: booleano Default value: false Define si la página de estructura de base de datos (lista de tablas) tendrá una columna «Última actualización» que mostrará cuándo dicha tabla fue actualizada por última vez.
-
$cfg['ShowDbStructureLastCheck']
¶ Tipo: booleano Default value: false Define si la página de estructura de base de datos (lista de tablas) tendrá una columna «Último chequeo» que mostrará cuándo dicha tabla fue revisada por última vez.
-
$cfg['HideStructureActions']
¶ Tipo: booleano Default value: true Defines whether the table structure actions are hidden under a «More» drop-down.
-
$cfg['ShowColumnComments']
¶ Tipo: booleano Default value: true Defines whether to show column comments as a column in the table structure view.
Modalidad de navegación¶
Tipo: cadena Default value: 'icons'
Define si los enlaces en la tabla de navegación continen iconos (
'icons'
), texto ('text'
) o ambos ('both'
).
-
$cfg['ActionLinksMode']
¶ Tipo: cadena Default value: 'both'
Si está definido como
icons
mostrará iconos en lugar de texto en los enlaces de propiedades de base de datos y tabla (como Explorar, Seleccionar, Insertar, …). Se puede configurar comoboth
si desea iconos Y texto. Si está definido comotext
mostrará sólo texto.
-
$cfg['RowActionType']
¶ Tipo: cadena Default value: 'both'
Si se mostrarán íconos, texto o ambos en el segmento de acciones de una fila de una tabla. El valor puede ser uno de
'icons'
(íconos),'text'
(texto) o'both'
(ambos).
-
$cfg['ShowAll']
¶ Tipo: booleano Default value: false Defines whether a user should be displayed a «Show all» button in browse mode or not in all cases. By default it is shown only on small tables (less than 500 rows) to avoid performance issues while getting too many rows.
-
$cfg['MaxRows']
¶ Tipo: integer Default value: 25 Number of rows displayed when browsing a result set and no LIMIT clause is used. If the result set contains more rows, «Previous» and «Next» links will be shown. Possible values: 25,50,100,250,500.
-
$cfg['Order']
¶ Tipo: cadena Default value: 'SMART'
Define si las columnas, de forma predeterminada, son mostradas en orden ascendente (
ASC
), descendente (DESC
) o en un orden «inteligente» (SMART
) — esto es orden descendente para las columnas de tipo TIME, DATE, DATETIME y TIMESTAMP y ascendente para los demás.Distinto en la versión 3.4.0: Since phpMyAdmin 3.4.0 the default value is
'SMART'
.
-
$cfg['DisplayBinaryAsHex']
¶ Tipo: booleano Default value: true Defines whether the «Show binary contents as HEX» browse option is ticked by default.
Nuevo en la versión 3.3.0.
Obsoleto desde la versión 4.3.0: This setting was removed.
-
$cfg['GridEditing']
¶ Tipo: cadena Default value: 'double-click'
Define qué acción (
click
odoble-click
) activa la edición del grid. Puede desactivarse con el valordesactivado
.
-
$cfg['RelationalDisplay']
¶ Tipo: cadena Default value: 'K'
Define el comportmiento inicial para Opciones > Relacional. Por defecto
K
muestra la clave, mientra queD
muestra la columna de visualización.
-
$cfg['SaveCellsAtOnce']
¶ Tipo: booleano Default value: false Define si se guardarán simultáneamente todas las celdas editadas en la edición de la grilla.
Modo de edición¶
-
$cfg['ProtectBinary']
¶ Tipo: booleano o cadena Default value: 'blob'
Define si las columnas
BLOB
oBINARY
son protegidas contra edición al examinar el contenido de una tabla. Los valores válidos son:false
para permitir la edición de todas las columnas;blob
para permitir la edicicón de todas las columnas excepto las de tipoBLOB
;noblob
para no permitir la edicicón de todas las columnas excepto las de tipoBLOB
(lo opuesto ablob
);all
para desactivar la edición de todas las columnas de tipoBINARY
oBLOB
.
-
$cfg['ShowFunctionFields']
¶ Tipo: booleano Default value: true Define si los campos funcionales de MySQL deben de ser mostrados inicialmente en el modo de edición/inserción. Desde la versión 2.10 los usuarios pueden cambiar esta configuración desde la interfaz.
-
$cfg['ShowFieldTypesInDataEditView']
¶ Tipo: booleano Default value: true Define si los tipos de campo deben de ser mostrados inicialmente en el modo de edición/inserción. Los usuarios pueden cambiar esta configuración desde la interfaz.
-
$cfg['InsertRows']
¶ Tipo: integer Default value: 2 Defines the default number of rows to be entered from the Insert page. Users can manually change this from the bottom of that page to add or remove blank rows.
-
$cfg['ForeignKeyMaxLimit']
¶ Tipo: integer Default value: 100 Si hay menos elementos que esta cantidad en el conjunto de claves foráneas, entonces se presenta una lista desplegable de las claves foráneas en el mismo estilo de la configuración
$cfg['ForeignKeyDropdownOrder']
.
-
$cfg['ForeignKeyDropdownOrder']
¶ Tipo: array Default value: array(“content-id”, “id-content”) Hay varios métodos para mostrar campos en las listas desplegables de claves foráneas, ofreciendo tanto la clave como el valor del dato. El contenido del array tiene que ser una o ambas de las siguientes cadenas:
content-id
,id-content
.
Configuración de exportación e importación¶
-
$cfg['ZipDump']
¶ Tipo: booleano Default value: true
-
$cfg['GZipDump']
¶ Tipo: booleano Default value: true
-
$cfg['BZipDump']
¶ Tipo: booleano Default value: true Define si utilizar compresión zip/GZip/BZip2 al crear un archivo de volcado
-
$cfg['CompressOnFly']
¶ Tipo: booleano Default value: true Define si se permite compresión al vuelo para exportaciones comprimidas con GZip/BZip2. Esto no afecta volcados más pequeños y permite a los usuarios crear volcados más grandes que no entrarían en memoria debido al límite de memoria de PHP. Los archivos producidos contienen más cabeceras GZip/BZip2, pero todos los programas normales lo manejan correctamente.
-
$cfg['Export']
¶ Tipo: array Default value: array(…) En este array están definidos los parámetros predeterminados para la exportación. El nombre de los elementos son similares al texto (en inglés) de la página de exportación para poder identificar fácilmente lo que significan.
-
$cfg['Export']['format']
¶ Tipo: cadena Default value: 'sql'
Default export format.
-
$cfg['Export']['method']
¶ Tipo: cadena Default value: 'quick'
Define cómo se muestra el formulario de exportación al cargar. Los valores válidos son:
quick
para mostrar la menor cantidad de opciones a configurarcustom
para mostrar toda opción disponible a configurarcustom-no-form
es igual acustom
pero no muestra la opción para utilizar exportación rápida
-
$cfg['Export']['compression']
¶ Tipo: cadena Default value: 'none'
Default export compression method. Possible values are
'none'
,'zip'
or'gzip'
.
-
$cfg['Export']['charset']
¶ Tipo: cadena Default value: ''
Defines charset for generated export. By default no charset conversion is done assuming UTF-8.
-
$cfg['Export']['file_template_table']
¶ Tipo: cadena Default value: '@TABLE@'
Default filename template for table exports.
Ver también
-
$cfg['Export']['file_template_database']
¶ Tipo: cadena Default value: '@DATABASE@'
Default filename template for database exports.
Ver también
-
$cfg['Export']['file_template_server']
¶ Tipo: cadena Default value: '@SERVER@'
Default filename template for server exports.
Ver también
-
$cfg['Export']['remove_definer_from_definitions']
¶ Tipo: booleano Default value: false Remove DEFINER clause from the event, view and routine definitions.
Nuevo en la versión 5.2.0.
-
$cfg['Import']
¶ Tipo: array Default value: array(…) En este array están definidos los parámetros predeterminados para la importación. El nombre de los elementos son similares al texto (en inglés) de la página de importación para poder identificar fácilmente lo que significan.
-
$cfg['Import']['charset']
¶ Tipo: cadena Default value: ''
Defines charset for import. By default no charset conversion is done assuming UTF-8.
-
$cfg['Schema']
¶ Tipo: array Default value: array(…)
-
$cfg['Schema']['format']
¶ Tipo: cadena Default value: 'pdf'
Defines the default format for schema export. Possible values are
'pdf'
,'eps'
,'dia'
or'svg'
.
Configuraciones de visualización de pestañas¶
-
$cfg['TabsMode']
¶ Tipo: cadena Default value: 'both'
Define si las pestañas del menú contienen iconos (
'icons'
), texto ('text'
) o ambos ('both'
).
-
$cfg['PropertiesNumColumns']
¶ Tipo: integer Default value: 1 ¿Cuántas columnas se pueden utilizar para mostrar las tablas en la vista de propiedades de la base de datos? Al definir este parámetro a un valor mayor a 1, se omitirá el tipo de la base de datos para un mayor espacio de visualización.
-
$cfg['DefaultTabServer']
¶ Tipo: cadena Default value: 'bienvenido'
Defines the tab displayed by default on server view. The possible values are the localized equivalent of:
bienvenido
(recomendado para configuraciones multiusuario)base de datos
,estado
variables
privilegios
-
$cfg['DefaultTabDatabase']
¶ Tipo: cadena Default value: 'estructura'
Defines the tab displayed by default on database view. The possible values are the localized equivalent of:
estructura
sql
buscar
operaciones
-
$cfg['DefaultTabTable']
¶ Tipo: cadena Default value: 'navegar'
Defines the tab displayed by default on table view. The possible values are the localized equivalent of:
estructura
sql
buscar
Añadir
Navegar
Opciones de PDF¶
-
$cfg['PDFPageSizes']
¶ Tipo: array Default value: array('A3', 'A4', 'A5', 'letter', 'legal')
Array de tamaños de papel posibles para la creación de páginas PDF.
Jamás debería necesitar cambiar esto.
-
$cfg['PDFDefaultPageSize']
¶ Tipo: cadena Default value: 'A4'
Tamaño de página predeterminado para la creación de páginas PDF. Los valores válidos son cualquiera de los enumerados en
$cfg['PDFPageSizes']
.
Idiomas¶
-
$cfg['DefaultLang']
¶ Tipo: cadena Default value: 'en'
Los archivos de idioma correspondientes tiene que estar en locale/código/LC_MESSAGES/phpmyadmin.mo.
-
$cfg['DefaultConnectionCollation']
¶ Tipo: cadena Default value: 'utf8mb4_general_ci'
Defines the default connection collation to use, if not user-defined. See the MySQL documentation for charsets for list of possible values.
-
$cfg['Lang']
¶ Tipo: cadena Default value: no definido Forzar el idioma a utilizar. El archivo de idioma correspondiente debe estar en locale/código/LC_MESSAGES/phpmyadmin.mo.
-
$cfg['FilterLanguages']
¶ Tipo: cadena Default value: ''
Limitar la lista de idiomas disponibles a aquellos que coincidan con la expresión regular provista. Por ejemplo, si sólo se desea Español e Inglés, el filtro debería ser
'^(es|en)'
.
-
$cfg['RecodingEngine']
¶ Tipo: cadena Default value: 'auto'
Se puede definir aquí qué funciones utilizar para la conversión entre conjuntos de caracteres. Los valores posibles son:
'auto'
- automatically use available one (first is tested iconv, then mbstring)'iconv'
- use iconv or libiconv functions'mb'
- use mbstring extension'none'
- disable encoding conversion
Las funciones de conversión de conjuntos de caracteres habilitadas activarán una lista desplegable en las páginas de importación y exportación para elegir el conjunto de caracteres a utilizar en el archivo. El valor predeterminado de esa lista proviene de
$cfg['Import']['charset']
y$cfg['Export']['charset']
respectivamente.Distinto en la versión 6.0.0: Support for the Recode extension has been removed. The
'recode'
value is ignored and the default value ('auto'
) is used instead.
-
$cfg['IconvExtraParams']
¶ Tipo: cadena Default value: '//TRANSLIT'
Specify some parameters for iconv used in charset conversion. See iconv documentation for details. By default
//TRANSLIT
is used, so that invalid characters will be transliterated.
-
$cfg['AvailableCharsets']
¶ Tipo: array Default value: array(…) Available character sets for MySQL conversion. You can add your own (any of supported by mbstring/iconv) or remove these which you don’t use. Character sets will be shown in same order as here listed, so if you frequently use some of these move them to the top.
Configuraciones del servidor web¶
-
$cfg['OBGzip']
¶ Tipo: cadena/booleano Default value: 'auto'
Define si utilizar búfers de salida GZip para mayor velocidad en transferencias HTTP. Configure como «true» o «false» para habilitar o deshabilitarlo respectivamente. Al definirlo como la cadena «auto» phpMyAdmin intentará activarlo y lo desactivará automáticamente si el navegador tiene problemas con él. Es sabido que IE6 con ciertos parches causa corrupción de datos al habilitar estos búfers.
-
$cfg['TrustedProxies']
¶ Tipo: array Default value: array() Lista de proxies y cabeceras HTTP confiables para
$cfg['Servers'][$i]['AllowDeny']['order']
. El valor predeterminado es que la lista esté vacía, necesitará completarla con servidores proxy confiables si desea utilizar estas reglas para direcciones IPs detrás de un proxy.The following example specifies that phpMyAdmin should trust a HTTP_X_FORWARDED_FOR (
X-Forwarded-For
) header coming from the proxy 1.2.3.4:$cfg['TrustedProxies'] = ['1.2.3.4' => 'HTTP_X_FORWARDED_FOR'];
La directiva
$cfg['Servers'][$i]['AllowDeny']['rules']
utilizará las direcciones IP de los clientes como siempre.
-
$cfg['GD2Available']
¶ Tipo: cadena Default value: 'auto'
Especifica si está disponible GD >= 2. Si está disponible, puede ser utilizada para transformaciones MIME. Los valores posibles son:
- auto - detectar automáticamente
- yes - las funciones GD 2 pueden ser utilizadas
- no - las funciones GD2 no pueden ser utilizadas
-
$cfg['CheckConfigurationPermissions']
¶ Tipo: booleano Default value: true Normalmente se revisan los permisos en el archivo de configuración para asegurarse que todo el mundo no pueda escribir en él. Sin embargo, phpMyAdmin podría estar instalado en un sistema de archivos NTFS montado en un servidor no-Windows, en cuyo caso los permisos parecerán incorrectos debido a problemas de detección. En este caso, el administrador deberá configurar este parámetro como
false
.
-
$cfg['LinkLengthLimit']
¶ Tipo: integer Default value: 1000 Limitar la longitud de las URL s en los enlaces. Cuando la longitud esté por encima de este límite, será reemplazada con un botón. Esto es necesario ya que algunos servidores web (IIS) tienen problemas con URL s extensas.
-
$cfg['CSPAllow']
¶ Tipo: cadena Default value: ''
Cadena adicional para incluir en fuentes autorizadas de scripts e imágenes en la cabecera «Content Security Policy».
This can be useful when you want to include some external JavaScript files in
config.footer.inc.php
orconfig.header.inc.php
, which would be normally not allowed by Content Security Policy.Para permitir algunos sitios, sólo enumérelos en la cadena:
$cfg['CSPAllow'] = 'example.com example.net';
Nuevo en la versión 4.0.4.
-
$cfg['DisableMultiTableMaintenance']
¶ Tipo: booleano Default value: false En la página de estructura de una base de datos es posible marcar algunas tablas y luego elegir una operación (como optimización) para muchas tablas. Eso puede sobrecargar el servidor; por lo tanto, configurar esto como
true
previene este tipo de operaciones de mantenimiento sobre múltiples tablas.
Configuraciones de temas¶
Please directly modifythemes/themename/scss/_variables.scss
, although your changes will be overwritten with the next update.
Personalización de diseño¶
Tipo: booleano Default value: true Cuando se activa, al pasar el ratón sobre un elemento en el panel de navegación se marca dicho elemento (el fondo se ilumina).
-
$cfg['BrowsePointerEnable']
¶ Tipo: booleano Default value: true Cuando se activa, al pasar el ratón sobre una fila de la página de Navegación se selecciona la fila (el fondo se ilumina).
-
$cfg['BrowseMarkerEnable']
¶ Tipo: booleano Default value: true Cuando se activa, una fila de datos se marca (el fondo se ilumina) cuando se selecciona la fila mediante el checkbox.
-
$cfg['LimitChars']
¶ Tipo: integer Default value: 50 Cantidad máxima de caracteres a mostrar en cualquier campo no-numérico en el modo de exploración. Puede ser desactivado mediante un botón en la página de exploración.
-
$cfg['RowActionLinks']
¶ Tipo: cadena Default value: 'left'
Define el lugar donde deben ponerse los enlaces a la fila de una tabla (Editar, Copiar, Borrar) cuando se muestra el contenido (puede mostrarlos en el lado izquierdo, el derecho, a ambos lados o en ninguno).
-
$cfg['RowActionLinksWithoutUnique']
¶ Tipo: booleano Default value: false Defines whether to show row links (Edit, Copy, Delete) and checkboxes for multiple row operations even when the selection does not have a unique key. Using row actions in the absence of a unique key may result in different/more rows being affected since there is no guaranteed way to select the exact row(s).
-
$cfg['RememberSorting']
¶ Tipo: booleano Default value: true Si está habilitado, se recordará el ordenamiento de una tabla al navegar por la misma.
-
$cfg['TablePrimaryKeyOrder']
¶ Tipo: cadena Default value: 'NONE'
This defines the default sort order for the tables, having a primary key, when there is no sort order defines externally. Acceptable values : [“NONE”, “ASC”, “DESC”]
-
$cfg['ShowBrowseComments']
¶ Tipo: booleano Default value: true
-
$cfg['ShowPropertyComments']
¶ Tipo: booleano Default value: true Al configurar esta variable como
true
se activa la visualización de los comentarios de columnas en las pantallas de Exploración y Propiedades. En el modo de exploración los comentarios se muestran en la cabecera. En el modo de propiedades se muestran utilizando una línea punteada con formato CSS bajo el nombre de la columna. El comentario se muestra como texto suplementario de dicha columna.
-
$cfg['FirstDayOfCalendar']
¶ Tipo: integer Default value: 0 This will define the first day of week in the calendar. The number can be set from 0 to 6, which represents the seven days of the week, Sunday to Saturday respectively. This value can also be configured by the user in Settings -> Features -> General -> First day of calendar field.
Campos de texto¶
-
$cfg['CharEditing']
¶ Tipo: cadena Default value: 'input'
Define el tipo de controles de edición a usar para los campos CHAR y VARCHAR. Tiene efecto en la edición de datos así como también en los valores predeterminados cuando edita la estructura. Los valores posibles son:
- input - permite limitar la longitud del texto al tamaño de las columnas MySQL pero tiene problemas con los saltos de línea en las columnas
- textarea - no tiene problema con saltos de línea en las columnas, pero no tiene limitaciones de longitud
-
$cfg['MinSizeForInputField']
¶ Tipo: integer Default value: 4 Define el tamaño mínimo de los campos de entrada para columnas CHAR y VARCHAR.
-
$cfg['MaxSizeForInputField']
¶ Tipo: integer Default value: 60 Define el tamaño máximo de los campos de entrada para columnas CHAR y VARCHAR.
-
$cfg['TextareaCols']
¶ Tipo: integer Default value: 40
-
$cfg['TextareaRows']
¶ Tipo: integer Default value: 15
-
$cfg['CharTextareaCols']
¶ Tipo: integer Default value: 40
-
$cfg['CharTextareaRows']
¶ Tipo: integer Default value: 7 Cantidad de columnas y filas para las áreas de texto. El valor será duplicado en áreas de texto para consultas SQL y aumentando un 25% en las áreas de texto SQL dentro de la ventana de consultas.
Las configuraciones que comienzan con Char son utilizadas para edición de campos CHAR y VARCHAR (si están configurados mediante
$cfg['CharEditing']
).Distinto en la versión 5.0.0: The default value was changed from 2 to 7.
-
$cfg['LongtextDoubleTextarea']
¶ Tipo: booleano Default value: true Define si el área de texto para columnas LONGTEXT deben de tener el doble de tamaño.
-
$cfg['TextareaAutoSelect']
¶ Tipo: booleano Default value: false Define si el área de texto completa de una consulta será seleccionada al pulsar en ella.
-
$cfg['EnableAutocompleteForTablesAndColumns']
¶ Tipo: booleano Default value: true Si activar autocompletado para los nombres de tabla y columna en cualquier caja de consulta SQL.
Configuraciones de la caja de consultas SQL¶
-
$cfg['SQLQuery']['Edit']
¶ Tipo: booleano Default value: true Si se muestra o no un enlace de edición para modificar una consulta en cualquier caja de texto de consultas SQL.
-
$cfg['SQLQuery']['Explain']
¶ Tipo: booleano Default value: true Si se muestra o no un enlace para explicar una consulta SELECT en cualquier caja de texto de consultas SQL.
-
$cfg['SQLQuery']['ShowAsPHP']
¶ Tipo: booleano Default value: true Si se muestra o no un enlace para envolver una consulta entre código PHP en cualquier caja de texto de consultas SQL.
-
$cfg['SQLQuery']['Refresh']
¶ Tipo: booleano Default value: true Si se muestra o no un enlace para actualizar una consulta en cualquier caja de texto de consultas SQL.
Directorios en el servidor web para subir/guardar/importar¶
If PHP is running in safe mode, all directories must be owned by the same user as the owner of the phpMyAdmin scripts.
If the directory where phpMyAdmin is installed is subject to an
open_basedir
restriction, you need to create a temporary directory in some
directory accessible by the PHP interpreter.
For security reasons, all directories should be outside the tree published by
webserver. If you cannot avoid having this directory published by webserver,
limit access to it either by web server configuration (for example using
.htaccess or web.config files) or place at least an empty index.html
file there, so that directory listing is not possible. However as long as the
directory is accessible by web server, an attacker can guess filenames to download
the files.
-
$cfg['UploadDir']
¶ Tipo: cadena Default value: ''
The name of the directory where SQL files have been uploaded by other means than phpMyAdmin (for example, FTP). Those files are available under a drop-down box when you click the database or table name, then the Import tab.
Si se desea utilizar un directorio diferente para cada usuario, %u será reemplazado con el nombre de usuario.
Note que los archivos deben de tener extensión «.sql» (o «.sql.bz2» o «.sql.gz» si está activada la compatibilidad para formatos comprimidos).
Esta funcionalidad es útil cuando los archivos son demasiado grandes para ser subidos mediante HTTP o cuando la subida de archivos está desactivada en PHP.
Advertencia
Please see top of this chapter (Directorios en el servidor web para subir/guardar/importar) for instructions how to setup this directory and how to make its usage secure.
Ver también
See 1.16 No puedo subir archivos de volcado grandes (problemas de memoria, HTTP o tiempos de espera agotados). for alternatives.
-
$cfg['SaveDir']
¶ Tipo: cadena Default value: ''
The name of the webserver directory where exported files can be saved.
If you want a different directory for each user, %u will be replaced with the username.
Porfavor note que este directorio debe existir y el servidor web ejecutado tiene que tener permiso de escritura en el mismo.
Advertencia
Please see top of this chapter (Directorios en el servidor web para subir/guardar/importar) for instructions how to setup this directory and how to make its usage secure.
-
$cfg['TempDir']
¶ Tipo: cadena Default value: './tmp/'
The name of the directory where temporary files can be stored. It is used for several purposes, currently:
- The templates cache which speeds up page loading.
- ESRI Shapefiles import, see 6.30 Importación: ¿Cómo puedo importar archivos de forma ESRI?.
- To work around limitations of
open_basedir
for uploaded files, see 1.11 I get an “open_basedir restriction” while uploading a file from the import tab..
Este directorio deberá de tener permisos tan estrictos como sea posible y el único usuario que necesita acceder a este directorio es aquél ejecutando el servidor web. Si se tienen permisos de root, simplemente haga a este usuario dueño del directorio y hágalo sólo accesible por él:
chown www-data:www-data tmp chmod 700 tmp
Si no puede cambiar el dueño de este directorio, se pueden conseguir resultados similares utilizando ACL:
chmod 700 tmp setfacl -m "g:www-data:rwx" tmp setfacl -d -m "g:www-data:rwx" tmp
Si ninguno de los anteriores funciona, aún se puede hacer el directorio chmod 777, pero puede significar un riesgo de que otros usuarios en el sistema lean y escriban datos en este directorio.
Advertencia
Please see top of this chapter (Directorios en el servidor web para subir/guardar/importar) for instructions how to setup this directory and how to make its usage secure.
Configuraciones varias de visualización¶
-
$cfg['RepeatCells']
¶ Tipo: integer Default value: 100 Repetir las cabeceras cada X celdas (0 lo desactiva).
-
$cfg['EditInWindow']
¶ Tipo: booleano Default value: true Ver también
Obsoleto desde la versión 4.3.0: This setting was removed.
-
$cfg['QueryWindowWidth']
¶ Tipo: integer Default value: 550 Obsoleto desde la versión 4.3.0: This setting was removed.
-
$cfg['QueryWindowHeight']
¶ Tipo: integer Default value: 310 Obsoleto desde la versión 4.3.0: This setting was removed.
-
$cfg['QueryHistoryDB']
¶ Tipo: booleano Default value: false
-
$cfg['QueryWindowDefTab']
¶ Tipo: cadena Default value: 'sql'
Obsoleto desde la versión 4.3.0: This setting was removed.
-
$cfg['QueryHistoryMax']
¶ Tipo: integer Default value: 25 Si
$cfg['QueryHistoryDB']
está configurado comotrue
, todas las consultas son registradas en una tabla que tiene que haber sido creada previamente (revise$cfg['Servers'][$i]['history']
). Si está configurado comofalse
todas las consultas serán agregadas al formulario pero sólo mientras se mantenga abierta la ventana.Al utilizar la ventana de consultas JavaScript, ésta estará siempre actualizada al pulsar en una nueva tabla o base de datos a examinar y obtendrá el foco si se pulsa en Editar SQL luego de haber usado una consulta. Se puede evitar esta actualización activando la caja descripta como No sobreescribir esta consulta desde fuera de la ventana debajo del área de texto de la consulta. De esa forma se puede examinar tablas o bases de datos en segundo plano sin perder los contenidos del área de texto por lo que es especialmente útil al crear una consulta con tablas que primero se desea revisar. La opción se activará automáticamente cuando se modifique el contenido del área de texto. Desactívelo cuando definitivamente desee que se actualice la ventana de consultas aún cuando se han realizado modificaciones.
Si
$cfg['QueryHistoryDB']
está configurado comotrue
se puede especificar la cantidad máxima de elementos históricos guardados utilizando$cfg['QueryHistoryMax']
.
Tipo: booleano Default value: true Nuevo en la versión 6.0.0.
Allow users to create bookmarks that are available for all other users
-
$cfg['BrowseMIME']
¶ Tipo: booleano Default value: true Activar Transformaciones.
-
$cfg['MaxExactCount']
¶ Tipo: integer Default value: 50000 Para tablas InnoDB, determina el tamaño máximo de las tablas para las que phpMyAdmin deberá obtener la cantidad exacta de filas utilizando
SELECT COUNT
. Si la cantidad aproximada de filas como es reportado porSHOW TABLE STATUS
es menor a este valor se utilizaráSELECT COUNT
, de otra forma se utilizará el valor aproximado reportado.Distinto en la versión 4.8.0: The default value was lowered to 50000 for performance reasons.
Distinto en la versión 4.2.6: The default value was changed to 500000.
-
$cfg['MaxExactCountViews']
¶ Tipo: integer Default value: 0 Para las vistas, como el obtener una cuenta exacta puede tener un impacto en la performance este valor es el máximo a mostrar utilizando
SELECT COUNT ... LIMIT
. Definirlo como 0 desactiva el recuento de filas.
-
$cfg['NaturalOrder']
¶ Tipo: booleano Default value: true Ordena los nombres de bases de datos y tablas según el orden natural (por ejemplo: t1, t2, t10). Actualmente implementado en el panel de navegación y en la exploración de bases de datos para la lista de tablas.
-
$cfg['InitialSlidersState']
¶ Tipo: cadena Default value: 'closed'
Si está configurado como
«closed»
, los deslizadores visuales estarán cerrados inicialmente. Un valor de«open»
tendrá el efecto inverso. Para desactivar completamente todo deslizador visual utilice«disabled»
.
-
$cfg['UserprefsDisallow']
¶ Tipo: array Default value: array() Contains names of configuration options (keys in
$cfg
array) that users can’t set through user preferences. For possible values, refer to classes undersrc/Config/Forms/User/
.
-
$cfg['UserprefsDeveloperTab']
¶ Tipo: booleano Default value: false Nuevo en la versión 3.4.0.
Activa una pestaña en las preferencias de usuario que contiene opciones para desarrolladores de phpMyAdmin.
Títulos de página¶
The page title displayed by your browser’s window or tab title bar can be customized. You can use 6.27 ¿Qué cadenas de formato puedo utilizar?. The following four options allow customizing various parts of the phpMyAdmin interface. Note that the login page title cannot be changed.
-
$cfg['TitleTable']
¶ Tipo: cadena Default value: '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ / @TABLE@ | @PHPMYADMIN@'
-
$cfg['TitleDatabase']
¶ Tipo: cadena Default value: '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ | @PHPMYADMIN@'
-
$cfg['TitleServer']
¶ Tipo: cadena Default value: '@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@'
-
$cfg['TitleDefault']
¶ Tipo: cadena Default value: '@HTTP_HOST@ | @PHPMYADMIN@'
Configuraciones del administrador de temas¶
-
$cfg['ThemeManager']
¶ Tipo: booleano Default value: true Activa temas para que seleccionen los usuarios. Revise 2.7 Creando y utilizando temas.
-
$cfg['ThemeDefault']
¶ Tipo: cadena Default value: 'pmahomme'
The default theme (a subdirectory under
./public/themes/
).
-
$cfg['ThemePerServer']
¶ Tipo: booleano Default value: false Si se permite un tema distinto para cada servidor.
-
$cfg['FontSize']
¶ Tipo: cadena Default value: “82%” Obsoleto desde la versión 5.0.0: This setting was removed as the browser is more efficient, thus no need of this option.
Font size to use, is applied in CSS.
Consultas predeterminadas¶
-
$cfg['DefaultQueryTable']
¶ Tipo: cadena Default value: 'SELECT * FROM @TABLE@ WHERE 1'
-
$cfg['DefaultQueryDatabase']
¶ Tipo: cadena Default value: ''
Consultas predeterminadas a mostrarse en las cajas de consultas cuando el usuario no especificó una. Se puede utilizar 6.27 ¿Qué cadenas de formato puedo utilizar?.
Configuraciones MySQL¶
-
$cfg['DefaultFunctions']
¶ Tipo: array Default value: array('FUNC_CHAR' => '', 'FUNC_DATE' => '', 'FUNC_NUMBER' => '', 'FUNC_SPATIAL' => 'GeomFromText', 'FUNC_UUID' => 'UUID', 'first_timestamp' => 'NOW')
Functions selected by default when inserting/changing row, Functions are defined for meta types as (
FUNC_NUMBER
,FUNC_DATE
,FUNC_CHAR
,FUNC_SPATIAL
,FUNC_UUID
) and forfirst_timestamp
, which is used for first timestamp column in table.Example configuration
$cfg['DefaultFunctions'] = [ 'FUNC_CHAR' => '', 'FUNC_DATE' => '', 'FUNC_NUMBER' => '', 'FUNC_SPATIAL' => 'ST_GeomFromText', 'FUNC_UUID' => 'UUID', 'first_timestamp' => 'UTC_TIMESTAMP', ];
Default options for Transformations¶
-
$cfg['DefaultTransformations']
¶ Tipo: array Default value: An array with below listed key-values
-
$cfg['DefaultTransformations']['Substring']
¶ Tipo: array Default value: array(0, “all”, “…”)
-
$cfg['DefaultTransformations']['Bool2Text']
¶ Tipo: array Default value: array(“T”, “F”)
-
$cfg['DefaultTransformations']['External']
¶ Tipo: array Default value: array(0, “-f /dev/null -i -wrap -q”, 1, 1)
-
$cfg['DefaultTransformations']['PreApPend']
¶ Tipo: array Default value: array(“”, “”)
-
$cfg['DefaultTransformations']['Hex']
¶ Tipo: array Default value: array(“2”)
-
$cfg['DefaultTransformations']['DateFormat']
¶ Tipo: array Default value: array(0, “”, “local”)
-
$cfg['DefaultTransformations']['Inline']
¶ Tipo: array Default value: array(“100”, 100)
-
$cfg['DefaultTransformations']['TextImageLink']
¶ Tipo: array Default value: array(“”, 100, 50)
-
$cfg['DefaultTransformations']['TextLink']
¶ Tipo: array Default value: array(“”, “”, “”)
Console settings¶
Nota
These settings are mostly meant to be changed by user.
-
$cfg['Console']['StartHistory']
¶ Tipo: booleano Default value: false Mostrar histórico de consultas al iniciar
-
$cfg['Console']['AlwaysExpand']
¶ Tipo: booleano Default value: false Siempre expandir mensajes de consultas
-
$cfg['Console']['CurrentQuery']
¶ Tipo: booleano Default value: true Mostrar consulta de navegación actual
-
$cfg['Console']['EnterExecutes']
¶ Tipo: booleano Default value: false Ejecute consultas con Enter e inserte una nueva línea con Shift + Enter
-
$cfg['Console']['DarkTheme']
¶ Tipo: booleano Default value: false Cambiar al tema oscuro
-
$cfg['Console']['Mode']
¶ Tipo: cadena Default value: “info” Modo de la consola
-
$cfg['Console']['Height']
¶ Tipo: integer Default value: 92 Altura de la consola
Desarrollador¶
Advertencia
Estas configuraciones pueden tener un gran impacto en el rendimiento o la seguridad.
-
$cfg['environment']
¶ Tipo: cadena Default value: 'production'
Sets the working environment.
This only needs to be changed when you are developing phpMyAdmin itself. The
development
mode may display debug information in some places.Possible values are
'production'
or'development'
.
-
$cfg['DBG']
¶ Tipo: array Default value: []
-
$cfg['DBG']['sql']
¶ Tipo: booleano Default value: false Activa que el registro de consultas y tiempos de ejecución se muestren en la pestaña Depuración SQL de la consola.
-
$cfg['DBG']['sqllog']
¶ Tipo: booleano Default value: false Enable logging of queries and execution times to the syslog. Requires
$cfg['DBG']['sql']
to be enabled.
-
$cfg['DBG']['demo']
¶ Tipo: booleano Default value: false Enable to let server present itself as demo server. This is used for phpMyAdmin demo server.
It currently changes following behavior:
- There is welcome message on the main page.
- There is footer information about demo server and used Git revision.
- The setup script is enabled even with existing configuration.
- The setup does not try to connect to the MySQL server.
-
$cfg['DBG']['simple2fa']
¶ Tipo: booleano Default value: false Can be used for testing two-factor authentication using Autenticación simple de dos factores.
Examples¶
See following configuration snippets for typical setups of phpMyAdmin.
Basic example¶
Example configuration file, which can be copied to config.inc.php
to
get some core configuration layout; it is distributed with phpMyAdmin as
config.sample.inc.php
. Please note that it does not contain all
configuration options, only the most frequently used ones.
<?php
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use setup/
*
* All directives are explained in documentation in the doc/ folder
* or at <https://docs.phpmyadmin.net/>.
*/
declare(strict_types=1);
/**
* This is needed for cookie based authentication to encrypt the cookie.
* Needs to be a 32-bytes long string of random bytes. See FAQ 2.10.
*/
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/**
* Servers configuration
*/
$i = 0;
/**
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
/**
* phpMyAdmin configuration storage settings.
*/
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
// $cfg['Servers'][$i]['history'] = 'pma__history';
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
/**
* End of servers configuration
*/
/**
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
/**
* Whether to display icons or text or both icons and text in table row
* action segment. Value can be either of 'icons', 'text' or 'both'.
* default = 'both'
*/
//$cfg['RowActionType'] = 'icons';
/**
* Defines whether a user should be displayed a "show all (records)"
* button in browse mode or not.
* default = false
*/
//$cfg['ShowAll'] = true;
/**
* Number of rows displayed when browsing a result set. If the result
* set contains more rows, "Previous" and "Next".
* Possible values: 25, 50, 100, 250, 500
* default = 25
*/
//$cfg['MaxRows'] = 50;
/**
* Disallow editing of binary fields
* valid values are:
* false allow editing
* 'blob' allow editing except for BLOB fields
* 'noblob' disallow editing except for BLOB fields
* 'all' disallow editing
* default = 'blob'
*/
//$cfg['ProtectBinary'] = false;
/**
* Default language to use, if not browser-defined or user-defined
* (you find all languages in the locale folder)
* uncomment the desired line:
* default = 'en'
*/
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';
/**
* How many columns should be used for table display of a database?
* (a value larger than 1 results in some information being hidden)
* default = 1
*/
//$cfg['PropertiesNumColumns'] = 2;
/**
* Set to true if you want DB-based query history.If false, this utilizes
* JS-routines to display query history (lost by window close)
*
* This requires configuration storage enabled, see above.
* default = false
*/
//$cfg['QueryHistoryDB'] = true;
/**
* When using DB-based query history, how many entries should be kept?
* default = 25
*/
//$cfg['QueryHistoryMax'] = 100;
/**
* Whether or not to query the user before sending the error report to
* the phpMyAdmin team when a JavaScript error occurs
*
* Available options
* ('ask' | 'always' | 'never')
* default = 'ask'
*/
//$cfg['SendErrorReports'] = 'always';
/**
* 'URLQueryEncryption' defines whether phpMyAdmin will encrypt sensitive data from the URL query string.
* 'URLQueryEncryptionSecretKey' is a 32 bytes long secret key used to encrypt/decrypt the URL query string.
*/
//$cfg['URLQueryEncryption'] = true;
//$cfg['URLQueryEncryptionSecretKey'] = '';
/**
* You can find more configuration options in the documentation
* in the doc/ folder or at <https://docs.phpmyadmin.net/>.
*/
Advertencia
Don’t use the controluser “pma” if it does not yet exist and don’t use “pmapass” as password.
Example for signon authentication¶
This example uses examples/signon.php
to demonstrate usage of Método de autenticación «signon»:
<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'signon';
$cfg['Servers'][$i]['SignonSession'] = 'SignonSession';
$cfg['Servers'][$i]['SignonURL'] = 'examples/signon.php';
Example for IP address limited autologin¶
If you want to automatically login when accessing phpMyAdmin locally while asking for a password when accessing remotely, you can achieve it using following snippet:
if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') {
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
$cfg['Servers'][$i]['auth_type'] = 'cookie';
}
Nota
Filtering based on IP addresses isn’t reliable over the internet, use it only for local address.
Example for using multiple MySQL servers¶
You can configure any number of servers using $cfg['Servers']
,
following example shows two of them:
<?php
// The string is a hexadecimal representation of a 32-bytes long string of random bytes.
$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');
$i = 0;
$i++; // server 1 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'no1';
$cfg['Servers'][$i]['host'] = 'localhost';
// more options for #1 ...
$i++; // server 2 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'no2';
$cfg['Servers'][$i]['host'] = 'remote.host.addr';//or ip:'10.9.8.1'
// this server must allow remote clients, e.g., host 10.9.8.%
// not only in mysql.host but also in the startup configuration
// more options for #2 ...
// end of server sections
$cfg['ServerDefault'] = 0; // to choose the server on startup
// further general options ...
Google Cloud SQL with SSL¶
To connect to Google Could SQL, you currently need to disable certificate verification. This is caused by the certificate being issued for CN matching your instance name, but you connect to an IP address and PHP tries to match these two. With verification you end up with error message like:
Peer certificate CN=`api-project-851612429544:pmatest' did not match expected CN=`8.8.8.8'
Advertencia
With disabled verification your traffic is encrypted, but you’re open to man in the middle attacks.
To connect phpMyAdmin to Google Cloud SQL using SSL download the client and server certificates and tell phpMyAdmin to use them:
// IP address of your instance
$cfg['Servers'][$i]['host'] = '8.8.8.8';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// Client secret key
$cfg['Servers'][$i]['ssl_key'] = '../client-key.pem';
// Client certificate
$cfg['Servers'][$i]['ssl_cert'] = '../client-cert.pem';
// Server certification authority
$cfg['Servers'][$i]['ssl_ca'] = '../server-ca.pem';
// Disable SSL verification (see above note)
$cfg['Servers'][$i]['ssl_verify'] = false;
Amazon RDS Aurora with SSL¶
To connect phpMyAdmin to an Amazon RDS Aurora MySQL database instance using SSL, download the CA server certificate and tell phpMyAdmin to use it:
// Address of your instance
$cfg['Servers'][$i]['host'] = 'replace-me-cluster-name.cluster-replace-me-id.replace-me-region.rds.amazonaws.com';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// You need to have the region CA file and the authority CA file (2019 edition CA for example) in the PEM bundle for it to work
$cfg['Servers'][$i]['ssl_ca'] = '../rds-combined-ca-bundle.pem';
// Enable SSL verification
$cfg['Servers'][$i]['ssl_verify'] = true;
Ver también
Using SSL for connection to database server,
$cfg['Servers'][$i]['ssl']
,
$cfg['Servers'][$i]['ssl_ca']
,
$cfg['Servers'][$i]['ssl_verify']
Ver también
- Current RDS CA bundle for all regions https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
- The RDS CA (2019 edition) for the region eu-west-3 without the parent CA https://s3.amazonaws.com/rds-downloads/rds-ca-2019-eu-west-3.pem
- List of available Amazon RDS CA files
- Amazon MySQL Aurora security guide
- Amazon certificates bundles per region
reCaptcha using hCaptcha¶
$cfg['CaptchaApi'] = 'https://www.hcaptcha.com/1/api.js';
$cfg['CaptchaCsp'] = 'https://hcaptcha.com https://*.hcaptcha.com';
$cfg['CaptchaRequestParam'] = 'h-captcha';
$cfg['CaptchaResponseParam'] = 'h-captcha-response';
$cfg['CaptchaSiteVerifyURL'] = 'https://hcaptcha.com/siteverify';
// This is the secret key from hCaptcha dashboard
$cfg['CaptchaLoginPrivateKey'] = '0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// This is the site key from hCaptcha dashboard
$cfg['CaptchaLoginPublicKey'] = 'xxx-xxx-xxx-xxx-xxxx';
Ver también
Ver también
reCaptcha using Turnstile¶
$cfg['CaptchaMethod'] = 'checkbox';
$cfg['CaptchaApi'] = 'https://challenges.cloudflare.com/turnstile/v0/api.js';
$cfg['CaptchaCsp'] = 'https://challenges.cloudflare.com https://static.cloudflareinsights.com';
$cfg['CaptchaRequestParam'] = 'cf-turnstile';
$cfg['CaptchaResponseParam'] = 'cf-turnstile-response';
$cfg['CaptchaLoginPublicKey'] = '0xxxxxxxxxxxxxxxxxxxxxx';
$cfg['CaptchaLoginPrivateKey'] = '0x4AAAAAAAA_xx_xxxxxxxxxxxxxxxxxxxx';
$cfg['CaptchaSiteVerifyURL'] = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';
Ver también
Ver también
reCaptcha using Google reCaptcha v2/v3¶
$cfg['CaptchaLoginPublicKey'] = 'xxxxxxxxxxxxxxxx-xxxxxxxxxxxx';
$cfg['CaptchaLoginPrivateKey'] = 'xxxxxxxxx-xxxxxxxxxxxxxx';
// Remove it if you dot not want the checkbox mode
$cfg['CaptchaMethod'] = 'checkbox';
Ver también
Ver también
User Guide¶
Configuring phpMyAdmin¶
There are many configuration settings that can be used to customize the interface. Those settings are described in Configuración. There are several layers of the configuration.
The global settings can be configured in config.inc.php
as described in
Configuración. This is only way to configure connections to databases and other
system wide settings.
On top of this there are user settings which can be persistently stored in Almacenamiento de configuración de phpMyAdmin, possibly automatically configured through Sin configuración. If the Almacenamiento de configuración de phpMyAdmin are not configured, the settings are temporarily stored in the session data; these are valid only until you logout.
You can also save the user configuration for further use, either download them as a file or to the browser local storage. You can find both those options in the Settings tab. The settings stored in browser local storage will be automatically offered for loading upon your login to phpMyAdmin.
Autenticación de dos factores¶
Nuevo en la versión 4.8.0.
Since phpMyAdmin 4.8.0 you can configure two-factor authentication to be used when logging in. To use this, you first need to configure the Almacenamiento de configuración de phpMyAdmin. Once this is done, every user can opt-in for the second authentication factor in the Settings.
When running phpMyAdmin from the Git source repository, the dependencies must be installed manually; the typical way of doing so is with the command:
composer require pragmarx/google2fa-qrcode bacon/bacon-qr-code
Or when using a hardware security key with FIDO U2F:
composer require code-lts/u2f-php-server
Solicitud de autenticación (2FA)¶
Using an application for authentication is a quite common approach based on HOTP and TOTP. It is based on transmitting a private key from phpMyAdmin to the authentication application and the application is then able to generate one time codes based on this key. The easiest way to enter the key in to the application from phpMyAdmin is through scanning a QR code.
There are dozens of applications available for mobile phones to implement these standards, the most widely used include:
Clave de seguridad de hardware (FIDO U2F)¶
Using hardware tokens is considered to be more secure than a software based solution. phpMyAdmin supports FIDO U2F tokens.
There are several manufacturers of these tokens, for example:
Autenticación simple de dos factores¶
This authentication is included for testing and demonstration purposes only as it really does not provide two-factor authentication, it just asks the user to confirm login by clicking on the button.
It should not be used in the production and is disabled unless
$cfg['DBG']['simple2fa']
is set.
Transformaciones¶
Nota
You need to have configured the Almacenamiento de configuración de phpMyAdmin to use the transformations feature.
Introducción¶
To enable transformations, you have to set up the column_info
table and the proper directives. Please see the Configuración on how to do so.
phpMyAdmin has two different types of transformations: browser display transformations, which affect only how the data is shown when browsing through phpMyAdmin; and input transformations, which affect a value prior to being inserted through phpMyAdmin. You can apply different transformations to the contents of each column. Each transformation has options to define how it will affect the stored data.
Say you have a column filename
which contains a filename. Normally
you would see in phpMyAdmin only this filename. Using display transformations
you can transform that filename into a HTML link, so you can click
inside of the phpMyAdmin structure on the column’s link and will see
the file displayed in a new browser window. Using transformation
options you can also specify strings to append/prepend to a string or
the format you want the output stored in.
For a general overview of all available transformations and their
options, you can either go to the Change
link for an existing column
or from the dialog to create a new column, in either case there is a link
on that column structure page for «Browser display transformation» and
«Input transformation» which will show more information about each
transformation that is available on your system.
For a tutorial on how to effectively use transformations, see our Link section on the official phpMyAdmin homepage.
Utilización¶
Go to the table structure page (reached by clicking on the “Structure” link for a table). There click on «Change» (or the change icon) and there you will see the five transformation–related fields at the end of the line. They are called “Media type”, “Browser transformation” and “Transformation options”.
- The field “Media type” is a drop-down field. Select the Media type that corresponds to the column’s contents. Please note that many transformations are inactive until a Media type is selected.
- The field “Browser display transformation” is a drop-down field. You can choose from a hopefully growing amount of pre-defined transformations. See below for information on how to build your own transformation. There are global transformations and mimetype-bound transformations. Global transformations can be used for any mimetype. They will take the mimetype, if necessary, into regard. Mimetype-bound transformations usually only operate on a certain mimetype. There are transformations which operate on the main mimetype (like “image”), which will most likely take the subtype into regard, and those who only operate on a specific subtype (like “image/jpeg”). You can use transformations on mimetypes for which the function was not defined for. There is no security check for you selected the right transformation, so take care of what the output will be like.
- The field “Browser display transformation options” is a free-type textfield. You have
to enter transform-function specific options here. Usually the
transforms can operate with default options, but it is generally a
good idea to look up the overview to see which options are necessary.
Much like the ENUM/SET-Fields, you have to split up several options
using the format “a”,”b”,”c”,…(NOTE THE MISSING BLANKS). This is
because internally the options will be parsed as an array, leaving the
first value the first element in the array, and so forth. If you want
to specify a MIME character set you can define it in the
transformation_options. You have to put that outside of the pre-
defined options of the specific mime-transform, as the last value of
the set. Use the format «”; charset=XXX”». If you use a transform, for
which you can specify 2 options and you want to append a character
set, enter «“first parameter”,”second parameter”,”charset=us-ascii”».
You can, however use the defaults for the parameters: «””,””,”charset
=us-ascii”». The default options can be configured using
$cfg['DefaultTransformations']
. - “Input transformation” is another drop-down menu that corresponds exactly with the instructions above for «Browser display transformation» except these these affect the data before insertion in to the database. These are most commonly used to either provide a specialized editor (for example, using the phpMyAdmin SQL editor interface) or selector (such as for uploading an image). It’s also possible to manipulate the data such as converting an IPv4 address to binary or parsing it through a regular expression.
- Finally, “Input transformation options” is the equivalent of the «Browser display transformation options» section above and is where optional and required parameters are entered.
Estructura de archivos¶
All specific transformations for mimetypes are defined through class
files in the directory src/Plugins/Transformations/
. Each of
them extends a certain transformation abstract class declared in
src/Plugins/Transformations/Abs
.
They are stored in files to ease customization and to allow easy adding of new or custom transformations.
Because the user cannot enter their own mimetypes, it is kept certain that the transformations will always work. It makes no sense to apply a transformation to a mimetype the transform-function doesn’t know to handle.
There is a file called src/Plugins/Transformations.php
that provides some
basic functions which can be included by any other transform function.
The file name convention is [Mimetype]_[Subtype]_[Transformation
Name].php
, while the abstract class that it extends has the
name [Transformation Name]TransformationsPlugin
. All of the
methods that have to be implemented by a transformations plug-in are:
- getMIMEType() y getMIMESubtype() en la clase principal;
- getName(), getInfo() y applyTransformation() en la clase abstracta que extiende.
Los métodos getMIMEType(), getMIMESubtype() y getName() devuelven el nombre del tipo MIME, del sub-tipo MIME y de la transformación respectivamente. getInfo() devuelve la descripción de la transformación y las opciones que puede recibir y applyTransformation() es el método que hace el trabajo real del plugin de transformación.
Please see the src/Plugins/Transformations/TEMPLATE
and
src/Plugins/Transformations/TEMPLATE_ABSTRACT
files for adding
your own transformation plug-in. You can also generate a new
transformation plug-in (with or without the abstract transformation
class), by using
scripts/transformations_generator_plugin.sh
or
scripts/transformations_generator_main_class.sh
.
El método applyTransformation() siempre recibirá tres variables:
- $buffer - Contiene el texto de la columna. Este es el texto que se desea transformar.
- $options - Contiene un array con todas las opciones de la función de transformación provistas por el usuario.
- $meta - Contiene un objeto con información sobre la columna. Los datos son obtenidos de la salida de la función mysql_fetch_field(). Esto significa que todas las propiedades de objeto descriptas en la página del manual están disponibles en esta variable y pueden ser utilizadas para transformar una columna según sus propiedades unsigned/zerofill/not_null/…. La variable
$meta->mimetype
contiene el Media type original de la columna (por ejemplo, «text/plain», «image/jpeg», etc.)
Favoritos¶
Nota
You need to have configured the Almacenamiento de configuración de phpMyAdmin for using bookmarks feature.
Storing bookmarks¶
Any query that is executed can be marked as a bookmark on the page where the results are displayed. You will find a button labeled Bookmark this query just at the end of the page. As soon as you have stored a bookmark, that query is linked to the database. You can now access a bookmark dropdown on each page where the query box appears on for that database.
Variables inside bookmarks¶
Inside a query, you can also add placeholders for variables.
This is done by inserting into the query SQL comments between /*
and
*/
. The special string [VARIABLE{variable-number}]
is used inside the comments.
Be aware that the whole query minus the SQL comments must be
valid by itself, otherwise you won’t be able to store it as a bookmark.
Also, note that the text “VARIABLE” is case-sensitive.
Cuando ejecuta el favorito, todo lo que introduzca en la caja de entrada de variables en la página de la consulta reemplazará las cadenas /*[VARIABLE{variable-number}]*/
en su consulta almacenada.
También recuerde que todo lo que se encuentre dentro de la cadena /*[VARIABLE{variable-number}]*/
para su consulta se mantendrá como está pero se quitarán los caracteres /**/
. Por lo que puede utilizar:
/*, [VARIABLE1] AS myname */
que será expandido a
, VARIABLE1 as myname
en su consulta, donde VARIABLE1 es la cadena introducida en la caja de texto Variable 1.
A more complex example, say you have stored this query:
SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE '%[VARIABLE1]%' */
If you wish to enter «phpMyAdmin» as the variable for the stored query, the full query will be:
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'
NOTE LA FALTA DE ESPACIOS dentro de /**/
. Cualquier espacio agregado allí será luego también agregado como espacio en la consulta y podría llevar a resultados inesperados, especialmente al utilizar la expansión de variables dentro de una expresión «LIKE “”».
Browsing a table using a bookmark¶
When a bookmark has the same name as the table, it will be used as the query when browsing this table.
User management¶
User management is the process of controlling which users are allowed to connect to the MySQL server and what permissions they have on each database. phpMyAdmin does not handle user management, rather it passes the username and password on to MySQL, which then determines whether a user is permitted to perform a particular action. Within phpMyAdmin, administrators have full control over creating users, viewing and editing privileges for existing users, and removing users.
Within phpMyAdmin, user management is controlled via the User accounts tab from the main page. Users can be created, edited, and removed.
Creating a new user¶
To create a new user, click the Add user account link near the bottom of the User accounts page (you must be a «superuser», e.g., user «root»). Use the textboxes and drop-downs to configure the user to your particular needs. You can then select whether to create a database for that user and grant specific global privileges. Once you’ve created the user (by clicking Go), you can define that user’s permissions on a specific database (don’t grant global privileges in that case). In general, users do not need any global privileges (other than USAGE), only permissions for their specific database.
Editing an existing user¶
To edit an existing user, simply click the pencil icon to the right of that user in the User accounts page. You can then edit their global- and database-specific privileges, change their password, or even copy those privileges to a new user.
Deleting a user¶
From the User accounts page, check the checkbox for the user you wish to remove, select whether or not to also remove any databases of the same name (if they exist), and click Go.
Assigning privileges to user for a specific database¶
Users are assigned to databases by editing the user record (from the User accounts link on the home page). If you are creating a user specifically for a given table you will have to create the user first (with no global privileges) and then go back and edit that user to add the table and privileges for the individual table.
Relaciones¶
phpMyAdmin allows relationships (similar to foreign keys) using MySQL-native (InnoDB) methods when available and falling back on special phpMyAdmin-only features when needed. There are two ways of editing these relations, with the relation view and the drag-and-drop designer – both of which are explained on this page.
Nota
You need to have configured the Almacenamiento de configuración de phpMyAdmin for using phpMyAdmin only relations.
Technical info¶
Currently the only MySQL table type that natively supports relationships is InnoDB. When using an InnoDB table, phpMyAdmin will create real InnoDB relations which will be enforced by MySQL no matter which application accesses the database. In the case of any other table type, phpMyAdmin enforces the relations internally and those relations are not applied to any other application.
Vista de relaciones¶
In order to get it working, you first have to properly create the [[pmadb|pmadb]]. Once that is setup, select a table’s «Structure» page. Below the table definition, a link called «Relation view» is shown. If you click that link, a page will be shown that offers you to create a link to another table for any (most) fields. Only PRIMARY KEYS are shown there, so if the field you are referring to is not shown, you most likely are doing something wrong. The drop-down at the bottom is the field which will be used as the name for a record.
Relation view example¶


Let’s say you have categories and links and one category can contain several links. Your table structure would be something like this:
- category.category_id (must be unique)
- category.name
- link.link_id
- link.category_id
- link.uri.
Open the relation view (below the table structure) page for the link table and for category_id field, you select category.category_id as master record.
If you now browse the link table, the category_id field will be a clickable hyperlink to the proper category record. But all you see is just the category_id, not the name of the category.

To fix this, open the relation view of the category table and in the drop down at the bottom, select «name». If you now browse the link table again and hover the mouse over the category_id hyperlink, the value from the related category will be shown as tooltip.

Diseñador¶
The Designer feature is a graphical way of creating, editing, and displaying phpMyAdmin relations. These relations are compatible with those created in phpMyAdmin’s relation view.
To use this feature, you need a properly configured Almacenamiento de configuración de phpMyAdmin and
must have the $cfg['Servers'][$i]['table_coords']
configured.
To use the designer, select a database’s structure page, then look for the Designer tab.
To export the view into PDF, you have to create PDF pages first. The Designer creates the layout, how the tables shall be displayed. To finally export the view, you have to create this with a PDF page and select your layout, which you have created with the designer.
Gráficos¶
Nuevo en la versión 3.4.0.
Since phpMyAdmin version 3.4.0, you can easily generate charts from a SQL query by clicking the «Display chart» link in the «Query results operations» area.

A window layer «Display chart» is shown in which you can customize the chart with the following options.
- Chart type: Allows you to choose the type of chart. Supported types are bar charts, column charts, line charts, spline charts, area charts, pie charts and timeline charts (only the chart types applicable for current series selection are offered).
- X-axis: Allows to choose the field for the main axis.
- Series: Allows to choose series for the chart. You can choose multiple series.
- Title: Allows specifying a title for the chart which is displayed above the chart.
- X-axis and Y-axis labels: Allows specifying labels for axes.
- Start row and a number of rows: Allows generating charts only for a specified number of rows of the results set.

Examples¶
Pie chart¶
Query results for a simple pie chart can be generated with:
SELECT 'Food' AS 'expense',
1250 AS 'amount' UNION
SELECT 'Accommodation', 500 UNION
SELECT 'Travel', 720 UNION
SELECT 'Misc', 220
And the result of this query is:
expense | amount |
---|---|
Food | 1250 |
Accommodation | 500 |
Travel | 720 |
Misc | 220 |
Choosing expense as the X-axis and amount in series:

Bar and column chart¶
Both bar charts and column chats support stacking. Upon selecting one of these types a checkbox is displayed to select stacking.
Query results for a simple bar or column chart can be generated with:
SELECT
'ACADEMY DINOSAUR' AS 'title',
0.99 AS 'rental_rate',
20.99 AS 'replacement_cost' UNION
SELECT 'ACE GOLDFINGER', 4.99, 12.99 UNION
SELECT 'ADAPTATION HOLES', 2.99, 18.99 UNION
SELECT 'AFFAIR PREJUDICE', 2.99, 26.99 UNION
SELECT 'AFRICAN EGG', 2.99, 22.99
And the result of this query is:
title | rental_rate | replacement_cost |
---|---|---|
ACADEMY DINOSAUR | 0.99 | 20.99 |
ACE GOLDFINGER | 4.99 | 12.99 |
ADAPTATION HOLES | 2.99 | 18.99 |
AFFAIR PREJUDICE | 2.99 | 26.99 |
AFRICAN EGG | 2.99 | 22.99 |
Choosing title as the X-axis and rental_rate and replacement_cost as series:

Scatter chart¶
Scatter charts are useful in identifying the movement of one or more variable(s) compared to another variable.
Using the same data set from bar and column charts section and choosing replacement_cost as the X-axis and rental_rate in series:

Line, spline and timeline charts¶
These charts can be used to illustrate trends in underlying data. Spline charts draw smooth lines while timeline charts draw X-axis taking the distances between the dates/time into consideration.
Query results for a simple line, spline or timeline chart can be generated with:
SELECT
DATE('2006-01-08') AS 'date',
2056 AS 'revenue',
1378 AS 'cost' UNION
SELECT DATE('2006-01-09'), 1898, 2301 UNION
SELECT DATE('2006-01-15'), 1560, 600 UNION
SELECT DATE('2006-01-17'), 3457, 1565
And the result of this query is:
Fecha | ingresos | costos |
---|---|---|
2016-01-08 | 2056 | 1378 |
2006-01-09 | 1898 | 2301 |
2006-01-15 | 1560 | 600 |
2006-01-17 | 3457 | 1565 |



Import and export¶
Importar¶
To import data, go to the «Import» tab in phpMyAdmin. To import data into a specific database or table, open the database or table before going to the «Import» tab.
In addition to the standard Import and Export tab, you can also import an SQL file directly by dragging and dropping it from your local file manager to the phpMyAdmin interface in your web browser.
If you are having troubles importing big files, please consult 1.16 No puedo subir archivos de volcado grandes (problemas de memoria, HTTP o tiempos de espera agotados)..
You can import using following methods:
Form based upload
Can be used with any supported format, also (b|g)zipped files, e.g., mydump.sql.gz .
Form based SQL Query
Can be used with valid SQL dumps.
Using upload directory
You can specify an upload directory on your web server where phpMyAdmin is installed, after uploading your file into this directory you can select this file in the import dialog of phpMyAdmin, see$cfg['UploadDir']
.
phpMyAdmin can import from several various commonly used formats.
CSV¶
Comma separated values format which is often used by spreadsheets or various other programs for export/import.
Nota
When importing data into a table from a CSV file where the table has an “auto_increment” field, make the “auto_increment” value for each record in the CSV field to be “0” (zero). This allows the “auto_increment” field to populate correctly.
It is now possible to import a CSV file at the server or database level. Instead of having to create a table to import the CSV file into, a best-fit structure will be determined for you and the data imported into it, instead. All other features, requirements, and limitations are as before.
CSV usando LOAD DATA¶
Similar to CSV, only using the internal MySQL parser and not the phpMyAdmin one.
Archivo de forma ESRI¶
The ESRI shapefile or simply a shapefile is a popular geospatial vector data format for geographic information systems software. It is developed and regulated by Esri as a (mostly) open specification for data interoperability among Esri and other software products.
MediaWiki¶
MediaWiki files, which can be exported by phpMyAdmin (version 4.0 or later), can now also be imported. This is the format used by Wikipedia to display tables.
Open Document Spreadsheet (ODS)¶
OpenDocument workbooks containing one or more spreadsheets can now be directly imported.
When importing an ODS spreadsheet, the spreadsheet must be named in a specific way in order to make the import as simple as possible.
Nombre de la tabla¶
During import, phpMyAdmin uses the sheet name as the table name; you should rename the sheet in your spreadsheet program in order to match your existing table name (or the table you wish to create, though this is less of a concern since you could quickly rename the new table from the Operations tab).
Nombre de las columnas¶
You should also make the first row of your spreadsheet a header with the names of the columns (this can be accomplished by inserting a new row at the top of your spreadsheet). When on the Import screen, select the checkbox for «The first line of the file contains the table column names;» this way your newly imported data will go to the proper columns.
Nota
Formulas and calculations will NOT be evaluated, rather, their value from the most recent save will be loaded. Please ensure that all values in the spreadsheet are as needed before importing it.
SQL¶
SQL can be used to make any manipulation on data, it is also useful for restoring backed up data.
XML¶
XML files exported by phpMyAdmin (version 3.3.0 or later) can now be imported. Structures (databases, tables, views, triggers, etc.) and/or data will be created depending on the contents of the file.
The supported xml schemas are not yet documented in this wiki.
Exportar¶
phpMyAdmin can export into text files (even compressed) on your local disk (or
a special the webserver $cfg['SaveDir']
folder) in various
commonly used formats:
CodeGen¶
NHibernate file format. Planned versions: Java, Hibernate, PHP PDO, JSON, etc. So the preliminary name is codegen.
CSV¶
Comma separated values format which is often used by spreadsheets or various other programs for export/import.
CSV for Microsoft Excel¶
This is just preconfigured version of CSV export which can be imported into most English versions of Microsoft Excel. Some localised versions (like «Danish») are expecting «;» instead of «,» as field separator.
Microsoft Word 2000¶
If you’re using Microsoft Word 2000 or newer (or compatible such as OpenOffice.org), you can use this export.
JSON¶
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write and it is easy for machines to parse and generate.
Distinto en la versión 4.7.0: The generated JSON structure has been changed in phpMyAdmin 4.7.0 to produce valid JSON data.
The generated JSON is list of objects with following attributes:
-
type
¶ Type of given object, can be one of:
header
- Export header containing comment and phpMyAdmin version.
database
- Start of a database marker, containing name of database.
table
- Table data export.
-
comment
¶ Optional textual comment.
Sample output:
[
{
"comment": "Export to JSON plugin for PHPMyAdmin",
"type": "header",
"version": "4.7.0-dev"
},
{
"name": "cars",
"type": "database"
},
{
"data": [
{
"car_id": "1",
"description": "Green Chrysler 300",
"make_id": "5",
"mileage": "113688",
"price": "13545.00",
"transmission": "automatic",
"yearmade": "2007"
}
],
"database": "cars",
"name": "cars",
"type": "table"
},
{
"data": [
{
"make": "Chrysler",
"make_id": "5"
}
],
"database": "cars",
"name": "makes",
"type": "table"
}
]
LaTeX¶
If you want to embed table data or structure in LaTeX, this is right choice for you.
LaTeX is a typesetting system that is very suitable for producing scientific and mathematical documents of high typographical quality. It is also suitable for producing all sorts of other documents, from simple letters to complete books. LaTeX uses TeX as its formatting engine. Learn more about TeX and LaTeX on the Comprehensive TeX Archive Network also see the short description od TeX.
The output needs to be embedded into a LaTeX document before it can be rendered, for example in following document:
\documentclass{article}
\title{phpMyAdmin SQL output}
\author{}
\usepackage{longtable,lscape}
\date{}
\setlength{\parindent}{0pt}
\usepackage[left=2cm,top=2cm,right=2cm,nohead,nofoot]{geometry}
\pdfpagewidth 210mm
\pdfpageheight 297mm
\begin{document}
\maketitle
% insert phpMyAdmin LaTeX Dump here
\end{document}
MediaWiki¶
Both tables and databases can be exported in the MediaWiki format, which is used by Wikipedia to display tables. It can export structure, data or both, including table names or headers.
Hoja de cálculo Open Document¶
Open standard for spreadsheet data, which is being widely adopted. Many recent spreadsheet programs, such as LibreOffice, OpenOffice, Microsoft Office or Google Docs can handle this format.
Texto Open Document¶
New standard for text data which is being widely adopted. Most recent word processors (such as LibreOffice, OpenOffice, Microsoft Word, AbiWord or KWord) can handle this.
PDF¶
For presentation purposes, non editable PDF might be best choice for you.
PHP Array¶
You can generate a php file which will declare a multidimensional array with the contents of the selected table or database.
SQL¶
Export in SQL can be used to restore your database, thus it is useful for backing up.
The option “Maximal length of created query” seems to be undocumented. But experiments has shown that it splits large extended INSERTS so each one is no bigger than the given number of bytes (or characters?). Thus when importing the file, for large tables you avoid the error «Got a packet bigger than “max_allowed_packet” bytes».
Data Options¶
Complete inserts adds the column names to the SQL dump. This parameter improves the readability and reliability of the dump. Adding the column names increases the size of the dump, but when combined with Extended inserts it’s negligible.
Extended inserts combines multiple rows of data into a single INSERT query. This will significantly decrease filesize for large SQL dumps, increases the INSERT speed when imported, and is generally recommended.
Texy!¶
Texy! markup format. You can see example on Texy! demo.
XML¶
Easily parsable export for use with custom scripts.
Distinto en la versión 3.3.0: The XML schema used has changed as of version 3.3.0
YAML¶
YAML is a data serialization format which is both human readable and computationally powerful ( <https://yaml.org> ).
Custom Themes¶
phpMyAdmin comes with support for third party themes. You can download additional themes from our website at <https://www.phpmyadmin.net/themes/>.
Configuración¶
Themes are configured with $cfg['ThemeManager']
and
$cfg['ThemeDefault']
. Under ./public/themes/
, you should not
delete the directory pmahomme
or its underlying structure, because this is
the system theme used by phpMyAdmin. pmahomme
contains all images and
styles, for backwards compatibility and for all themes that would not include
images or css-files. If $cfg['ThemeManager']
is enabled, you
can select your favorite theme on the main page. Your selected theme will be
stored in a cookie.
Creating custom theme¶
Para crear un tema:
- make a new subdirectory (for example «your_theme_name») under
./public/themes/
. - copie los archivos y directorios de
pmahomme
a «nombre_del_tema» - edite los archivos CSS en «nombre_del_tema/css»
- ubique las nuevas imágenes en «nombre_de_tema/img»
- edit
_variables.scss
in «your_theme_name/scss» - edit
theme.json
in «your_theme_name» to contain theme metadata (see below) - cree una captura de pantalla del tema y guárdelo como «nombre_del_tema/screen.png»
Theme metadata¶
Distinto en la versión 4.8.0: Before 4.8.0 the theme metadata was passed in the info.inc.php
file.
It has been replaced by theme.json
to allow easier parsing (without
need to handle PHP code) and to support additional features.
In theme directory there is file theme.json
which contains theme
metadata. Currently it consists of:
-
name
Display name of the theme.
This field is required.
-
version
Theme version, can be quite arbitrary and does not have to match phpMyAdmin version.
This field is required.
-
description
Theme description. this will be shown on the website.
This field is required.
-
author
Theme author name.
This field is required.
-
url
Link to theme author website. It’s good idea to have way for getting support there.
-
supports
Array of supported phpMyAdmin major versions.
This field is required.
For example, the definition for Original theme shipped with phpMyAdmin 4.8:
{
"name": "Original",
"version": "4.8",
"description": "Original phpMyAdmin theme",
"author": "phpMyAdmin developers",
"url": "https://www.phpmyadmin.net/",
"supports": ["4.8"]
}
Sharing images¶
Si no desea utilizar sus propios símbolos y botones, elimine el directorio «img» de «nombre_del_tema». phpMyAdmin utilizará los iconos y botones predeterminados (del tema de sistema pmahomme
).
Other sources of information¶
Printed Book¶
The definitive guide to using phpMyAdmin is the book Mastering phpMyAdmin for Effective MySQL Management by Marc Delisle. You can get information on that book and other officially endorsed books at the phpMyAdmin site.
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 archivophp.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.21 Estoy ejecutando la versión CGI de PHP sobre Unix y no puedo iniciar sesión utilizando autenticación por cookie.¶
En php.ini
, configure mysql.max_links
a un valor mayor a 1.
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.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.
- En el archivo
php.ini
, agregyecgi.rfc2616_headers = 0
- En la caja de diálogo
Web Site Properties -> File/Directory Security -> Anonymous Access
, active la opciónAnonymous access
y desactive todas las otras si están activas (es decir, desactiveBasic authentication
,Integrated Windows authentication
yDigest
si están habilitadas). Pulse enOK
. - En
Custom Errors
, seleccione el rango desde401;1
hasta401;5
y pulse en el botónSet to Default
.
Ver también
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.37 Estoy ejecutando phpMyAdmin en un grupo de máquinas diferentes y la encriptación de contraseña en la autenticación por cookie no funciona.¶
If your cluster consist of different architectures, PHP code used for encryption/decryption won’t work correctly. This is caused by use of pack/unpack functions in code. Only solution is to use openssl extension which works fine in this case.
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:
- suhosin.request.max_vars should be increased (eg. 2048)
- suhosin.post.max_vars should be increased (eg. 2048)
- suhosin.request.max_array_index_length should be increased (eg. 256)
- suhosin.post.max_array_index_length should be increased (eg. 256)
- suhosin.request.max_totalname_length should be increased (eg. 8192)
- suhosin.post.max_totalname_length should be increased (eg. 8192)
- suhosin.get.max_value_length should be increased (eg. 1024)
- suhosin.sql.bailout_on_error needs to be disabled (the default)
- suhosin.log.* should not include SQL, otherwise you get big slowdown
- suhosin.sql.union must be disabled (which is the default).
- suhosin.sql.multiselect must be disabled (which is the default).
- suhosin.sql.comment must be disabled (which is the default).
To further improve security, we also recommend these modifications:
- suhosin.executor.include.max_traversal should be
enabled as a mitigation against local file inclusion attacks. We suggest
setting this to 2 as
../
is used with the ReCaptcha library. - suhosin.cookie.encrypt should be enabled.
- suhosin.executor.disable_emodifier should be enabled.
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.
Ver también
1.40 La autenticación por cookie no funciona al acceder a phpMyAdmin mediante un proxy reverso Apache.¶
Para poder utilizar autenticación por cookie Apache necesita saber que tiene que reescribir las cabeceras «set-cookie». Un ejemplo de la documentación de Apache 2.2:
ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com
ProxyPassReverseCookiePath / /mirror/foo/
Note: if the backend url looks like http://server/~user/phpmyadmin
, the
tilde (~) must be url encoded as %7E in the ProxyPassReverse* lines.
This is not specific to phpmyadmin, it’s just the behavior of Apache.
ProxyPass /mirror/foo/ http://backend.example.com/~user/phpmyadmin
ProxyPassReverse /mirror/foo/ http://backend.example.com/%7Euser/phpmyadmin
ProxyPassReverseCookiePath /%7Euser/phpmyadmin /mirror/foo
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.5 Cada vez que intento insertar o cambiar un registro o borrar una base de datos o tabla obtengo un error 404 (página no encontrada) o necesito iniciar sesión nuevamente con autenticación HTTP o por cookie. ¿Qué está mal?¶
Check your webserver setup if it correctly fills in either PHP_SELF or REQUEST_URI variables.
If you are running phpMyAdmin behind reverse proxy, please set the
$cfg['PmaAbsoluteUri']
directive in the phpMyAdmin
configuration file to match your setup.
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ónphp.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
directivesession.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.
Ver también
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
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.
Ver también
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.
Ver también
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 estarchmod 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.4 No puedo utilizar el modo de autenticación por cookie porque Internet Explorer nunca guarda las cookies.¶
MS Internet Explorer parece ser realmente problemático con las cookies, al menos hasta la versión 6.
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 archivoconfig.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
oBLOB
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
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
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.
Ver 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?¶
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
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.
Ver también
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.
Información para desarrolladores¶
phpMyAdmin es código abierto así que estás invitado a contribuir. Muchas excelentes funcionalidades fueron escritas por otras personas y también puedes ayudar a hacer phpMyAdmin una herramienta útil.
Puedes consultar todas las posibilidades de contribuir en la sección correspondiente de nuestro sitio web.
Security policy¶
The phpMyAdmin developer team is putting lot of effort to make phpMyAdmin as secure as possible. But still web application like phpMyAdmin can be vulnerable to a number of attacks and new ways to exploit are still being explored.
For every reported vulnerability we issue a phpMyAdmin Security Announcement (PMASA) and it get’s assigned a CVE ID as well. We might group similar vulnerabilities to one PMASA (eg. multiple XSS vulnerabilities can be announced under one PMASA).
If you think you’ve found a vulnerability, please see Reporting security issues.
Typical vulnerabilities¶
In this section, we will describe typical vulnerabilities, which can appear in our code base. This list is by no means complete, it is intended to show typical attack surface.
Cross-site scripting (XSS)¶
When phpMyAdmin shows a piece of user data, e.g. something inside a user’s database, all html special chars have to be escaped. When this escaping is missing somewhere a malicious user might fill a database with specially crafted content to trick an other user of that database into executing something. This could for example be a piece of JavaScript code that would do any number of nasty things.
phpMyAdmin tries to escape all userdata before it is rendered into html for the browser.
Ver también
Cross-site request forgery (CSRF)¶
An attacker would trick a phpMyAdmin user into clicking on a link to provoke some action in phpMyAdmin. This link could either be sent via email or some random website. If successful this the attacker would be able to perform some action with the users privileges.
To mitigate this phpMyAdmin requires a token to be sent on sensitive requests. The idea is that an attacker does not poses the currently valid token to include in the presented link.
The token is regenerated for every login, so it’s generally valid only for limited time, what makes it harder for attacker to obtain valid one.
Ver también
SQL injection¶
As the whole purpose of phpMyAdmin is to preform sql queries, this is not our first concern. SQL injection is sensitive to us though when it concerns the mysql control connection. This controlconnection can have additional privileges which the logged in user does not poses. E.g. access the Almacenamiento de configuración de phpMyAdmin.
User data that is included in (administrative) queries should always be run through DatabaseInterface::quoteString().
Ver también
Brute force attack¶
phpMyAdmin on its own does not rate limit authentication attempts in any way. This is caused by need to work in stateless environment, where there is no way to protect against such kind of things.
To mitigate this, you can use Captcha or utilize external tools such as fail2ban, this is more details described in Asegurando su instalación de phpMyAdmin.
Ver también
Reporting security issues¶
Should you find a security issue in the phpMyAdmin programming code, please
contact the phpMyAdmin security team in
advance before publishing it. This way we can prepare a fix and release the fix together with your
announcement. You will be also given credit in our security announcement.
You can optionally encrypt your report with PGP key ID
DA68AB39218AB947
with following fingerprint:
pub 4096R/DA68AB39218AB947 2016-08-02
Key fingerprint = 5BAD 38CF B980 50B9 4BD7 FB5B DA68 AB39 218A B947
uid phpMyAdmin Security Team <security@phpmyadmin.net>
sub 4096R/5E4176FB497A31F7 2016-08-02
The key can be either obtained from the keyserver or is available in phpMyAdmin keyring available on our download server or using Keybase.
Should you have suggestion on improving phpMyAdmin to make it more secure, please report that to our issue tracker. Existing improvement suggestions can be found by hardening label.
Distribución y empaquetado de phpMyAdmin¶
This document is intended to give pieces of advice to people who want to redistribute phpMyAdmin inside other software packages such as Linux distribution or some all in one package including web server and MySQL server.
Generally, you can customize some basic aspects (paths to some files and
behavior) in libraries/vendor_config.php
.
For example, if you want setup script to generate a config file in var, change
SETUP_CONFIG_FILE
to /var/lib/phpmyadmin/config.inc.php
and you
will also probably want to skip directory writable check, so set
SETUP_DIR_WRITABLE
to false.
Bibliotecas externas¶
phpMyAdmin includes several external libraries, you might want to replace them with system ones if they are available, but please note that you should test whether the version you provide is compatible with the one we ship.
Lista de bibliotecas externas conocidas actualmente:
- js/vendor
- jQuery js framework libraries and various js libraries.
- vendor/
- The download kit includes various Composer packages as dependencies.
Specific files LICENSES¶
phpMyAdmin distributed themes contain some content that is under licenses.
- The icons of the Original and pmahomme themes are from the Silk Icons.
- Some icons of the Metro theme are from the Silk Icons.
- themes/*/img/b_rename.svg Is a Icons8, icon from the Android L Icon Pack Collection. The icon rename.
- themes/metro/img/user.svg Is a IcoMoon the user
CC BY 4.0 or GPL
Licenses for vendors¶
- Silk Icons are under the CC BY 2.5 or CC BY 3.0 licenses.
- rename from Icons8 is under the «public domain» (CC0 1.0) license.
- IcoMoon Free is under «CC BY 4.0 or GPL».
Derechos de autor¶
Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
Copyright (C) 2001-2018 Marc Delisle <marc_at_infomarc.info>
Olivier Müller <om_at_omnis.ch>
Robin Johnson <robbat2_at_users.sourceforge.net>
Alexander M. Turek <me_at_derrabus.de>
Michal Čihař <michal_at_cihar.com>
Garvin Hicking <me_at_supergarv.de>
Michael Keck <mkkeck_at_users.sourceforge.net>
Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
[check credits for more details]
Este programa es software libre: usted puede redistribuirlo y/o modificarlo conforme a los términos de la Licencia Pública General de GNU versión 2 publicada por la Fundación para el Software Libre.
Este programa se distribuye con el deseo de que le resulte útil, pero SIN GARANTÍAS DE NINGÚN TIPO; ni siquiera con las garantías implícitas de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO DETERMINADO. Para más información, consulte la Licencia Pública General de GNU.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Licencias de terceros¶
phpMyAdmin includes several third-party libraries which come under their respective licenses.
jQuery’s license, which is where we got the files under js/vendor/jquery/ is (MIT|GPL), a copy of each license is available in this repository (GPL is available as LICENSE, MIT as js/vendor/jquery/MIT-LICENSE.txt).
The download kit additionally includes several composer libraries. See their licensing information in the vendor/ directory.
Créditos¶
Créditos en orden cronológico¶
- Tobias Ratschiller <tobias_at_ratschiller.com>
- creador del proyecto phpMyAdmin
- mantenedor desde 1998 al verano de 2000
- Marc Delisle <marc_at_infomarc.info>
- versión multi-idioma en Diciembre de 1998
- varias correcciones y mejoras
- primera versión del SQL (su mayor parte)
- mantenedor de 2001 al 2015
- Olivier Müller <om_at_omnis.ch>
- comenzó el proyecto SourceForge phpMyAdmin en Marzo de 2001
- sincronizó diferentes árboles CVS existentes con nuevas funcionalidades y errores corregidos
- mejoras multi-lenguajes, selección dinámica de idioma
- muchas correciones de errores y mejoras
- Loïc Chapeaux <lolo_at_phpheaven.net>
- Material JavaScript, DHTML y DOM reescrito y optimizado
- reescribió los scripts para que se adaptaran a los estándares de código PEAR y generaran código compatible con XHTML1.0 y CSS2
- mejoró el sistema de detección de idioma
- muchas correciones de errores y mejoras
- Robin Johnson <robbat2_at_users.sourceforge.net>
- Armel Fauveau <armel.fauveau_at_globalis-ms.com>
- funcionalidad de favoritos
- funcionalidad de volcados múltiples
- funcionalidad de volcado gzip
- funcionalidad de volcado zip
- Geert Lund <glund_at_silversoft.dk>
- varias correcciones
- moderador del antiguo foro de usuarios phpMyAdmin en phpwizard.net
- Korakot Chaovavanich <korakot_at_iname.com>
- funcionalidad «Insertar como una nueva fila»
- Pete Kelly <webmaster_at_trafficg.com>
- re-escribió y corrigió el código de volcado
- corrección de errores
- Steve Alberty <alberty_at_neptunlabs.de>
- re-escribió el código de volcado para PHP4
- estadísticas de tablas MySQL
- corrección de errores
- Benjamin Gandon <gandon_at_isia.cma.fr>
- principal autor de la versión 2.1.0.1
- corrección de errores
- Alexander M. Turek <me_at_derrabus.de>
- Compatibilidad MySQL 4.0 / 4.1 / 5.0
- interfaz abstracta de base de datos (PMA_DBI) compatible con MySQLi
- administración de privilegios
- exportación XML
- funcionalidades y correcciones de errores varias
- Actualizaciones al archivo de idioma alemán
- Mike Beck <mike.beck_at_web.de>
- joins automáticos en QBE
- enlaces de columnas en vista de impresión
- Vista de relaciones
- Michal Čihař <michal_at_cihar.com>
- funcionalidad de creación/visualización de índices mejorada
- funcionalidad para utilizar en HTML conjunto de caracteres distinto al de MySQL
- mejoras en la funcionalidad de exportación
- funcionalidades y correcciones de errores varias
- actualizaciones al archivo de idioma checo
- creó la versión actual del sitio de phpMyAdmin
- Christophe Gesché del «MySQL Form Generator for PHPMyAdmin» (https://sourceforge.net/projects/phpmysqlformgen/)
- sugirió el parche para la vista de impresión de múltiples tablas
- Garvin Hicking <me_at_supergarv.de>
- creó el parche para la visualización vertical de filas de una tabla
- creó la ventana de consultas basada en Javascript + histórico SQL
- mejoras a los comentarios de columnas/bases de datos
- transformaciones MIME para columnas
- utilización de alias de nombre personalizados para las bases de datos en el marco izquierdo
- visualización jerárquica/anidad de tablas
- scratchboard PDF para la distribución de relaciones PDF WYSIWYG
- nuevo conjunto de iconos
- visualización vertical de la página de propiedades de columna
- algunas correcciones de errores, funcionalidades, soporte y agregados al idioma alemán
- Yukihiro Kawada <kawada_at_den.fujifilm.co.jp>
- funcionalidad de conversión para codificación japonesa kanji
- Piotr Roszatycki <d3xter_at_users.sourceforge.net> y Dan Wilson
- modo de autenticación por cookie
- Axel Sander <n8falke_at_users.sourceforge.net>
- funcionalidad para enlaces de relaciones de tablas
- Maxime Delorme <delorme.maxime_at_free.fr>
- salida de esquema PDF, gracias también a Olivier Plathey por la biblioteca «FPDF» (revise <http://www.fpdf.org/>), a Steven Wittens por la biblioteca «UFPDF» y a Nicola Asuni por la biblioteca «TCPDF» (revise <https://tcpdf.org/>).
- Olof Edlund <olof.edlund_at_upright.se>
- servidor de validación SQL
- Ivan R. Lanin <ivanlanin_at_users.sourceforge.net>
- logo de phpMyAdmin (hast Junio de 2004)
- Mike Cochrane <mike_at_graftonhall.co.nz>
- biblioteca blowfish del proyecto Horde (eliminada en la versión 4.0)
- Marcel Tschopp <ne0x_at_users.sourceforge.net>
- soporte mysqli
- muchas correciones de errores y mejoras
- Nicola Asuni (Tecnick.com)
- biblioteca TCPDF (<https://tcpdf.org>)
- Michael Keck <mkkeck_at_users.sourceforge.net>
- rediseño para 2.6.0
- logo de phpMyAdmin con velero (Junio de 2004)
- Mathias Landhäußer
- Representación en conferencias
- Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
- mejoras a la interfaz
- varias correcciones de errores
- Ivan A Kirillov
- nuevo diseñador de relaciones
- Raj Kissu Rajandran (Google Summer of Code 2008)
- Soporte para flujos BLOB (eliminado en la versión 4.0)
- Piotr Przybylski (Google Summer of Code 2008, 2010 y 2011)
- mejoras al script de configuración
- preferencias de usuario
- Soporte Drizzle
- Derek Schaefer (Google Summer of Code 2009)
- mejoras al sistema de importación
- Alexander Rutkowski (Google Summer of Code 2009)
- mecanismo de seguimiento
- Zahra Naeem (Google Summer of Code 2009)
- Funcionalidad de sincronización (eliminada en la versión 4.0)
- Tomáš Srnka (Google Summer of Code 2009)
- soporte de replicación
- Muhammad Adnan (Google Summer of Code 2010)
- Exportación del esquema de relaciones a varios formatos
- Lori Lee (Google Summer of Code 2010)
- Mejoras a la interfaz de usuario
- Editor de ENUM/SET
- Interfaz simplificada para exportación/importación
- Ninad Pundalik (Google Summer of Code 2010)
- integración AJAX en la interfaz
- Martynas Mickevičius (Google Summer of Code 2010)
- Gráficos
- Barrie Leslie
- Soporte para flujos BLOB con la extensión PHP PBMS (eliminado en la versión 4.0)
- Ankit Gupta (Google Summer of Code 2010)
- Constructor visual de consultas
- Madhura Jayaratne (Google Summer of Code 2011)
- Compatibilidad OpenGIS
- Ammar Yasir (Google Summer of Code 2011)
- Búsqueda visual
- Aris Feryanto (Google Summer of Code 2011)
- Mejoras al modo de navegación
- Thilanka Kaushalya (Google Summer of Code 2011)
- Utilización de AJAX
- Tyron Madlener (Google Summer of Code 2011)
- Estadísticas y gráficos de consultas para la página de estado
- Zarubin Stas (Google Summer of Code 2011)
- Pruebas automáticas
- Rouslan Placella (Google Summer of Code 2011 y 2012)
- Mejor soporte para rutinas almacenadas («Stored Routines»), disparadores («Triggers») y eventos
- Actualizaciones a la traducción al Italiano
- Eliminación de marcos, nueva navegación
- Dieter Adriaenssens
- Varias correcciones de errores
- Actualizaciones a la traducción al Neerlandés
- Alex Marin (Google Summer of Code 2012)
- Nuevos plugins y sistema de propiedades
- Thilina Buddika Abeyrathna (Google Summer of Code 2012)
- Refactorizado
- Atul Pratap Singh (Google Summer of Code 2012)
- Refactorizado
- Chanaka Indrajith (Google Summer of Code 2012)
- Refactorizado
- Yasitha Pandithawatta (Google Summer of Code 2012)
- Pruebas automáticas
- Jim Wigginton (phpseclib.sourceforge.net)
- phpseclib
- Bin Zu (Google Summer of Code 2013)
- Refactorizado
- Supun Nakandala (Google Summer of Code 2013)
- Refactorizado
- Mohamed Ashraf (Google Summer of Code 2013)
- reporte de errores AJAX
- Adam Kang (Google Summer of Code 2013)
- Pruebas automáticas
- Ayush Chaudhary (Google Summer of Code 2013)
- Pruebas automáticas
- Kasun Chathuranga (Google Summer of Code 2013)
- Mejoras a la interfaz
- Hugues Peccatte
- Cargar/guardar consultas por ejemplo (favoritos de búsquedas de base de datos)
- Smita Kumari (Google Summer of Code 2014)
- Lista central de columnas
- Mejora de estructura de tablas (normalización)
- Ashutosh Dhundhara (Google Summer of Code 2014)
- Mejoras a la interfaz
- Dhananjay Nakrani (Google Summer of Code 2014)
- reporte de errores PHP
- Edward Cheng (Google Summer of Code 2014)
- Consola de consultas SQL
- Kankanamge Bimal Yashodha (Google Summer of Code 2014)
- Refactorización: integración de esquemas y diseñador
- Chirayu Chiripal (Google Summer of Code 2014)
- Manejadores personalizados para campos (transformaciones MIME basadas en entrada)
- Exportación con cambios de nombre de tabla/columna
- Dan Ungureanu (Google Summer of Code 2015)
- Nuevo parseador y analizador
- Nisarg Jhaveri (Google Summer of Code 2015)
- Ajustes de página relacionada
- Integración de depuración SQL en la Consola
- Otras mejoras de la interfaz
- Deven Bansod (Google Summer of Code 2015)
- Publicar vista usando CSS
- Otras mejoras de la interfaz y nuevas características
- Deven Bansod (Google Summer of Code 2017)
- Mejoras en el servidor de aviso de errores
- Pruebas con Selenium mejoradas
- Manish Bisht (Google Summer of Code 2017)
- Interfaz de usuario para dispositivos móviles
- Quitar código JavaScript en linea
- Otras mejoras de la interfaz
- Raghuram Vadapalli (Google Summer of Code 2017)
- Interfaz de consultas multi tablas
- Permite al diseñador trabajar con tablas de otras bases de datos
- Otras mejoras de la interfaz
- Maurício Meneghini Fauth
- Importantes mejoras y actualizaciones para el JavaScript core
- Funcionalidad de la librería Modernize para JavaScript
- Modernizar plantillas e introducir Twig
- William Desportes
- Mejoras del estilo de código basadas en PHPStand
- Mejora en links para documentación externa de MySQL y MariaDB
- Correcciones adicionales de errores
- Emanuel Bronshtein
- Seguridad integral de evaluaciones y sugerencias
- Lakshya Arora (Google Summer of Code 2018)
- Varias correcciones que incluyen:
- Integre las preferencias del usuario con el almacenamiento local
- Luego se expirada la sesión usar la interfaz de inicio de sesión
- Añadir soporte para VERIFICAR RESTRICCIONES
- y más!
- Varias correcciones que incluyen:
- Saksham Gupta (Google Summer of Code 2018)
- Herramienta para la generación automática de temas
- Leonardo Strozzi (Google Summer of Code 2018)
- Reestructuración de las plantillas Twing y otras mejoras en el código interno
- Piyush Vijay (Google Summer of Code 2018)
- Modernizar el código de JavaScript incluida en la presentación de Webpack, Babel y Yern, así como eslint y Jsdoc
Y también a todos los que siguen que contribuyeron cambios menores, mejoras, corrección de errores o soporte para nuevos idiomas desde la versión 2.1.0:
Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Péter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow, Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kläger, Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg, Andreas Pauley, Bernard M. Piller, Laurent Haas, «Sakamoto», Yuval Sarna, www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun, Peter Svec, Michael Tacelosky, Rachim Tamsjadi, Kositer Uros, Luís V., Martijn W. van der Lee, Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai, Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, «Manuzhai».
Traductores¶
Las siguientes personas contribuyeron con la traducción de phpMyAdmin:
Albano
- Arben Çokaj <acokaj_arroba_shkoder.net>
Árabe
- Ahmed Saleh Abd El-Raouf Ismae <a.saleh.ismael_arroba_gmail.com>
- Ahmed Saad <egbrave_arroba_hotmail.com>
- hassan mokhtari <persiste1_arroba_gmail.com>
Armenio
- Andrey Aleksanyants <aaleksanyants_arroba_yahoo.com>
Azerí (Azerbaiyán)
- Mircəlal <01youknowme_arroba_gmail.com>
- Huseyn <huseyn_esgerov_arroba_mail.ru>
- Sevdimali İsa <sevdimaliisayev_arroba_mail.ru>
- Jafar <sharifov_arroba_programmer.net>
Bielorruso
- Viktar Palstsiuk <vipals_arroba_gmail.com>
Búlgaro
- Boyan Kehayov <bkehayov_arroba_gmail.com>
- Valter Georgiev <blagynchy_arroba_gmail.com>
- Valentin Mladenov <hudsonvsm_arroba_gmail.com>
- P <plamen_mbx_arroba_yahoo.com>
- krasimir <vip_arroba_krasio-valia.com>
Catalán
- josep constanti <jconstanti_arroba_yahoo.es>
- Xavier Navarro <xvnavarro_arroba_gmail.com>
Chino (China)
- Vincent Lau <3092849_arroba_qq.com>
- Zheng Dan <clanboy_arroba_163.com>
- disorderman <disorderman_arroba_qq.com>
- Rex Lee <duguying2008_arroba_gmail.com>
- <fundawang_arroba_gmail.com>
- popcorner <memoword_arroba_163.com>
- Yizhou Qiang <qyz.yswy_arroba_hotmail.com>
- zz <tczzjin_arroba_gmail.com>
- Terry Weng <wengshiyu_arroba_gmail.com>
- whh <whhlcj_arroba_126.com>
Chino (Taiwán)
- Albert Song <albb0920_arroba_gmail.com>
- Chien Wei Lin <cwlin0416_arroba_gmail.com>
- Peter Dave Hello <xs910203_arroba_gmail.com>
Kölsch
- Purodha <publi_arroba_web.de>
Checo
- Aleš Hakl <ales_arroba_hakl.net>
- Dalibor Straka <dalibor.straka3_arroba_gmail.com>
- Martin Vidner <martin_arroba_vidner.net>
- Ondra Šimeček <ondrasek.simecek_arroba_gmail.com>
- Jan Palider <palider_arroba_seznam.cz>
- Petr Kateřiňák <petr.katerinak_arroba_gmail.com>
Danés
- Aputsiaĸ Niels Janussen <aj_arroba_isit.gl>
- Dennis Jakobsen <dennis.jakobsen_arroba_gmail.com>
- Jonas <jonas.den.smarte_arroba_gmail.com>
- Claus Svalekjaer <solo.mi.smtp.servidor_en_gmail.com>
Neerlandés
- Voogt <a.voogt_at_hccnet.nl>
- dingo trece <dingo13_at_gmail.com>
- Robin van der Vliet <info_at_robinvandervliet.nl>
- Dieter Adriaenssens <ruleant_arroba_users.sourceforge.net>
- Niko Strijbol <strijbol.niko_at_gmail.com>
Inglés (Reino Unido)
- Dries Verschuere <dries.verschuere_at_outlook.com>
- Francisco Rocha <j.francisco.o.rocha_at_zoho.com>
- Marc Delisle <marc_at_infomarc.info>
- Marek Tomaštík <tomastik.m_at_gmail.com>
Esperanto
- Eliovir <eliovir_at_gmail.com>
- Robin van der Vliet <info_at_robinvandervliet.nl>
Estonio
- Kristjan Räts <kristjanrats_at_gmail.com>
Finés (filandés)
- Juha Remes <jremes_at_outlook.com>
- Lari Oesch <lari_at_oesch.me>
Francés
- Marc Delisle <marc_at_infomarc.info>
Frisón
- Robin van der Vliet <info_at_robinvandervliet.nl>
Gallego
- Xosé Calvo <xosecalvo_at_gmail.com>
Alemán
- Julian Ladisch <github.com-t3if_at_ladisch.de>
- Jan Erik Zassenhaus <jan.zassenhaus_at_jgerman.de>
- Lasse Goericke <lasse_at_mydom.de>
- Matthias Bluthardt <matthias_at_bluthardt.org>
- Michael Koch <michael.koch_at_enough.de>
- Ann + J.M. <phpMyAdmin_at_ZweiSteinSoft.de>
- <pma_at_sebastianmendel.de>
- Phillip Rohmberger <rohmberger_at_hotmail.de>
- Hauke Henningsen <sqrt_at_entless.org>
Griego
- Παναγιώτης Παπάζογλου <papaz_p_at_yahoo.com>
Hebreo
- Moshe Harush <mmh15_at_windowslive.com>
- Yaron Shahrabani <sh.yaron_at_gmail.com>
- Eyal Visoker <visokereyal_at_gmail.com>
Hindi
- Atul Pratap Singh <atulpratapsingh05_at_gmail.com>
- Yogeshwar <charanyogeshwar_at_gmail.com>
- Deven Bansod <devenbansod.bits_at_gmail.com>
- Kushagra Pandey <kushagra4296_at_gmail.com>
- Nisarg Jhaveri <nisargjhaveri_at_gmail.com>
- Roohan Kazi <roohan_cena_at_yahoo.co.in>
- Yugal Pantola <yug.scorpio_at_gmail.com>
Húngaro
- Akos Eros <erosakos02_at_gmail.com>
- Dániel Tóth <leedermeister_at_gmail.com>
- Szász Attila <undernetangel_at_gmail.com>
- Balázs Úr <urbalazs_at_gmail.com>
Indonesio
- Deky Arifianto <Deky40_at_gmail.com>
- Andika Triwidada <andika_at_gmail.com>
- Dadan Setia <da2n_s_at_yahoo.co.id>
- Dadan Setia <dadan.setia_at_gmail.com>
- Yohanes Edwin <edwin_at_yohanesedwin.com>
- Fadhiil Rachman <fadhiilrachman_at_gmail.com>
- Benny <tarzq28_at_gmail.com>
- Tommy Surbakti <tommy_at_surbakti.net>
- Zufar Fathi Suhardi <zufar.bogor_at_gmail.com>
Interlingua
- Giovanni Sora <g.sora_at_tiscali.it>
Italiano
- Francesco Saverio Giacobazzi <francesco.giacobazzi_at_ferrania.it>
- Marco Pozzato <ironpotts_at_gmail.com>
- Stefano Martinelli <stefano.ste.martinelli_at_gmail.com>
Japonés
- k725 <alexalex.kobayashi_at_gmail.com>
- Hiroshi Chiyokawa <hiroshi.chiyokawa_at_gmail.com>
- Masahiko HISAKAWA <orzkun_at_ageage.jp>
- worldwideskier <worldwideskier_at_yahoo.co.jp>
Canarés
- Robin van der Vliet <info_at_robinvandervliet.nl>
- Shameem Ahmed A Mulla <shameem.sam_at_gmail.com>
Coreano
- Bumsoo Kim <bskim45_at_gmail.com>
- Kyeon Su Shin <cdac1234_at_gmail.com>
- Dongyoung Kim <dckyoung_at_gmail.com>
- Myung-han Yu <greatymh_at_gmail.com>
- JongDeok <human.zion_at_gmail.com>
- Yong Kim <kim_at_nhn.com>
- 이경준 <kyungjun2_at_gmail.com>
- Seongki Shin <skshin_at_gmail.com>
- Yoon Bum-Jong <virusyoon_at_gmail.com>
- Koo Youngmin <youngminz.kr_at_gmail.com>
Kurdish Sorani
- Alan Hilal <alan.hilal94_at_gmail.com>
- Aso Naderi <aso.naderi_at_gmail.com>
- muhammad <esy_vb_at_yahoo.com>
- Zrng Abdulla <zhyarabdulla94_at_gmail.com>
Letón
- Latvian TV <dnighttv_at_gmail.com>
- Edgars Neimanis <edgarsneims5092_at_inbox.lv>
- Ukko: <perkontevs_at_gmail.com>
Limburgués
- Robin van der Vliet <info_at_robinvandervliet.nl>
Lituano
- Vytautas Motuzas <v.motuzas_at_gmail.com>
Malayo
- Amir Hamzah <amir.overlord666_at_gmail.com>
- diprofinfiniti <anonynuine-999_at_yahoo.com>
Nepalés
- Nabin Ghimire: <nnabinn_at_hotmail.com>
Noruego Bokmål
- Børge Holm-Wennberg <borge947_at_gmail.com>
- Tor Stokkan <danorse_at_gmail.com>
- Espen Frøyshov <efroys_at_gmail.com>
- Kurt Eilertsen <kurt_at_kheds.com>
- Christoffer Haugom <ph3n1x.nobody_at_gmail.com>
- Sebastian <sebastian_at_sgundersen.com>
- Tomas <tomas_at_tomasruud.com>
Persa
- ashkan shirian <ashkan.shirian_at_gmail.com>
- HM <goodlinuxuser_at_chmail.ir>
Polaco
- Andrzej <andrzej_at_kynu.pl>
- Przemo <info_at_opsbielany.waw.pl>
- Krystian Biesaga <krystian4842_at_gmail.com>
- Maciej Gryniuk <maciejka45_at_gmail.com>
- Michał VonFlynee <vonflynee_at_gmail.com>
Portugués
- Alexandre Badalo <alexandre.badalo_at_sapo.pt>
- João Rodrigues <geral_at_jonilive.com>
- Pedro Ribeiro <p.m42.ribeiro_at_gmail.com>
- Sandro Amaral <sandro123iv_at_gmail.com>
Portugués (Brasil)
- Alex Rohleder <alexrohleder96_at_outlook.com>
- bruno mendax <brunomendax_at_gmail.com>
- Danilo GUia <danilo.eng_at_globomail.com>
- Douglas Rafael Morais Kollar <douglas.kollar_at_pg.df.gov.br>
- Douglas Eccker <douglaseccker_at_hotmail.com>
- Ed Jr <edjacobjunior_at_gmail.com>
- Guilherme Souza Silva <g.szsilva_at_gmail.com>
- Guilherme Seibt <gui_at_webseibt.net>
- Helder Santana <helder.bs.santana_at_gmail.com>
- Junior Zancan <jrzancan_at_hotmail.com>
- Luis <luis.eduardo.braschi_at_outlook.com>
- Marcos Algeri <malgeri_at_gmail.com>
- Marc Delisle <marc_at_infomarc.info>
- Renato Rodrigues de Lima Júnio <renatomdd_at_yahoo.com.br>
- Thiago Casotti <thiago.casotti_at_uol.com.br>
- Victor Laureano <victor.laureano_at_gmail.com>
- Vinícius Araújo <vinipitta_at_gmail.com>
- Washington Bruno Rodrigues Cav <washingtonbruno_at_msn.com>
- Yan Gabriel <yansilvagabriel_at_gmail.com>
Punjabi
- Robin van der Vliet <info_at_robinvandervliet.nl>
Rumano
- Alex <amihaita_at_yahoo.com>
- Costel Cocerhan <costa1988sv_at_gmail.com>
- Ion Adrian-Ionut <john_at_panevo.ro>
- Raul Molnar <molnar.raul_at_wservices.eu>
- Deleted User <noreply_at_weblate.org>
- Stefan Murariu <stefan.murariu_at_yahoo.com>
Ruso
- Andrey Aleksanyants <aaleksanyants_arroba_yahoo.com>
- <ddrmoscow_at_gmail.com>
- Robin van der Vliet <info_at_robinvandervliet.nl>
- Хомутов Иван Сергеевич <khomutov.ivan_at_mail.ru>
- Alexey Rubinov <orion1979_at_yandex.ru>
- Олег Карпов <salvadoporjc_at_gmail.com>
- Egorov Artyom <unlucky_at_inbox.ru>
Serbio
- Smart Kid <kidsmart33_at_gmail.com>
Cingalés
- Madhura Jayaratne <madhura.cj_arroba_gmail.com>
Eslovaco
- Martin Lacina <martin_arroba_whistler.sk>
- Patrik Kollmann <parkourpotex_at_gmail.com>
- Jozef Pistej <pistej2_at_gmail.com>
Esloveno
- Domen <mitenem_at_outlook.com>
Español
- Daniel Hinostroza, MD <phpmyadmin_at_cerebroperiferico.com>
- Luis García Sevillano <floss.dev_at_gmail.com>
- Franco <fulanodetal.github1_at_openaliasbox.org>
- Luis Ruiz <luisan00_at_hotmail.com>
- Macofe <macofe.languagetool_at_gmail.com>
- Matías Bellone <matiasbellone+weblate_at_gmail.com>
- Rodrigo A. <ra4_at_openmailbox.org>
- FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial_at_gmail.com>
- Ronnie Simon <ronniesimonf_at_gmail.com>
Sueco
- Anders Jonsson <anders.jonsson_at_norsjovallen.se>
Tamil
- கணேஷ் குமார் <GANESHTHEONE_at_gmail.com>
- Achchuthan Yogarajah <achch1990_at_gmail.com>
- Rifthy Ahmed <rifthy456_at_gmail.com>
Tailandés
- <nontawat39_at_gmail.com>
- Somthanat W. <somthanat_at_gmail.com>
Turco
- Burak Yavuz <hitowerdigit_arroba_hotmail.com>
Ucraniano
- Сергій Педько <nitrotoll_at_gmail.com>
- Igor <vmta_at_yahoo.com>
- Vitaliy Perekupka <vperekupka_at_gmail.com>
Vietnamita
- Bao Phan <baophan94_at_icloud.com>
- Xuan Hung <mr.hungdx_at_gmail.com>
- Bao trinh minh <trinhminhbao_at_gmail.com>
West Flemish
- Robin van der Vliet <info_at_robinvandervliet.nl>
Traductores de la documentación¶
Las siguientes personas contribuyeron a la traducción de la documentación de phpMyAdmin:
Albano
- Arben Çokaj <acokaj_arroba_shkoder.net>
Árabe
- Ahmed El Azzabi <ahmedtek1993_at_gmail.com>
- Omar Essam <omar_2412_at_live.com>
Armenio
- Andrey Aleksanyants <aaleksanyants_arroba_yahoo.com>
Azerí (Azerbaiyán)
- Mircəlal <01youknowme_arroba_gmail.com>
- Sevdimali İsa <sevdimaliisayev_arroba_mail.ru>
Catalán
- josep constanti <jconstanti_arroba_yahoo.es>
- Joan Montané <joan_at_montane.cat>
- Xavier Navarro <xvnavarro_arroba_gmail.com>
Chino (China)
- Vincent Lau <3092849_arroba_qq.com>
- 罗攀登 <6375lpd_at_gmail.com>
- disorderman <disorderman_arroba_qq.com>
- ITXiaoPang <djh1017555_at_126.com>
- tunnel213 <tunnel213_at_aliyun.com>
- Terry Weng <wengshiyu_arroba_gmail.com>
- whh <whhlcj_arroba_126.com>
Chino (Taiwán)
- Chien Wei Lin <cwlin0416_arroba_gmail.com>
- Peter Dave Hello <xs910203_arroba_gmail.com>
Checo
- Aleš Hakl <ales_arroba_hakl.net>
- Michal Čihař <michal_at_cihar.com>
- Jan Palider <palider_arroba_seznam.cz>
- Petr Kateřiňák <petr.katerinak_arroba_gmail.com>
Danés
- Aputsiaĸ Niels Janussen <aj_arroba_isit.gl>
- Claus Svalekjaer <solo.mi.smtp.servidor_en_gmail.com>
Neerlandés
- Voogt <a.voogt_at_hccnet.nl>
- dingo trece <dingo13_at_gmail.com>
- Dries Verschuere <dries.verschuere_at_outlook.com>
- Robin van der Vliet <info_at_robinvandervliet.nl>
- Stefan Koolen <nast3zz_at_gmail.com>
- Ray Borggreve <ray_at_datahuis.net>
- Dieter Adriaenssens <ruleant_arroba_users.sourceforge.net>
- Tom Hofman <tom.hofman_at_gmail.com>
Estonio
- Kristjan Räts <kristjanrats_at_gmail.com>
Finés (filandés)
- Juha <jremes_at_outlook.com>
Francés
- Cédric Corazza <cedric.corazza_arroba_wanadoo.fr>
- Étienne Gilli <etienne.gilli_at_gmail.com>
- Marc Delisle <marc_at_infomarc.info>
- Donavan_Martin <mart.donavan_at_hotmail.com>
Frisón
- Robin van der Vliet <info_at_robinvandervliet.nl>
Gallego
- Xosé Calvo <xosecalvo_at_gmail.com>
Alemán
- Daniel <d.gnauk89_at_googlemail.com>
- JH M <janhenrikm_at_yahoo.de>
- Lasse Goericke <lasse_at_mydom.de>
- Michael Koch <michael.koch_at_enough.de>
- Ann + J.M. <phpMyAdmin_at_ZweiSteinSoft.de>
- Niemand Jedermann <predatorix_at_web.de>
- Phillip Rohmberger <rohmberger_at_hotmail.de>
- Hauke Henningsen <sqrt_at_entless.org>
Griego
- Παναγιώτης Παπάζογλου <papaz_p_at_yahoo.com>
Húngaro
- Balázs Úr <urbalazs_at_gmail.com>
Italiano
- Francesco Saverio Giacobazzi <francesco.giacobazzi_at_ferrania.it>
- Marco Pozzato <ironpotts_at_gmail.com>
- Stefano Martinelli <stefano.ste.martinelli_at_gmail.com>
- TWS <tablettws_at_gmail.com>
Japonés
- Eshin Kunishima <ek_at_luna.miko.im>
- Hiroshi Chiyokawa <hiroshi.chiyokawa_at_gmail.com>
Lituano
- Jur Kis <atvejis_at_gmail.com>
- Dovydas <dovy.buz_at_gmail.com>
Noruego Bokmål
- Tor Stokkan <danorse_at_gmail.com>
- Kurt Eilertsen <kurt_at_kheds.com>
Portugués (Brasil)
- Alexandre Moretti <alemoretti2010_at_hotmail.com>
- Douglas Rafael Morais Kollar <douglas.kollar_at_pg.df.gov.br>
- Guilherme Seibt <gui_at_webseibt.net>
- Helder Santana <helder.bs.santana_at_gmail.com>
- Michal Čihař <michal_at_cihar.com>
- Michel Souza <michel.ekio_at_gmail.com>
- Danilo Azevedo <mrdaniloazevedo_at_gmail.com>
- Thiago Casotti <thiago.casotti_at_uol.com.br>
- Vinícius Araújo <vinipitta_at_gmail.com>
- Yan Gabriel <yansilvagabriel_at_gmail.com>
Eslovaco
- Martin Lacina <martin_arroba_whistler.sk>
- Michal Čihař <michal_at_cihar.com>
- Jozef Pistej <pistej2_at_gmail.com>
Esloveno
- Domen <mitenem_at_outlook.com>
Español
- Luis García Sevillano <floss.dev_at_gmail.com>
- Franco <fulanodetal.github1_at_openaliasbox.org>
- Matías Bellone <matiasbellone+weblate_at_gmail.com>
- Ronnie Simon <ronniesimonf_at_gmail.com>
Turco
- Burak Yavuz <hitowerdigit_arroba_hotmail.com>
Créditos originales de la versión 2.1.0¶
Este trabajo está basado en el MySQL-Webadmin de Peter Kuppelwieser. Fue su idea crear una interfaz web para MYSQL utilizando PHP3. Si bien no utilicé su código fuente, algunos conceptos fueron tomados de él. phpMyAdmin fue creado porque Peter me dijo que no continuaría desarrollando su (excelente) herramienta.
Agradecimientos a
- Amalesh Kempf <ak-lsml_at_living-source.com> que contribuyó el código para el chequeo al borrar una tabla o base de datos. También sugirió que debería poderse especificar la clave primaria en tbl_create.php3. En la versión 1.1.1 contribuyó el conjunto ldi_*.php3 (importación de archivos de texto) así como reportes de errores. Además de muchas mejoras más pequeñas.
- Jan Legenhausen <jan_at_nrw.net>: hizo muchos de los cambios introducidos en la versión 1.3.0 (incluyendo algunos muy significativos como la autenticación). Para la versión 1.4.1 mejoró la funcionalidad de volcado de tablas. Además de corrección de errores y ayuda.
- Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> hizo a phpMyAdmin independiente del idioma tercerizando las cadenas a un archivo separado. También contribuyó la traducción al francés.
- Alexandr Bravo <abravo_at_hq.admiral.ru> que contribuyó tbl_select.php3, una funcionalidad para mostrar sólamente algunas columnas de una tabla.
- Chris Jackson <chrisj_at_ctel.net> agregó compatibilidad con funciones MySQL en tbl_change.php3. También agregó la funcionalidad «consulta basada en ejemplo» en la versión 2.0.
- Dave Walton <walton_at_nordicdms.com> agregó compatibilidad para múltiples servidores y es un contribuyente regular de correcciones de errores.
- Gabriel Ash <ga244_at_is8.nyu.edu> contribuyó las funcionalidades de acceso aleatorio para 2.0.6.
Las siguientes personas que contribuyeron cambios menores, mejoras, corrección de errores o soporte para nuevos idiomas:
Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov, Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns, G. Wieggers.
Y gracias a todos los demás que me enviaron e-mails con sugerencias, reportes de errores y/o comentarios.
Glosario¶
Traducidos de Wikipedia, la enciclopedia libre
- .htaccess
el nombre predeterminado del archivo de configuración por directorio de Apache.
Ver también
- ACL
- Access Control List
- Blowfish
a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier.
Ver también
- Navegador
una aplicación de software que le permite al usuario mostrar e interactuar con texto, imágenes y otra información típicamente ubicada en una página web en un sitio web en la World Wide Web.
Ver también
- bzip2
a free software/open-source data compression algorithm and program developed by Julian Seward.
Ver también
- CGI
Common Gateway Interface is an important World Wide Web technology that enables a client web browser to request data from a program executed on the web server.
Ver también
- Changelog
un registro o auditoría de cambios realizados a un proyecto.
Ver también
- Cliente
un sistema de computación que accede a un servicio (remoto) en otro equipo por medio de algún tipo de red.
Ver también
- columna
a set of data values of a particularly simple type, one for each row of the table.
Ver también
un paquete de información enviado por un servidor a un navegador web que luego es enviado de regreso por el navegador cada vez que accede a ese servidor.
Ver también
- CSV
Comma-separated values
Ver también
- DB
- look at Database
- Base de datos
una colección organizada de datos.
Ver también
- Motor
- revise Storage Engines
- PHP extension
un módulo PHP que extiende a PHP con funcionalidad adicional.
Ver también
- FAQ
Frequently Asked Questions is a list of commonly asked question and their answers.
Ver también
- Campo
una parte en la que se dividen datos o columnas.
Ver también
- Foreign key
a column or group of columns in a database row that points to a key column or group of columns forming a key of another database row in some (usually different) table.
Ver también
- GD
una biblioteca gráfica de Thomas boutell y otros para manipular imágenes dinámicamente.
Ver también
- GD2
- revise GD
- GZip
GZip is short for GNU zip, a GNU free software file compression program.
Ver también
- equipa
cualquier equipo conectado a una red de computadoras, un nodo que tiene un nombre.
Ver también
- nombre del equipo
the unique name by which a network-attached device is known on a network.
Ver también
- HTTP
Hypertext Transfer Protocol is the primary method used to transfer or convey information on the World Wide Web.
- HTTPS
una conexión HTTP con medidas de seguridad adicionales.
Ver también
- IEC
- comisión electrotécnica internacional («International Electrotechnical Commission»)
- IIS
Internet Information Services is a set of internet-based services for servers using Microsoft Windows.
- Índice
una funcionalidad que permite un acceso rápido a las filas en una tabla.
Ver también
- IP
«Internet Protocol» is a data-oriented protocol used by source and destination hosts for communicating data across a packet-switched internetwork.
Ver también
- Dirección IP
un número único utilizado por un dispositivo para identificarse y comunicarse con otros dispositivos en una red utilizando el estándar IP.
Ver también
- IPv6
IPv6 (Internet Protocol version 6) is the latest revision of the Internet Protocol (IP), designed to deal with the long-anticipated problem of its predecessor IPv4 running out of addresses.
Ver también
- ISAPI
Internet Server Application Programming Interface es la API de IIS.
- ISP
An Internet service provider is a business or organization that offers users access to the Internet and related services.
Ver también
- ISO
International Standards Organization
Ver también
- JPEG
uno de los métodos estándares más utilizados para compresión con pérdida para imágenes fotográficas.
Ver también
- JPG
- look at JPEG
- Llave
- look at Index
- LATEX
a document preparation system for the TeX typesetting program.
Ver también
- Mac
Apple Macintosh is a line of personal computers designed, developed, manufactured, and marketed by Apple Inc.
Ver también
- macOS
el sistema operativo incluído en las computadoras Apple Macintosh actuales en los mercados a consumidores y profesionales.
Ver también
- mbstring
The PHP mbstring functions provide support for languages represented by multi-byte character sets, most notably UTF-8.
If you have troubles installing this extension, please follow 1.20 Recibo un error sobre la falta de las extensiones mysqli y mysql., it provides useful hints.
Ver también
- Tipo de medio
A media type (formerly known as MIME type) is a two-part identifier for file formats and format contents transmitted on the Internet.
Ver también
- MIME
extensiones multipropósito para correo en internet («Multipurpose Internet Mail Extensions»), un estándar de internet para el formato de e-mails.
Ver también
- módulo
modular extension for the Apache HTTP Server httpd.
Ver también
- mod_proxy_fcgi
an Apache module implementing a Fast CGI interface; PHP can be run as a CGI module, FastCGI, or directly as an Apache module.
Ver también
- MySQL
un sistema de manejo de base de datos («DBMS» por sus siglas en inglés) SQL («Structured Query Languages») multi-usuario y multi-hilo.
Ver también
- MySQLi
la extensión PHP para clientes MySQL mejorada.
Ver también
Ver también
- mysql
la extensión PHP para clientes MySQL.
Ver también
- OpenDocument
an open standard for office documents.
Ver también
- OS X
look at macOS.
Ver también
Portable Document Format is a file format developed by Adobe Systems for representing two-dimensional documents in a device-independent and resolution-independent format.
Ver también
- PEAR
el repositorio de extensiones y aplicaciones PHP («PHP Extension and Application Repository»).
Ver también
Ver también
- PCRE
Perl-Compatible Regular Expressions is the Perl-compatible regular expression functions for PHP
Ver también
- PHP
acrónimo de «PHP: Hypertext Preprocessor», un lenguaje de programación de código abierto y reflectivo utilizado principalmente para desarrollar aplicaciones del lado del servidor y contenido dinámico y, más recientemente, un gran rango de aplicaciones.
Ver también
- puerto
una conexión a través de la que se envían y reciben datos.
Ver también
- primary key
A primary key is an index over one or more fields in a table with unique values for every single row in this table. Every table should have a primary key for easier accessing/identifying data in this table. There can only be one primary key per table and it is named always PRIMARY. In fact, a primary key is just an unique key with the name PRIMARY. If no primary key is defined MySQL will use first unique key as primary key if there is one.
You can create the primary key when creating the table (in phpMyAdmin just check the primary key radio buttons for each field you wish to be part of the primary key).
You can also add a primary key to an existing table with ALTER TABLE or CREATE INDEX (in phpMyAdmin you can just click on “add index” on the table structure page below the listed fields).
- RFC
los documentos «Request For Comments» (pedidos de comentarios) son una serie de memorandos que incluyen nueva investigación, innovación y metodologías aplicables a tecnologías de internet .
Ver también
- RFC 1952
especificación del formato de archivo GZIP versión 4.3
Ver también
- Fila (registro, tupla)
representa un elemento de datos simple e implícitamente estructurado en una tabla.
Ver también
- Servidor
un sistema de computadoras que provee servicios a otros sistemas en una red.
Ver también
- Sodium
The Sodium PHP extension.
Ver también
- Motores de almacenamiento
MySQL can use several different formats for storing data on disk, these are called storage engines or table types. phpMyAdmin allows a user to change their storage engine for a particular table through the operations tab.
Common table types are InnoDB and MyISAM, though many others exist and may be desirable in some situations.
Ver también
- zócalo
una forma de comunicación entre procesos.
Ver también
- SSL
Secure Sockets Layer, (now superseded by TLS) is a cryptographic protocol which provides secure communication on the Internet.
Ver también
- Procedimiento almacenado
una subrutina disponible para las aplicaciones que acceden a un sistema de bases de datos relacionales
Ver también
- SQL
lenguaje estructurado de consultas («Structured Query Language»)
Ver también
- tabla
a set of data elements (cells) that is organized, defined and stored as horizontal rows and vertical columns where each item can be uniquely identified by a label or key or by its position in relation to other items.
Ver también
- tar
a type of archive file format, from «Tape Archive».
Ver también
- TCP
protocolo de control de transmisión («Transmission Control Protocol»), es uno de los protocolos clave en el conjunto de protocolos de internet.
Ver también
- TCPDF
PHP library to generate PDF files.
Ver también
Ver también
- disparador
un código procedural que es ejecutado automáticamente en respuesta a ciertos eventos en una tabla o vista particular de una base de datos
Ver también
- unique key
- A unique key is an index over one or more fields in a table which has a unique value for each row. The first unique key will be treated as primary key if there is no primary key defined.
- URL
localizador uniforme de recursos («Uniform Resource Locator»), una secuencia de caracteres conforme a un formato estandarizado que se utiliza para referirse por locación a recursos como documentos e imágenes en internet.
Ver también
- Servidor web
A computer (program) that is responsible for accepting HTTP requests from clients and serving them web pages.
Ver también
- XML
Extensible Markup Language is a W3C-recommended general-purpose markup language for creating special-purpose markup languages, capable of describing many different kinds of data.
Ver también
- ZIP
un formato popular de compresión y archivado de datos.
Ver también
- Zlib
an open-source, cross-platform data compression library by Jean-loup Gailly and Mark Adler.
Ver también
- Content Security Policy
The HTTP Content-Security-Policy response header allows web site administrators to control resources the user agent is allowed to load for a given page.
Ver también
Ver también