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 [2019/01/23 14:29] lmachucaf1:mysql_server [2025/08/19 17:14] (actual) lmachuca
Línea 1: Línea 1:
-====== Instalar MySQL Server ======+====== Instalación Servicio MySQL ======
  
-Proceso de instalación de MySQL Server. Obviamente requieren tener en el equipo el permiso para instalar software.+Proceso de instalación de MySQL Server. Obviamente requieren tener en el equipo el permiso para instalar software y haber seguido los pasos en la instalación de servidor base para configurar el gestor de paquetes. 
 + 
 +===== Resumen ===== 
 + 
 +Los servicios de MySQL para Helpcom se instalan usando por defecto el motor **MariaDB**, que es la versión "community" de MySQL con licencia para poder distribuirla a los clientes.  
 + 
 +Para ser usable con Helpcom, se debe ajustar el servicio de BDD con ciertas configuraciones. Las más importantes incluyen: 
 + 
 +  * 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. 
 +  * 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 servidor de MySQL por defecto en **Debian 9** es **MariaDB 10.1**. Para habilitar MySQL Server, seguir los pasos en la sección [[#Debian9 MySQL]] antes de continuar con esta sección.</note>+**Descarga Oficial**:  
 + 
 +  * desde el gestor de paquetes de la distribución 
 + 
 +<note>El tutorial actual considera la instalación del servidor //MariaDB// 10.3 o posterior para Debian 10 en adelante.
  
-Instalar desde el gestor de paquetes de la distribuciónPor ejemplo en Debian:+Para habilitar un servidor de MySQL = 5.5, ver [[MySQL Server Legacy]]. 
 +</note>
  
-  # Debian 7 u 8  --> MySQL 5.+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.
-  apt-get install mysql-server +
-  # Debian 9 con las notas arriba  --> MySQL 5.7 +
-  apt-get install -t unstable mysql-server +
-  # Ubuntu 16.04 o posterior --> MySQL 5.7 +
-  apt-get install mysql-server +
  
-(Tomar nota en los mensajes de instalación que la versión que se instala corresponda a la que necesitamos)+Instalar desde el gestor de paquetes de la distribución. El proceso por defecto instala MariaDB:
  
 +  # Debian 10 en adelante paquetería base de Helpcom
 +  apt install helpcom-servidor-mysql
 +  # Si se queja de ambigüedades, se puede usar:
 +  apt install helpcom-servidor-base mariadb-server mariadb-client
 +  
 +  # Ubuntu 20.04 en adelante
 +  apt install helpcom-servidor-mysql
  
-El sistema preguntará la **contraseña del usuario ''root'' de mysql**.+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.
  
-El archivo de configuración resultante es por defecto ''/etc/mysql/my.cnf'' y el árbol de la base de datos está guardado por defecto en ''/var/lib/mysql''.+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.
  
 ====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 30: Línea 50:
     service mysql stop     service mysql stop
  
-2.- Editar ''my.cnf'' o el archivo de configuración equivalente (depende de la versión de Debian y de MySQL; revisar las documentaciones oficiales correspondientes) y agregar las siguientes directivas a la sección ''[mysqld]'':+2.- Copiar el archivo ''my.helpcom.cnf'' a la carpeta adecuada. Por ejemplo
  
-<file my.cnf.agregar> +<code bash> 
-[mysqld] +# como root 
-# Agregar los siguientes campos:+( cd /etc/mysql; cp my.helpcom.cnf ./maradb.conf.d/ 
 +</code>
  
-# Permitir conexión desde fuera: +3.Editar el archivo resultante con las configuraciones que deseamos.
-bind-address = * +
-# Puerto de conexión: +
-port = 3306 +
-# Modelo de almacenamiento de binarios +
-innodb_file_per_table = 1 +
-# Modelo de sincronización en disco +
-innodb_flush_method = O_DIRECT+
  
-</file>+<code bash> 
 +nano /etc/mariadb.conf.d/my.helpcom.cnf 
 +</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 51: Línea 71:
     service mysql start     service mysql start
  
-4.- Agregar el siguiente paquete a la instalación:+==== Carga de Credenciales ==== 
 +Si se ha seguido la paquetería de Helpcom, es bastante fácil cargar las credenciales por defecto (los usuarios "helpcom_db" y "helpcom-admin"). Para esto, aún como root:
  
-  apt-get install mysql-utilities+<code bash> 
 +mysql < /usr/local/etc/helpcom/mysql-permisos0.sql 
 +</code>
  
-A este punto, antes de continuar, conviene 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".+===== 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".
  
-===== Windows ===== 
  
 [{{ :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.+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 97: 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 118: Línea 147:
 ===== Configuración Inicial ===== ===== Configuración Inicial =====
  
-Completados estos pasos y ya andando el servicio de MySQL lo que queda es **[[f1:MySQL Server Permisos|establecer los usuarios y permisos]]**.+Completados estos pasos y ya andando el servicio de MySQL lo que queda es **[[f1:MySQL Server Permisos|establecer los usuarios y permisos]]**. Esto permite: 
  
 +  - Configurar el acceso para el usuario ''root''.
 +  - Abrir el puerto para que otros equipos cliente puedan conectarse.
 +  - Crear los usuarios y privilegios base de Helpcom.
  
-===== Desinstalar ===== +==== Carga de Credenciales ====
-Para desinstalar **correctamente** ver los pasos en [[.MySQL Server Desinstalar]].+
  
-===== Notas ===== +La carga de credenciales en Windows debe hacerse manualmente, ya que Windows no tiene una gestión de paquetes que lo permita.
-====Debian9 MySQL====+
  
-<note info>:!: **Para**: Debian 9 o 10.</note> 
  
-1.- Crear el siguiente archivo de repositorio:\\ ''nano /etc/apt/sources.list.d/debian-unstable.list'' +===== Desinstalar ===== 
- +Para desinstalar **correctamente** ver los pasos en [[.MySQL Server Desinstalar]], o seguir la documentación oficial.
-2.- Colocar en el archivo la siguiente línea:\\ ''deb http://deb.debian.org/debian/ unstable main'' +
- +
-3.- Guardar y salir. +
- +
-4.- Crear el siguiente archivo:\\ ''nano /etc/apt/preferences.d/unstable'' +
- +
-Con el siguiente contenido: +
- +
-<code> +
-Package: mysql-server +
-Pin: release a=unstable +
-Pin-Priority: 100 +
- +
-</code> +
- +
-5.- Guardar y salir. +
- +
-6.- Actualizar los repositorios. +
- +
-  apt-get update +
- +
-Luego de esto [[#Linux|continuar con la instalación y poner ojo a las instrucciones]]. +
- +
-====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 +
- +
-====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> +
- +
-FIXME Pendiente +
- +
-====Usuario local login a root==== +
- +
-<note info>:!: Para: Linux con MySQL 5.7 en adelante.</note> +
- +
-Desde MySQL 5.7, 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 a MySQL; para recuperar el acceso desde el usuario ''administrador'', entrar a la consola de MySQL y ejecutar los siguientes comandos: +
- +
-  alter user root@'localhost' identified with mysql_native_password by 'password'; +
-  flush privileges; +
- +
-(Cambiar "''password''") 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, es necesario **especificar el host con -h**: +
- +
-  mysql -h localhost -u root -p +
-  # Alternativamente +
-  mysql -h 127.0.0.1 -u root -p+
  
 +===== Notas =====
  
 ==== COLLATION por defecto desde clientes nuevos ==== ==== COLLATION por defecto desde clientes nuevos ====
Línea 190: Línea 167:
 <note info>:!: Para: Servidores MySQL donde el cliente puede conectarse con un ''mysqldump'' o un MySQL ODBC de una versión diferente.</note> <note info>:!: Para: Servidores MySQL donde el cliente puede conectarse con un ''mysqldump'' o un MySQL ODBC de una versión diferente.</note>
  
-En MySQL 5.5, algunas tablas pueden insertar o leer información en el ''COLLATION'' incorrecto cuando uno se conecta desde clientes de MySQL más nueos, incluyendo conectores como los conectores de Eclipse o DBeaver que usan un conector más nueo que el ODBC 5.1. +En MySQL 5.5, algunas tablas pueden insertar o leer información en el ''COLLATION'' incorrecto cuando uno se conecta desde clientes de MySQL más nuevos, incluyendo conectores como los conectores de Eclipse o DBeaver que usan un conector más nuevo que el ODBC 5.1. 
  
 Para asegurarse que las tablas se generan en el sistema con el COLLATION correcto por defecto, es necesario editar ''my.cnf'' y agregar a la sección ''[mysqld]'' una de las dos siguientes opciones: Para asegurarse que las tablas se generan en el sistema con el COLLATION correcto por defecto, es necesario editar ''my.cnf'' y agregar a la sección ''[mysqld]'' una de las dos siguientes opciones:
Línea 198: 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.1548253757.txt.gz · Última modificación: 2019/01/23 14:29 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0