Instalación MySql Server

Instalación utilizando binarios

Oracle proporciona un conjunto de distribuciones binarias de MySQL. Estas incluyen distribuciones genéricas binarias en forma de archivos tar, archivos con una tar.xz como extensión. Existen diferentes binarios specíficos para cada plataforma. En esta sección vamos a ver la instalación de MySQL desde una distribución binaria de archivo tar comprimido para la plataforma Unix/Linux.

Ejemplo para descargar el binario:

terminal>wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

Para buscar la última versión disponible, visite la página de descargas de MySQL en:

https://downloads.mysql.com/archives/community
````

Advertencias:

* Si ha instalado previamnente una versión de MySql utilizando YUM/APT (Gestores de paquetes) puede experimentar problemas. Asegurarse de eliminar las aplicaciones y ficheros de configuración completamente del sistema
* MySql depende de la biblioteca **libaio**, si es necesario instalela utilizando el administrador de paquetes adecuado.
terminal> apt-cache search libaio # search for info terminal> apt-get install libaio1 # install library for APT-based systems
Para instalar una distribución binaria de archivo tar comprimido , descomprímalo en la ubicación de instalación que elija (normalmente /usr/local/mysql). Esto crea los directorios que se muestran en la siguiente tabla.

| **Directorio** | **Contenido** |
| - | - |
| bin | programas de utilidad, cliente y servidor **mysqld** |
| docs | Manual de MySQL en formato Info |
| man | Páginas de manual de Unix |
| include | Páginas de manual de Unix |
| lib | Bibliotecas |
| share | Mensajes de error, diccionario y SQL para la instalación de la base de datos |
| support-files | Archivos de soporte varios |

La secuencia de comandos para instalar MySql es la siguiente:

