Normalmente para configurar el acceso de una aplicación web a la base de datos crearemos una cuenta de servicio para esa aplicación, y le daremos permisos según necesitemos, pero solamente a esa base de datos.

Esta es una de esas cosas que uno hace mil veces pero nunca se acuerda de la sintaxis correcta. Aqui lo teneis:

CREATE USER 'nombre_de_usuario'@'localhost' IDENTIFIED BY 'vuestra_password';
GRANT ALL PRIVILEGES ON nombre_de_base_de_datos.* TO 'nombre_de_usuario'@'localhost';
FLUSH PRIVILEGES;

 

Tratando de importar una copia de base de datos que había creado con drush sql-dump en otro servidor, me he encontrado con este error de MySQL:

ERROR 1071 (42000) at line 25: Specified key was too long; max key length is 767 bytes

El comando que estaba usando era bastante normal:

drush sql-cli <  ../backup.sql

Después de intentar varias opciones, también he llegado a ver este otro error:

ERROR 1709 (HY000) at line 25: Index column size too large. The maximum column size is 767 bytes.

De una temporada a esta parte supongo que habréis visto el aviso en el panel de información de Drupal acerca de actualizar la base de datos para soportar UTF-8 de 4 bytes, con este mensaje:

4 byte UTF-8 for mysql is not activated, but it is supported on your system. It is recommended that you enable this to allow 4-byte UTF-8 input such as emojis, Asian symbols and mathematical symbols to be stored correctly. See the documentation on adding 4 byte UTF-8 support for more information.

Vale, ¿pero de que va todo esto? ¿Para que sirve esta actualización?