Árvore de páginas

Atención

Esta página está destinada a las actualizaciones 1.6 y superiores de la Plataforma TOTVS Fluig.

En caso de que tenga una actualización anterior, ingrese a: ¿Cómo configurar la base de datos MySQL en la versión 1.5.13 o inferior?

Índice


Versiones homologadas de MySQL


Para verificar las versiones homologadas de MySQL acceda a la Matriz de Portabilidad.


Paso a paso para la configuración de MySQL


Las configuraciones que se muestran a continuación se deben realizar antes de crear la base de datos de la plataforma.

IMPORTANTE

La actualización a la versión MySQL 8.0, es decir, cuando ya existe una base de datos creada en versiones anteriores, es un proceso complejo que involucra varias configuraciones y requiere mucha atención.

Recomendamos consultar a un especialista en base de datos para ejecutar estos procedimientos debido a la complejidad de la configuración.

Sin embargo, enumeramos algunos materiales de apoyo que recomendamos leer antes de continuar con la actualización:

https://dev.mysql.com/doc/refman/8.0/en/upgrading.html

https://dev.mysql.com/blog-archive/inplace-upgrade-from-mysql-5-7-to-mysql-8-0/

¡Atención!

Por motivos de seguridad, es muy recomendable encriptar la contraseña según el procedimiento que se describe en la documentación encriptar contraseña de la base de datos.


Creación de usuarios y concesión de privilegios

Para crear un nuevo usuario en la base de datos MySQL utilizamos la instrucción CREATE USER, de acuerdo con la siguiente sintaxis:

CREATE USER 'sha2user'@'localhost'
IDENTIFIED WITH caching_sha2_password BY 'password';

Donde:

  • sha2user: Nombre del usuario que se va a crear;
  • localhost: Host al que va a acceder;
  • password:  Contraseña del usuario que se creará;


Una vez que se haya creado el usuario, es necesario concederle los privilegios de sistema necesarios, de acuerdo con la siguiente sintaxis:

GRANT all ON fluig.* TO 'sha2user'@'localhost';

Donde:

  • sha2user: Nombre del usuario creado anteriormente;
  • localhost: Host del usuario creado anteriormente;


Parámetros de conexión


En esta etapa, se realiza una configuración específica para la versión de MySQL 8.0. Para otras versiones de MySQL, se mantiene lo que estaba configurado por defecto.

En caso de que la configuración sea para la versión MySQL 8.0, es necesario modificar el parámetro de conexión del archivo domain.xml. Para ello, acceda al directorio \appserver\domain\configuration y busque las tags <connection-url>. El parámetro de esta tag se debe modificar de: ?useSSL=false a ?allowPublicKeyRetrieval=true&useSSL=false


Case sensitive


De forma predeterminada, los alias de tablas son  case sensitive en Unix, pero no lo son en Windows. Para evitar problemas causados por esta característica, en MySQL es necesario agregar la variable del sistema lower_case_table_names en el archivo de configuración de MySQL.

MySQL en versiones anteriores a 8.0

Si usted utiliza la base de datos MySQL en versiones anteriores a la 8.0, solo debe incluir esta variable en el archivo my.ini (Windows) o my.cnf (Linux).

lower_case_table_names=1
MySQL en la versión 8.0

Si usted utiliza la base de datos MySQL en la versión 8.0, en Windows no necesita realizar ninguna configuración. La variable lower_case_table_names ya viene configurada por defecto con el valor 1.


En Linux, es OBLIGATORIO realizar esta configuración en la instalación del servidor MySQL, modificando la variable lower_case_table_names al valor 1.

Dado que esta es una variable del sistema, que no se puede cambiar más tarde, es muy importante configurarla correctamente durante la instalación.

Para obtener más información sobre el uso y la configuración de case sensitive en la versión 8.0, consulte aquí.


Engines


Además, es necesario confirmar que las tablas se crearán correctamente en la base de datos. Paral ello, en  Command Line Client de MySQL verifique la engine utilizada informando el comando:  

SHOW ENGINES\G

Localice la engine InnoDB, como se muestra en la siguiente imagen:

Si la engine InnoDB no se muestra como Default, el parámetro default_storage_engine también se debe agregar al archivo, como se muestra a continuación:

Linux: my.cnf / Windows: my.ini
default_storage_engine=InnoDB


Memoria


También se puede definir la cantidad de memoria que utilizará MySQL. En un servidor dedicado, la buena práctica es asignar el 75 % de la memoria disponible a la base de datos.

Linux: my.cnf / Windows: my.ini
innodb_buffer_pool_size=<valor em bytes>


  • Por ejemplo, para asignar 128 MB de memoria tendríamos: innodb_buffer_pool_size=134217728.


Creación de tablas


Si se crean formularios con muchos campos, la mayoría de los cuales son de tipo TEXT, MySQL puede restringir la creación de tablas en las que el tamaño total de los campos supere el límite permitido.

Recomendamos realizar las siguientes configuraciones en la base de datos para solucionar esa restricción:

Linux: my.cnf / Windows: my.ini
innodb_log_file_size=512M #Sólo para MySQL en versiones anteriores a la 8.0
innodb_log_buffer_size=800M
innodb_strict_mode=0


Confirmar modificaciones