```terminal
terminal> groupadd mysql
terminal> useradd -r -g mysql -s /bin/false mysql
terminal> cd /usr/local
terminal> tar xvf /path/to/mysql-VERSION-OS.tar.xz
terminal> ln -s full-path-to-mysql-VERSION-OS mysql
terminal> export PATH=$PATH:/usr/local/mysql/bin
terminal> cd mysql
terminal> mkdir mysql-files
terminal> chown mysql:mysql mysql-files
terminal> chmod 750 mysql-files
terminal> bin/mysqld --initialize --user=mysql
terminal> bin/mysql_ssl_rsa_setup
terminal> bin/mysqld_safe --user=mysql & # Next command is optional
terminal> cp support-files/mysql.server /etc/init.d/mysql.server

Este proceso asume que tenemos acceso root al sistema. Alternativamente podemos prefijar cada comando usando el comando sudo

Crear un usuario y un grupo de mysql

Si su sistema aún no tiene un usuario y un grupo para usar para ejecutar mysqld, es posible que deba crearlos. La sintaxis de useradd y groupadd puede diferir ligeramente en diferentes versiones de Unix/Linux, o pueden tener diferentes nombres como adduser y addgroup.

terminal> groupadd mysql
terminal> useradd -r -g mysql -s /bin/false mysql

Debido a que el usuario solo es necesario para fines de propiedad, no de inicio de sesión, el comando useradd utiliza las opciones -ry -s /bin/false para crear un usuario que no tenga permisos de inicio de sesión en el servidor.

Obtenga y desempaquete la aplicación

Elija el directorio en el que desea descomprimir la distribución y cambie la ubicación en él. El ejemplo aquí descomprime la distribución en /usr/local. Por lo tanto, las instrucciones asumen que tiene permiso para crear archivos y directorios en /usr/local. Si ese directorio está protegido, debe realizar la instalación como root. Obtenga un archivo de distribución siguiendo las instrucciones de la “Cómo obtener MySQL” de la documentación de MySql. Para una versión determinada, las distribuciones binarias para todas las plataformas se crean a partir de la misma distribución fuente de MySQL. Desempaquete la distribución, que crea el directorio de instalación. tar puede descomprimir y descomprimir la distribución si tiene la zopción de soporte:

terminal> cd /usr/local
terminal> tar xvf /path/to/mysql-VERSION-OS.tar.xz
El comando tar crea un directorio llamado .mysql-VERSION-OS

Si su tar no es compatible con xz utilizar el siguiente comando:

terminal> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x
Por último crear el enlace simbólico a la carpeta de instalación y agregar el directorio al path para que sea más sencillo acceder a los programas.
terminal> ln -s full-path-to-mysql-VERSION-OS mysql
terminal> export PATH=$PATH:/usr/local/mysql/bin
Por último saltar a: Configuración y pruebas posteriores a la instalación.

Instalación utilizando el gestor de paquetes APT de linux.

Al igual que en el punto anterior, asumimos que en el sistema no se ha instalado previamente ninguna verisón de MySql Server o ha sido eliminada completamente.

Pasos para una nueva instalación de MySql

Primero agragar el paquete .deb del repositorio APT de MySql. Podemos descargarlo del reporsitorio. Instalar el paquete con el siguiente comando (reemplazar x-y-z con la versión utlizada)

terminal> sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb
Durante la instalación del paquete, se pedirá que elija las versiones del servidor MySQL y otros componentes (por ejemplo, MySQL Workbench) que quieres instalar. Si no estás seguro de qué versión elegir, no cambies las opciones predeterminadas seleccionadas. Actualizar la información de los repositiorios paso obligado
terminal> sudo apt-get update

Instalación del paquete con APT

Instalar con el comando:

terminal> sudo apt-get install mysql-server
Esto instala el paquete para el servidor MySQL, así como los paquetes para el cliente y para los archivos comunes de la base de datos. Durante la instalación, se le pedirá que proporcione una contraseña para el usuario root para su instalación de MySQL.

Iniciar y detener el servidor

El servidor MySQL se inicia automáticamente después de la instalación. Puede verificar el estado del servidor MySQL con el siguiente comando:

terminal> systemctl status mysql
Si el sistema operativo está habilitado para systemd, los comandos estándar systemctl (o alternativamente, servicio con los argumentos invertidos) como detener, iniciar, estado y reiniciar deben usarse para administrar el servicio del servidor MySQL. El servicio mysql está habilitado de forma predeterminada y se inicia al reiniciar el sistema. Consulte Administrar MySQL Server con systemd para obtener información adicional.

Opciones de systemctl.

Opcion Significado Comando
stop Detener el servicio systemctl stop mysql
start Iniciar el servicio systemctl start mysql
restart Reiniciar el servicio (star/stop) systemctl restart mysql
reload Recargar la configuración systemctl reload mysql

Instalar componentes adicionales de MySql

Puedes usar APT para instalar componentes individuales de MySQL desde el repositorio APT de MySQL. Suponiendo que ya tiene el repositorio APT de MySQL en la lista de repositorios de su sistema. Primero, use el siguiente comando para obtener la información más reciente del paquete del repositorio APT de MySQL:

terminal> sudo apt-get update
Ejemplos:
terminal> sudo apt-get install mysql-workbench-community #cliente workbench
terminal> sudo apt-get install libmysqlclient21 #bibliotecas cliente compartidas

Actualizar la versión de MySql Server

Advertencias: * Tener una copiar de seguridad previa de la información antes de actualizar * Si es posible probar primero en un servidor de preproducción * Los comandos que veremos a continuación no sirven si la instalación previa no es de Oracle... Si es MariaDB o Percona

Primero asegurarse que tenemos el repositorio MySQL apt en nuestra lista de repositorios Actualizar el sistema

terminal> sudo apt-get update
Como regla general, para actualizar de una serie de lanzamientos a otra, vaya a la siguiente serie en lugar de omitir una serie. Por ejemplo, si actualmente estás ejecutando MySQL 5.5 y deseas actualizar a una serie más nueva, actualiza primero a MySQL 5.6 antes de actualizar a 5.7, y así sucesivamente. Actualizar con el siguiente comando:

terminal> sudo apt-get install mysql-server

Si hay que actualizar otros paquetes utilizar el mismo comando:

terminal> sudo apt-get install packege-name

Para saber el nombre delos paquetes instalados desde el repositorio APT de MySQL, use el siguiente comando:

terminal> dpkg -l | grep mysql | grep ii
Advertencia: Si realizas una actualización de todo el sistema mediante apt-get upgrade , solo la biblioteca MySQL y los paquetes de desarrollo se actualizan con versiones más recientes (si están disponibles). Para actualizar otros componentes, incluido el servidor, el cliente, la suite de pruebas, etc., use el comando apt-get install. El servidor MySQL siempre se reinicia después de una actualización de APT. Antes de MySQL 8.0.16, ejecute mysql_upgrade después de que el servidor se reinicia para verificar y posiblemente resolver cualquier incompatibilidad entre los datos antiguos y el software actualizado. mysql_upgrade también realiza otras funciones; consulte mysql_upgrade. A partir de MySQL 8.0.16, este paso no es necesario, ya que el servidor realiza todas las tareas previamente manejadas por mysql_upgrade.

Eliminando MySql con APT

Para desinstalar el servidor MySQL y los componentes relacionados que se han instalado usando el repositorio APT de MySQL, elimine el servidor MySQL y cualquier otro software que se haya instalado automáticamente usando los siguientes comandos:

terminal> sudo apt-get remove mysql-server
terminal> sudo apt-get autoremove
Para desinstalar otros paquetes instalados manualmente utilizar:

terminal> sudo apt-get remove package-name

Para ver una lista de los paquetes que han instalado desde el repositorio APT de MySQL, use el siguiente comando:

terminal> dpkg -l | grep mysql | grep ii

Paquetes disponibles del repositorio APT de Mysql

Package Name Description
mysql-server Metapackage for installing the MySQL server
mysql-community-server MySQL server
mysql-client Metapackage for installing the MySQL client
mysql-cluster-community-auto-installer * Auto installer for NDB Cluster
mysql-cluster-community-client MySQL client for NDB Cluster
mysql-cluster-community-data-node NDB Cluster data node
mysql-cluster-community-java NDB Cluster Java drivers
mysql-cluster-community-management-server NDB Cluster management node
mysql-cluster-community-memcached NDB Cluster memcached server
mysql-cluster-community-nodejs NDB Cluster Node.js adapters
mysql-cluster-community-server MySQL server for NDB Cluster
mysql-cluster-community-source Source package for NDB Cluster
mysql-cluster-community-test NDB Cluster testsuite
mysql-community-client MySQL client
mysql-common MySQL database common files
libmysqlclient21 MySQL database client library
libmysqlclient-dev MySQL database development files
libmysqld-dev MySQL embedded database development files
mysql-testsuite Metapackage for installing the MySQL test suite
mysql-community-test MySQL test suite
mysql-community-bench MySQL benchmark suite
mysql-community-source MySQL source code
mysql-workbench-community MySQL Workbench (not available for Debian platforms)
mysql-connector-python-py3 MySQL Connector/Python for supported Ubuntu versions with Python 3.2 or later
mysql-connector-python MySQL Connector/Python for supported Debian versions with Python 2.6.3 or later, and for supported Ubuntu versions with Python 2.6.3 to 3.1
mysql-router MySQL Router
ndbclient NDB Cluster client
ndbclient-dev NDB Cluster client development library

Configuración y pruebas posteriores a la instalación

Después de instalar MySQL, se debe inicializar el directorio de datos, incluidas las tablas en el esquema mysql del sistema: * Para algunos métodos de instalación de MySQL, la inicialización del directorio de datos es automática * Para otros métodos de instalación, se debe inicializar el directorio de datos manualmente. Estos incluyen la instalación desde distribuciones genéricas binarias y de origen en sistemas Unix y similares a Unix, y la instalación desde un paquete ZIP en Windows. En general, cuando instalamos desde un instalador (exe o msi en Windows o apt/yum en linux) la inicialización del directorio es automática. Cuando la instalación es mediante la copia de binarios o compilación hay que iniciar estos direcrtorios manualmente.

Inicialización del directorio de datos

Descripción general de la inicialización

Esta sección describe cómo inicializar el directorio de datos manualmente para los métodos de instalación de MySQL para los cuales la inicialización del directorio de datos no es automática. Advertencia. En MySQL 8.0, el complemento de autenticación predeterminado ha cambiado de mysql_native_password a caching_sha2_password, y la cuenta 'root'@'localhost' administrativa utiliza caching_sha2_password de forma predeterminada. Si prefiere que la cuenta root utilice el complemento de autenticación predeterminado anterior ( mysql_native_password), consulte caching_sha2_password y la cuenta administrativa raíz. Los pasos son los siguientes: * Cambiar la ubicación al nivel superior de instalación de mysql * Crear un directorio * Otorgar la propiedad de la carpeta al usuario y grupo mysql * Utilizar el servidor para inicializar el directorio de datos

terminal> cd /usr/local/mysql
terminal> mkdir mysql-files
terminal> chown mysql:mysql mysql-files
terminal> chmod 750 mysql-files
terminal> bin/mysqld --initialize --user=mysql
Si queremos implementar el soporte automático para conexiones seguras, hay que utilizar la tilidad mysql_ssl_rsa_etup para crear los archivos SSL y RSA respectivamente
terminal>bin/mysql_ssl_rsa_setup

Procedimiento de inicialización del directorio de datos

Cambiar la ubicación al nivel superior de instalación de mysql.

terminal> cd /usr/local/mysql
Para inicializar el directorio de datos, invoque mysqld con la opción --initialize o --initialize-insecure, dependiendo de si desea que el servidor genere una contraseña inicial aleatoria para la cuenta 'root'@'localhost', o cree esa cuenta sin contraseña:

  • Use --initialize para la instalación "segura por defecto" (es decir, incluida la generación de una rootcontraseña inicial aleatoria). En este caso, la contraseña se marca como caducada y debe elegir una nueva.

  • Con --initialize-insecure, no se genera ninguna contraseña para root. Esto es inseguro; se supone que tiene la intención de asignar una contraseña a la cuenta de manera oportuna antes de poner el servidor en uso de producción.

En sistemas Unix y similares a Unix, es importante que los directorios y archivos de la base de datos sean propiedad de la cuenta mysql de inicio de sesión para que el servidor tenga acceso de lectura y escritura a ellos cuando lo ejecute más tarde. Para garantizar esto inicia mysqld desde la cuenta root del sistema e incluye la opción --user como se muestra aquí:

terminal> bin/mysqld --initialize --user=mysql
terminal> bin/mysqld --initialize-insecure --user=mysql

Podría ser necesario especificar otras opciones, como --basedir o --datadir si mysqld no puede identificar las ubicaciones correctas para el directorio de instalación o el directorio de datos. Por ejemplo (ingrese el comando en una sola línea):

terminal> bin/mysqld --initialize --user=mysql
  --basedir=/opt/mysql/mysql
  --datadir=/opt/mysql/mysql/data
Alternativamente, coloca la configuración de opciones relevante en un archivo de opciones y pase el nombre de ese archivo a mysqld. Para sistemas Unix y similares a Unix, supon que el nombre del archivo de opciones es /opt/mysql/mysql/etc/my.cnf. Pon estas líneas en el archivo:

[mysqld]
basedir=/opt/mysql/mysql
datadir=/opt/mysql/mysql/data

Acciones en el servidor durante la inicialización del directorio de datos

Cuando se invoca con la opción --initialize o --initialize-insecure, mysqld realiza las siguientes acciones durante la secuencia de inicialización del directorio de datos: * El servidor verifica la existencia del directorio de datos (si no existe lo crea) * Si el directorio de datos existe pero no está vacio, el servidor se cierra después de producir un mensaje de error:

[ERROR] --initialize specified but the data directory exists. Aborting.
En este caso, elimine o cambie el nombre del directorio de datos y vuelva a intentarlo. Se permite que un directorio de datos existente no esté vacío si cada entrada tiene un nombre que comienza con un punto (.). * Dentro del directorio de datos el servidor crea el esquema de mysql y sus tablas, incluidas las tablas del diccionario de datos, las tablas de concesión, las tablas de zona horaria y las tablas de ayuda del lado del servidor. * El servidor inicializa el espacio de la tabla del sistema y las estructuras de datos relacionadas necesarias para administrar las tablas InnoDB * El servidor crea una cuenta 'root'@'localhost' de superusuario y otras cuentas reservadas + Con --initialize pero sin --initialize-insecure, el servidor genera una contraseña aleatoria, la marca como caducada y escribe un mensaje que muestra la contraseña.

* Con *--initialize-insecure*, (ya sea con o sin --initialize porque --initialize-insecure implica --initialize), el servidor no genera una contraseña ni la marca caducada, y escribe un mensaje de advertencia:

#initialice
[Warning] A temporary password is generated for root@localhost:
iTag*AfrH5ej
#initialize-insecure
[Warning] root@localhost is created with an empty password ! Please
consider switching off the --initialize-insecure option.
* El servidor completa las tablas de ayuda del lado del servidor que se utilizan para la declaración HELP * Si se proporcionó la varianle init_file del sistema para nombrar un archivo de sentencias SQL, el servidor ejecuta las sentencias en el archivo. Esta opción le permite realizar secuencias de arranque personalizadas. * Por último se cierra el servidor

Asignación de la contrseña root posterior a la inicialización

Estos son los pasos a seguir: * Iniciar el servidor * Conectarse al servidor

mysql -u root -p
* Luego, cuando se le solicite la contraseña, ingrese la contraseña aleatoria que generó el servidor durante la secuencia de inicialización:
Enter password: (enter the random root password here)
* Si inició con --initialize-insecure conectarse sin contraseña. Después de conectarse unse ALTER USER para generar una nueva contraseña.
mysql -u root --skip-password
...
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

Iniciar el servidor

Para iniciar el servidor:

terminal> systemctl start mysqld
ó si la instalación incluye mysqld_safe
terminal> bin/mysqld_safe --user=mysql &
Es importante que el servidor MySQL se ejecute con una cuenta root de inicio de sesión sin privilegios (sin ). Para garantizar esto, ejecute mysqld_safe como root e incluya la opción --user como se muestra. De lo contrario, debe ejecutar el programa mientras está conectado como mysql, en cuyo caso puede omitir la opción --user del comando.

Probar el servidor

Después de inicializar el directorio de datos y de haber iniciado el servidor, realizar algunas pruebas sencillas para asegurarse de que funciona satisfactoriamente. Esta sección asume que su ubicación actual es el directorio de instalación de MySQL y que tiene un subdirectorio bin que contiene los programas de MySQL usados ​​aquí. Si eso no es cierto, ajuste los nombres de la ruta de comando en consecuencia.

Alternativamente, agregue el directorio bin a su configuración de variable de entorno PATH. Eso permite que su terminal (intérprete de comandos) encuentre programas MySQL correctamente, de modo que pueda ejecutar un programa escribiendo solo su nombre, no su nombre de ruta.

Utilice mysqladmin para verificar que el servidor se esté ejecutando. Los siguientes comandos proporcionan pruebas simples para verificar si el servidor está funcionando y respondiendo a las conexiones:

terminal> bin/mysqladmin version
terminal> bin/mysqladmin variables
Si no puedes conectarte al servidor, especifica una opción -u root para conectarte. Si ya ha asignado una contraseña para la rootcuenta, también deberá especificar -p. Por ejemplo:
terminal> bin/mysqladmin -u root -p version
Enter password: (enter root password here)
La salida debería ser similar a:
terminal> bin/mysqladmin version
mysqladmin  Ver 14.12 Distrib 8.0.26, for pc-linux-gnu on i686
...

Server version          8.0.26
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 14 days 5 hours 5 min 21 sec

Threads: 1  Questions: 366  Slow queries: 0
Opens: 0  Flush tables: 1  Open tables: 19
Queries per second avg: 0.000
Verifique que puede apagar el servidor (incluya una opción -p si la cuenta root ya tiene una contraseña):
terminal> bin/mysqladmin -u root shutdown

Verifique que pueda iniciar el servidor nuevamente. Haga esto usando mysqld_safe o invocando mysqld directamente. Por ejemplo:

terminal> bin/mysqld_safe --user=mysql &
Utilice mysqlshow para ver qué bases de datos existen:
terminal> bin/mysqlshow
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

Asegurar la cuenta inicial de MySQL

Esta sección describe cómo asignar una contraseña a la cuenta root inicial creada durante el procedimiento de instalación de MySQL, si aún no lo has hecho.

Advertencia: * En todas las plataformas, la distribución de MySQL incluye mysql_secure_installation , una utilidad de línea de comandos que automatiza gran parte del proceso de asegurar una instalación de MySQL.

Es posible que ya se haya asignado una contraseña a la cuenta inicial en las siguiente scircunstancias: * Las instalaciones que utilizan paquetes Debian le dan la opción de asignar una contraseña. * Para la inicialización del directorio de datos realizada manualmente usando mysqld --initialize, mysqld genera una contraseña aleatoria inicial, la marca como vencida y la escribe en el registro de errores del servidor.

La tabla mysql.user de concesión define la cuenta de usuario inicial de MySQL y sus privilegios de acceso. La instalación de MySQL crea solo una cuenta 'root'@'localhost' de superusuario que tiene todos los privilegios y puede hacer cualquier cosa. Si la cuenta root tiene una contraseña vacía, la instalación de MySQL está desprotegida: cualquiera puede conectarse al servidor MySQL root sin una contraseña y recibir todos los privilegios.

Para asignar una contraseña para la cuenat root MySQL inicial, utilice el siguiente procedimiento. Reemplace root-password en los ejemplos con la contraseña que desea usar.

Si la cuenta root existe con una contraseña aleatoria inicial que ha caducado, conéctate al servidor usando root esa contraseña, luego elige una nueva contraseña.

terminal> mysql -u root -p
Enter password: (enter the random root password here)
Elija una nueva contraseña para reemplazar la contraseña aleatoria:
...
...
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
Si la cuenta root existe pero no tiene contraseña, conéctate al servidor root sin usar contraseña, luego asigna una contraseña. Este es el caso si inicializó el directorio de datos usando mysqld --initialize-insecure.

Conéctate al servidor root sin usar contraseña:

terminal> mysql -u root --skip-password
Asignar una contraseña:
...
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

Actualización de mysql

Rutas de actualización

  • Se admite la actualización de MySQL 5.7 a 8.0. Sin embargo, la actualización solo se admite entre las versiones de disponibilidad general (GA). Para MySQL 8.0, es necesario que actualice desde una versión de MySQL 5.7 GA (5.7.9 o superior). No se admiten actualizaciones de versiones no GA de MySQL 5.7.

  • Se recomienda actualizar a la última versión antes de actualizar a la siguiente versión. Por ejemplo, actualice a la última versión de MySQL 5.7 antes de actualizar a MySQL 8.0.

  • No se admite la actualización que omite versiones. Por ejemplo, no se admite la actualización directa de MySQL 5.6 a 8.0.

  • Una vez que una serie de lanzamientos alcanza el estado de Disponibilidad general (GA), se admite la actualización dentro de la serie de lanzamientos (de una versión GA a otra versión GA). Por ejemplo, actualizar desde MySQL 8.0.x a 8.0.y está apoyado. (No se admite la actualización que involucre versiones de estado de desarrollo que no sean de GA). También se admite la omisión de una versión. Por ejemplo, actualizar desde MySQL 8.0.x a 8.0.z está apoyado. MySQL 8.0.11 es la primera versión de estado GA dentro de la serie de versiones MySQL 8.0.

Qué actualiza el proceso de actualización de MySQL

La instalación de una nueva versión de MySQL puede requerir la actualización de estas partes de la instalación existente: * Paso 1: Actualización del diccionario de datos * Paso 2: Actualización del servidor

La siguiente lista muestra los comandos de actualización anteriores a MySQL 8.0.16 y los comandos equivalentes para MySQL 8.0.16 y versiones posteriores:

  • Realice una actualización normal (pasos 1 y 2 según sea necesario):

    • Antes de MySQL 8.0.16: [ mysqld ] seguido de [ mysql_upgrade ]
    • A partir de MySQL 8.0.16: [ mysqld ]
  • Realice solo el paso 1 según sea necesario:

    • Antes de MySQL 8.0.16: no es posible realizar todas las tareas de actualización descritas en el paso 1 excluyendo las descritas en el paso 2. Sin embargo, puede evitar actualizar los esquemas de usuario y el esquema sys usando [ mysqld ] seguido de [ mysql_upgrade ] con las opciones [--upgrade-system-tables] y [--skip-sys-schema].

    • A partir de MySQL 8.0.16: [mysqld --upgrade = MINIMAL]

  • Realice el paso 1 según sea necesario y fuerce el paso 2:

    • Antes de MySQL 8.0.16: [ mysqld ] seguido de [mysql_upgrade --force]

    • A partir de MySQL 8.0.16: [mysqld --upgrade = FORCE]

### Actualización con el repositorio APT de MySQL

  • Antes de realizar cualquier actualización a MySQL, siga cuidadosamente las instrucciones en [Actualización de MySQL]. Entre otras instrucciones discutidas allí, es especialmente importante hacer una copia de seguridad de su base de datos antes de la actualización .

  • Las siguientes instrucciones asumen que MySQL se ha instalado en su sistema usando el repositorio APT de MySQL; si ese no es el caso, siga las instrucciones que se dan en [Reemplazo de una distribución nativa de MySQL usando el repositorio APT de MySQL] o [Reemplazo de un servidor MySQL instalado por una descarga directa del paquete deb]. También tenga en cuenta que no puede usar el repositorio APT de MySQL para actualizar una distribución de MySQL que haya instalado desde un repositorio de software no nativo (por ejemplo, de MariaDB o Percona).

  • Aseguresé de que tiene el repositorio APT de MySQL en la lista de repositiorios de su sistema

  • Asegurarte de que tienes la información del paquete más actualizado
    terminal> sudo apt-get update
    
  • Utilice el comando:

terminal> apt-get install mysql-server
4. Para acutlizar cualquier otro paquete:
terminal> apt-get install package-name
5. Para ver los nombres de los paquetes intalados
terminal> dpkg -l | grep mysql | grep ii
6. El servidor se reiniciará después de una actualización. Antes de MySQL 8.0.16, ejecute mysql_upgrade después de que el servidor se reinicie para verificar y posiblemente resolver cualquier incompatibilidad entre los datos antiguos y el software actualizado. A partir de MySQL 8.0.16, este paso no es necesario, ya que el servidor realiza todas las tareas previamente manejadas por mysql_upgrade.

Copia de seguridad

Para evitar la pérdida de datos, siempre haga una copia de seguridad de su base de datos antes de intentar reemplazar su instalación de MySQL usando el repositorio APT de MySQL. Más adelante veremos como realizar estas copias.