Actualizacion Drupal: MySQL de UTF-8 a uft8mb4

Desde hace meses cada vez que actualizo Drupal muestra un aviso de información para 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.

Siguiendo las indicaciones de estos dos sitios web www.carloscarrascal.comwww.drupal.org  he procedido su activación.

Primeramente se comprueba la version de MySQL y la del driver:

mysql –version

mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper

php -i | grep ‘mysqlnd\|libmysqlclient’

Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-mysqlnd.ini,
Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $
mysqlnd
mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
mysqlnd statistics =>
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $

Hice una copia de seguridad de todas las bases de datos.

mysqldum -u root -p –all-databases > /home/user/backupAlldatabases.sql

A continuación, en el fichero my.cnf he incluido las siguientes directivas:

nano /etc/mysql/my.cnf

!innodb_large_prefix=true
!innodb_file_format=barracuda
!innodb_file_per_table=true

service mysql restart

Se convierten todas las tablas a utf8mb4

drush @none dl utf8mb4_convert-7.x

drush cc drush

Si en archivo settings.php hay alguna base de datos que no se quiera convertir, se comenta o se quita del fichero.

Para ello antes, se pone el portal en modo de mantenimiento.

drush vset maintenance_mode 1

Se convierten las tablas de la base de datos a utf8mb4.

drush utf8mb4-convert-databases

Acontinuación se modifica el archivo settings.php para utf8mb4.

nano settings.php

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'databasename',
  'username' => 'username',
  'password' => 'password',
  'host' => 'localhost',
  'charset' => 'utf8mb4',
  'collation' => 'utf8mb4_general_ci',
);

Se prueba el portal. Si todo funciona, se puede quitar el modo de mantenimiento.

drush vset maintenance_mode 0

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s