Generalidades
Este artículo proporciona una descripción general del uso de palabras reservadas en MySQL 8, incluyendo los cambios introducidos en MySQL 8.4, la versión que actualmente ejecutan todos los servidores MySQL de DreamHost.
Usar palabras reservadas en MySQL 8
MySQL 8.4 incluye una lista de palabras reservadas (como GROUPS, EMPTY, RANK, y SYSTEM) introducidas en MySQL 8, así como cuatro nuevas palabras reservadas agragadas en MySQL 8.4: MANUAL, PARALLEL, QUALIFY, y TABLESAMPLE.
Estas palabras se pueden usar como nombres de tablas y columnas, pero requieren un tratamiento especial como identificadores y deben escaparse en las consultas de la base de datos. Revisa la siguiente página para obtener más información sobre cómo usar palabras reservadas en MySQL 8:
Errores importando una base de datos con mysqlimport
DreamHost ha implementado algunas herramientas nuevas en MySQL 8, que pueden provocar que se produzca un error al utilizar el programa de línea de comandos mysqlimport:
mysqlimport: Error: 1227 Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN, or SESSION_VARIABLES_ADMIN privilege(s) for this operation
El comando mysqlimport que causa el error se puede ver así:
[server]$ /usr/bin/mysqlimport --host hostname --user user --password password --local --fields-terminated-by='|' database /path/to/file
También puedes utilizar un archivo de opciones (recomendado), que se vería así:
[server]$ /usr/bin/mysqlimport --defaults-extra-file=/path/to/file --local --fields-terminated-by='|' database /path/to/file
Corregir el error
Si se produce este error, usar cliente mysql en lugar de mysqlimport permitirá que esta función funcione. Aquí hay un ejemplo de los comandos anteriores.
Ten en cuenta que es necesario especificar el nombre de la tabla, ya que anteriormente, mysqlimport lo determinaba a partir del nombre del archivo.
[server]$ echo "LOAD DATA LOCAL INFILE '/PATH/TO/FILE' into table tablename fields-terminated-by='|' mysql --host hostname --user username --password password database
[server]$ echo "LOAD DATA LOCAL INFILE '/PATH/TO/FILE' into table tablename fields-terminated-by='|' mysql --defaults-extra-file=/path/to/file
Modificaciones personalizadas de DreamHost para usuarios de WordPress
DreamHost ha realizado modificaciones en su configuración de MySQL 8 para brindar un soporte más amplio para la mayoría de los sitios y software. A continuación, aparecen las configuraciones predeterminadas de MySQL 8 que se han modificado en la configuración de DreamHost:
| Configuración | Predeterminado | DreamHost |
|---|---|---|
| Plugin de encriptación | caching_sha2_password | mysql_native_password |
| Conjunto de caracteres | utf8mb4 | utf8 |