Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
f1:mysql_server [2022/04/01 14:23] lmachucaf1:mysql_server [2025/08/19 17:14] (actual) lmachuca
Línea 9: Línea 9:
 Para ser usable con Helpcom, se debe ajustar el servicio de BDD con ciertas configuraciones. Las más importantes incluyen: Para ser usable con Helpcom, se debe ajustar el servicio de BDD con ciertas configuraciones. Las más importantes incluyen:
  
-  * Separar el binario (''ibdata'') de la BDD en archivos de modo que la recuperación y respaldo sea más fácil. 
   * Optimizar el tiempo de commit y escritura al disco duro.   * Optimizar el tiempo de commit y escritura al disco duro.
   * Abrir el puerto a la red local, de modo de poder conectarnos desde las aplicaciones cliente.   * Abrir el puerto a la red local, de modo de poder conectarnos desde las aplicaciones cliente.
 +  * Optimizar algunos recursos como memoria o canidad de conexiones disponibles, para el uso local.
 +
 +La paquetería de Helpcom incluye un archivo de configuración que ve la mayoría de estas variables.
  
 ===== Linux ===== ===== Linux =====
  
-<note warning>El tutorial actual considera la instalación del servidor //MariaDB// 10.o posterior para Debian en adelante.+**Descarga Oficial**:  
 + 
 +  * desde el gestor de paquetes de la distribución 
 + 
 +<note>El tutorial actual considera la instalación del servidor //MariaDB// 10.o posterior para Debian 10 en adelante.
  
 Para habilitar un servidor de MySQL = 5.5, ver [[MySQL Server Legacy]]. Para habilitar un servidor de MySQL = 5.5, ver [[MySQL Server Legacy]].
 </note> </note>
  
-Se asume aquí que se parte desde [[:Instalación Linux Servidor]] y que se ha completado la instalación y el primer inicio, incluyendo tener activado el repositorio de Helpcom.+Se asume aquí que se parte desde [[:Instalación Linux Servidor]] y que se ha completado la instalación, posinstalación y primer inicio, incluyendo tener activado el repositorio de Helpcom.
  
 Instalar desde el gestor de paquetes de la distribución. El proceso por defecto instala MariaDB: Instalar desde el gestor de paquetes de la distribución. El proceso por defecto instala MariaDB:
  
-  # Debian 9 o 10 con la paquetería base de Helpcom+  # Debian 10 en adelante paquetería base de Helpcom
   apt install helpcom-servidor-mysql   apt install helpcom-servidor-mysql
   # Si se queja de ambigüedades, se puede usar:   # Si se queja de ambigüedades, se puede usar:
   apt install helpcom-servidor-base mariadb-server mariadb-client   apt install helpcom-servidor-base mariadb-server mariadb-client
 +  
 +  # Ubuntu 20.04 en adelante
 +  apt install helpcom-servidor-mysql
  
-En Debian 9 si se desea instalar MySQL 5.7:+El archivo de configuración resultante es por defecto ''/etc/mysql/my.cnf'', y habrá un árbol de directorios con archivos de configuración en ''/etc/mysql/mariadb.conf.d/'' (MariaDB 10.3 en adelante) o ''/etc/mysql/mysql.conf.d/'' (MySQL; MariaDB hasta 10.2). Un archivo de configuración ''/etc/mysql/my.helpcom.cnf'' de prueba se agrega a la carpeta base que puede copiarse al destino decuado y modificarse.
  
-  # Debian 9 o posterior con paquetería de Helpcom --> MariaDB +El árbol de la base de datos está guardado por defecto en ''/var/lib/mysql''. Ante cualquier duda de cómo configurar los archivos necesarios que esta guía no resuelva, **leer la documentación oficial** de MariaDB / MySQL.
-  apt install -t unstable helpcom-servidor-mysql +
-  # Si reporta ambigüedades: +
-  apt install -t unstable helpcom-servidor-mysql mysql-server mysql-client +
- +
-  # Ubuntu 16.04 o posterior --> MySQL 5.7 +
-  apt install mysql-server helpcom-servidor-mysql +
- +
- +
-El sistema puede pedir, pero no necesariamente, la **contraseña del usuario ''root'' de mysql**. Tomar nota en caso que se pida o no y qué valor se da. +
- +
-En aquellos casos en los que el sistema no pide contraseña, es porque se instala la cuenta de root de MySQL con acceso al **root de shell** vía socket. Es decir, es necesario ser ''root'' para entrar al root de MySQL. La sección de **Permisos** más adelante detalla cómo cambiar este comportamiento. +
- +
-El archivo de configuración resultante es por defecto ''/etc/mysql/my.cnf'', y habrá un árbol de directorios con archivos de configuración en ''/etc/mysql/mysql.conf.d/''. Un archivo de configuración ''/etc/mysql/my.helpcom.cnf'' contiene configuraciones específicas de Helpcom que se deben editar en caso que sea necesario.  +
- +
-El árbol de la base de datos está guardado por defecto en ''/var/lib/mysql''. Ante cualquier duda de cómo configurar los archivos necesarios que esta guía no resuelva, **leer la documentación oficial**.+
  
 ====Postinstalación==== ====Postinstalación====
  