Luego de realizar las configuraciones que se mostraron en los pasos anteriores, es necesario reiniciar el MySQL y confirmar la aplicación de las modificaciones.

Para verificar si la configuración case sensitive se realizó con éxito, ejecute el siguiente comando SQL. Si en el resultado la columna value tiene el valor 1, la configuración es correcta.

SHOW GLOBAL VARIABLES LIKE 'lower_case_table_names';

Confirme también la modificación de Engine a InnoDB, si ha agregado el parámetro default_storage_engine al archivo:

SHOW ENGINES\G

Si la engine InnoDB aparece como Default la configuración fue aplicada con éxito.


¡Atención!

  1. Zona horaria: La base de datos MySQL tiene validación de zona horaria, por lo tanto, para la instalación de la plataforma con MySQL, es necesario que el servidor donde está instalada la plataforma tenga la zona horaria válida (reconocida por MySQL).
  2. SSL: Si se requiere utilizar SSL, es necesario modificar el parámetro useSSL a true. Este parámetro se encuentra en la cadena de conexión dentro del archivo domain.xml.


Creación de la base de datos con codificación UTF-8


La plataforma necesita una base de datos con charset UTF-8. Para crear la base con esta característica use el siguiente comando SQL, sustituyendo "nome_do_banco" por el nombre de la base que se creará:

MySQL en versiones anteriores a 8.0
CREATE DATABASE nome_do_banco CHARACTER SET utf8 COLLATE utf8_general_ci;
MySQL en la versión 8.0
CREATE DATABASE nome_do_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

ATENCIÓN

A partir de la versión 8.0, charset utf8 y collate utf8_general_ci se discontinuaron y pronto ya no se podrán usar.

En caso de estar actualizando a la versión 8.0, es decir, si ya tiene una base de datos creada con charset utf8 y collate utf8_general_ci, es necesario planificar la conversión de la base de datos y las tablas a charset utf8mb4 utf8mb4 y collate utf8mb4_general_ci.

Recomendamos consultar un especialista en base de datos para realizar estos procedimientos. Existen herramientas que realizan esta conversión y también comandos SQL que se pueden ejecutar, de manera manual, en su base de datos.

No hay un estándar para "nome_do_banco", cada cliente puede poner el nombre que desee, por ejemplo: fluig, fluig-homologación o miempresa.


Download del controlador


Para el uso de la base de datos MySQL, es necesario hacer el download del controlador MySQL por separado. 

Por lo tanto, antes de comenzar la instalación/actualización de la plataforma, siga los siguientes pasos:

01. Realice la descarga del controlador directamente en el sitio de MySQL;

¡Esté atento!

El controlador de MySQL debe estar en la misma versión de la base de datos MySQL que tiene instalada. Para saber qué versiones están aprobadas, ingrese a Matriz de Portabilidad.

02. En el campo Select Platform acive la opción Platform Independent;

03. Haga clic en el botón Download al lado de la versión en archivo ZIP;

04. Haga clic en No thanks, just start my download y se iniciará la descarga de un archivo llamado mysql-connector-java-XX.Y.ZZ.zipo mysql-connector-j-XX.Y.ZZ.zip, donde XX.Y.ZZ es la versión actual del controlador;

05. Descomprima el archivo que descargó. Se creará una carpeta llamada mysql-connector-java-XX.Y.ZZ o mysql-connector-j-XX.Y.ZZ.zip;

06. En esa carpeta hay un archivo llamado mysql-connector-java-XX.Y.ZZ-bin.jar o mysql-connector-j-XX.Y.ZZ.jar. Este archivo es el controlador.

Durante la instalación de la plataforma, será necesario indicar la ruta de acceso donde se almacenó el controlador de MySQL..

¿Cómo actualizar?

La actualización de Fluig no permite actualizar el controlador a través del instalador. Este procedimiento se debe realizar de forma manual, siguiendo los pasos que se indican a continuación:

  1. Ingrese a la carpeta <instalação Fluig>\appserver\modules\com\mysql\main
  2. Elimine el archivo mysql-connector-java.jar de dicha carpeta.
  3. Copie el archivo mysql-connector-java-XX.Y.ZZ-bin.jar o mysql-connector-j-XX.Y.ZZ.jar  (descargado del sitio y descomprimido) a la carpeta <instalação Fluig>\appserver\modules\com\mysql\main
  4. Cambie el nombre del archivo copiado (mysql-connector-java-XX.Y.ZZ-bin.jar o mysql-connector-j-XX.Y.ZZ.jar) a mysql-connector-java.jar


Optimización del rendimiento de la base de datos MySQL



¡Atención!

El límite predeterminado de la base Mysql para los campos tipo text, es de 195, dentro de este estándar se realizan todas las pruebas con formularios en la plataforma.

No recomendamos modificar el parámetro innodb_log_file_size, para exportar campos, ya que puede comprometer el rendimiento de la plataforma.

Cuando se trabaja con un gran volumen de datos y usuarios, la base de datos puede experimentar problemas de bajo rendimiento. Una inversión en capacidad física de los servidores siempre es buena, pero hay ocasiones en las que el tuning representará ganancias de rendimiento significativas.

Para obtener más informaciones sobre tunning y sobre la optimización de rendimiento de MySQL consulte la documentación oficial disponible en MySQL Optimization.