¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Instalar MySQL Server
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.
Linux
Instalar desde el gestor de paquetes de la distribución. Por ejemplo en Debian:
# Debian 7 u 8 --> MySQL 5.5 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)
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/mysql.conf.d/
. El árbol de la base de datos está guardado por defecto en /var/lib/mysql
.
Postinstalación
Los siguientes elementos deben configurarse en el servidor antes de crear las primeras bases de datos e ingresar datos:
1.- Detener el servicio.
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]
:
[mysqld] # Agregar los siguientes campos: # Permitir conexión desde fuera: 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
3.- Reiniciar el servicio:
service mysql start
4.- Agregar el siguiente paquete a la instalación:
apt-get install mysql-utilities
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
Para instalar se usa uno de los instaladores de MySQL Server, “Essentials” o “Community” dependiendo de la versión de MySQL.
Se escogen en general las siguientes opciones de instalación:
- Instalador → Tipo de instalación: Completa.
- Instalador → Configurar el Servicio Ahora.
Una vez que el servidor esté instalado, el software ofrece la opción de configurarlo vía la herramienta de configuración del servicio (“Service Wizard”). Opciones de configuración:
- Tipo de servicio: “Configuración Estándar”.
- Habilitar la casilla
[✔] Iniciar Servicio con Windows
. - Nombre del servicio:
MySQL5
viene por defecto, se puede escoger otro nombre si por cualquier razón es necesario instalar más de un servicio MySQL en un servidor (por ejemplo, dos o tres versiones de MySQL diferentes). - Habilitar la casilla
[✔] Agregar ruta de ejecutables del servicio al %PATH%
. - Deshabilitar la casilla
[ ] Habilitar acceso anónimo
. - Contraseña de root del servicio.
- Confirmar la contraseña de root del servicio.
El archivo de configuración resultante es por defecto %PROGRAMFILES%\MySQL Server\(versión)\my.ini
y el árbol de la base de datos está guardado por defecto en %PROGRAMDATA%\MySQL Server
.
Postinstalación
Los siguientes elementos deben configurarse en el servidor antes de crear las primeras bases de datos e ingresar datos:
1.- Detener el servicio.
Ejecutar → services.msc MySQL → menú contextual → Detener
2.- Editar my.ini
o el archivo de configuración equivalente (depende de la versión de MySQL; revisar las documentaciones oficiales correspondientes) y agregar las siguientes directivas a la sección [mysqld]
:
[mysqld] # Agregar los siguientes campos: # Permitir conexión desde fuera: 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 = normal
Poder guardar los cambios en el archivo puede requerir iniciar el editor de texto o el explorador con privilegios de Administrador de Sistema.
3.- Reiniciar el servicio:
Ejecutar → services.msc MySQL → menú contextual → Iniciar
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”.
Configuración Inicial
Completados estos pasos y ya andando el servicio de MySQL lo que queda es establecer los usuarios y permisos.
Desinstalar
Para desinstalar correctamente ver los pasos en .MySQL Server Desinstalar.
Notas
Debian9 MySQL
1.- Crear el siguiente archivo de repositorio:
nano /etc/apt/sources.list.d/debian-unstable.list
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 continuar con la instalación y poner ojo a las instrucciones.
====Windows I/O Error en Equipos de 64-bit====
<note info>
root 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.
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>
Pendiente
====Usuario local login a root====
<note info>
Para: Linux con MySQL 5.7 en adelante.</note>
Desde MySQL 5.7, el acceso a
por defecto es 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
==== COLLATION por defecto desde clientes nuevos ====
<note info>
mysqldump Para: Servidores MySQL donde el cliente puede conectarse con un
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.
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:
collation-server = utf8_general_ci
collation-server = latin1_general_ci
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.