-Los siguientes elementos deben configurarse en el servidor **antes** de crear las primeras bases de datos e ingresar datos:+Los siguientes elementos deben configurarse en el servidor **antes** de crear las primeras bases de datos e ingresar datos. Como ''root'':
  
 1.- Detener el servicio. 1.- Detener el servicio.
Línea 56: Línea 50:
     service mysql stop     service mysql stop
  
-2.- Editar ''my.cnf'' para traer las configuraciones bases de servidor para HelpcomLa forma sencilla de hacer esto es: +2.- Copiar el archivo ''my.helpcom.cnf'' a la carpeta adecuadaPor ejemplo
- +
-Primero, verificar que existe el siguiente archivo:+
  
 <code bash> <code bash>
-nano /etc/mysql/mysql.conf.d/mysqld-helpcom.conf+# como root 
 +( cd /etc/mysql; cp my.helpcom.cnf ./maradb.conf.d/ 
 </code> </code>
  
-Esto debe mostrar algunas configuraciones base para el servidor. Podemos aprovechar de configurar lo que necesitemos. +3.- Editar el archivo resultante con las configuraciones que deseamos.
- +
-Tras guardar y salir debemos asegurarnos que esta configuración es incluida por el sistema de MySQL:+
  
 <code bash> <code bash>
-echo "!include /etc/mysql/my.helpcom.cnf " >> /etc/mysql/my.cnf+nano /etc/mariadb.conf.d/my.helpcom.cnf
 </code> </code>
  
 +Esto debe mostrar algunas configuraciones base para el servidor. Podemos aprovechar de configurar lo que necesitemos.
 +
 +Guardar y salir.
  
 3.- Reiniciar el servicio: 3.- Reiniciar el servicio:
Línea 77: Línea 71:
     service mysql start     service mysql start
  
-A este punto, antes de continuarconviene chequear las **[[#Notas]]** para ver si alguna de ellas aplica a la configuración actual. En particular para MySQL 5.7 es necesario chequear la sección "Usuario no puede hacer login a root".+==== Carga de Credenciales ==== 
 +Si se ha seguido la paquetería de Helpcomes bastante fácil cargar las credenciales por defecto (los usuarios "helpcom_db""helpcom-admin")Para esto, aún como root:
  
 +<code bash>
 +mysql < /usr/local/etc/helpcom/mysql-permisos0.sql
 +</code>
  
 ===== Windows ===== ===== Windows =====
 +
 +<note warning> Configuración no recomendada. Windows no es bueno para servidores, ni menos cuando al mismo tiempo se usa como caja. Es mejor hacer una [[:instalación linux servidor]].</note>
 +
 +**Descarga Oficial**:
 +
 +  * [[https://mariadb.org/mariadb/all-releases/#10-6|MariaDB Server All Releases]] (apunta a 10.6 pero se puede escoger versiones anteriores)
 +    * Escoger "Windows", "MSI Package".
 +
  
 [{{ :f1:mysqlserverwindows-1.png?nolink&400 |Entrada del Instalador de MySQL Server}}] [{{ :f1:mysqlserverwindows-1.png?nolink&400 |Entrada del Instalador de MySQL Server}}]
  
-Para instalar se usa uno de los instaladores de MySQL Server, "Essentials" o "Community" dependiendo de la versión de MySQL, o el instalador de MariaDB. Ambos instaladores están en el SFTP de Helpcom.+Para instalar se usa uno de los instaladores de MariaDB Server.
  
 Se escogen en general las siguientes opciones de instalación: Se escogen en general las siguientes opciones de instalación:
Línea 119: Línea 125:
  
 # Permitir conexión desde fuera: # Permitir conexión desde fuera:
 +# (chequear también Firewall de Windows)
 bind-address = * bind-address = *
 # Puerto de conexión: # Puerto de conexión:
Línea 145: Línea 152:
   - Abrir el puerto para que otros equipos cliente puedan conectarse.   - Abrir el puerto para que otros equipos cliente puedan conectarse.
   - Crear los usuarios y privilegios base de Helpcom.   - Crear los usuarios y privilegios base de Helpcom.
 +
 +==== Carga de Credenciales ====
 +
 +La carga de credenciales en Windows debe hacerse manualmente, ya que Windows no tiene una gestión de paquetes que lo permita.
  
  
Línea 151: Línea 162:
  
 ===== Notas ===== ===== Notas =====
-====Windows I/O Error en Equipos de 64-bit==== 
- 
-<note info>:!: Para: Equipos con Windows 8 en adelante 64-bit, en particular notebooks, cuando instalan MySQL 5.5 o anterior.</note> 
- 
-Este caso afecta particularmente a clientes como Daos. 
- 
-FIXME Pendiente 
- 
-====root tiene contraseña==== 
- 
-**Síntoma**: Windows MySQL Setup Wizard dice que root tiene contraseña 
- 
-<note info>:!: Para: Equipos con Windows que ya tenían una instalación previa de MySQL Server.</note> 
- 
-Si el equipo ya tenía una instalación de MySQL Server previa, tanto el servicio de Windows como el binario de la base de datos guardan información de la cuenta y permisos anteriores de ''root@localhost'', con los cuales no es posible para el instalador generar los permisos o usuarios nuevos. 
- 
-Para solucionar este problema es necesario seguir los siguientes pasos **en orden**: 
- 
-  - Detener el servicio de MySQL. 
-  - Desinstalar MySQL server [[mysql server desinstalar|como se indica en la página de desinstalación]], **incluyendo** borrar los archivos de data. 
-  - Borrar el directorio de MySQL Server en //Program Files//. 
-  - Verificar manualmente que el servicio de MySQL está eliminado. 
-  - Reiniciar el equipo. 
- 
-Luego de esto, proceder a la instalación de servidor de MySQL desde cero. 
- 
-====Usuario local login a root==== 
- 
-<note info>:!: Para: Linux con MySQL 5.7 en adelante.</note> 
- 
-Desde MySQL 5.7 (o MariaDB 10.1), el acceso a ''root'' por defecto es [[https://askubuntu.com/questions/766334/cant-login-as-mysql-user-root-from-normal-user-account-in-ubuntu-16-04/801950|por medio de un socket de UNIX]], por lo cual es necesario ser usuario ''root'' en el shell para entrar al ''root'' de MySQL; para recuperar el acceso desde el usuario ''administrador'', hay dos estrategias: 
- 
-  * crear un nuevo superusuario con acceso vía protocolo TCP. 
-  * cambiar la autenticación del usuario ''root''. 
- 
-**a) Crear un nuevo superusuario** 
- 
-:!: Esta estrategia se seguirá empezando con los servidores Linux que lance Helpcom desde Marzo de 2020 en adelante. 
- 
-La paquetería de Helpcom incluye un script que crea un usuario nuevo, ''helpcom.root'' con todos los permisos desde conexión local. Para cargar el script se ejecuta como root: 
- 
-  sh /usr/local/etc/helpcom/mysql-permisosroot0.sql 
- 
-El script pedirá una contraseña para el nuevo root y creará el usuario. 
- 
-La creación debiera ser equivalente al procedimiento SQL siguiente: 
- 
-<code mysql> 
-CREATE USER 'helpcom.root'@'localhost' IDENTIFIED BY 'password'; 
-GRANT ALL on *.* TP 'helpcom.root'@'localhost' WITH GRANT OPTION; 
-GRANT SUPER TO 'helpcom.root'@'localhost' WITH GRANT OPTION; 
-FLUSH PRIVILEGES; 
- 
-</code> 
- 
-**b) Cambiar el acceso para el usuario root de MySQL** 
- 
-Entrar a la consola de MySQL como root. 
- 
-  # MySQL 5.7 
-  ALTER USER root@'localhost' IDENTIFIED VIA mysql_native_password BY 'newpassword'; 
-  FLUSH PRIVILEGES; 
- 
-  # MariaDB 
-  UPDATE mysql.user SET password=password('newpassword'), plugin='mysql_native_password' WHERE user='root'; 
-  FLUSH PRIVILEGES; 
- 
- 
-(Cambiar "''newpassword''") por la contraseña para el ''root'' de MySQL. 
- 
-Una vez ejecutados estos pasos es posible confirmar que es posible acceder a la consola de ''root'' haciendo inicio de sesión  como ''administrador'' (por ejemplo por SSH/PuTTY) y entrando a la consola de MySQL. Observar que, en el siguiente comando, puede ser necesario **especificar el host con -h**: 
- 
-  mysql -h localhost -u root -p 
-  mysql -h 127.0.0.1 -u root -p 
- 
-:!: **Nota**: Si debido a una actualización de sistema cambia la versión de MySQL server, puede ser necesario ejecutar estos pasos nuevamente. 
- 
-:!: **Nota**: Al seguir este procedimiento, en Debian >= 10, los script de servicios de MySQL quedarán bloqueados  sin acceso de superusuario y por tanto no se podrá iniciar o detener MySQL con als herramientas de sistema. Consultar la wiki oficial de Debian para ver cómo reestablecer los accesos a los servicios. 
- 
  
 ==== COLLATION por defecto desde clientes nuevos ==== ==== COLLATION por defecto desde clientes nuevos ====
Línea 243: Línea 175:
  
 Cuál collation por defecto debe usarse depende del caso a caso; en general para Crux y Alerce debe usarse el ''utf8'', para servidores de **producción de Facturación Electrónica** debe usarse el ''latin1'', y para todo lo demás se puede escoger cualquiera mientras se sea consecuente entre clientes y servidores. Cuál collation por defecto debe usarse depende del caso a caso; en general para Crux y Alerce debe usarse el ''utf8'', para servidores de **producción de Facturación Electrónica** debe usarse el ''latin1'', y para todo lo demás se puede escoger cualquiera mientras se sea consecuente entre clientes y servidores.
- 
  
  
f1/mysql_server.1648822984.txt.gz · Última modificación: 2022/04/01 14:23 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0