English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

La mejor manera de actualizar MySQL en práctica

MySQL5.7Se han añadido muchas nuevas características, como: Online DDL, replicación de múltiples fuentes, mejora de semi-sincronización, transferencia de espacio de tabla, biblioteca sys, Group Replication, etc. Finalmente he tenido una oportunidad para actualizar MySQL a5.7,很是兴奋不已。

Estaba muy emocionado.

Resumen de la actualización de MySQL

La esencia de la actualización de MySQL:

Actualización del diccionario de datos

El diccionario de datos tiene: mysql, information_schema, performance_schema, sys schema.

Dos métodos de actualización de MySQL:-in

Actualización place upgrade:

Es adecuado para la actualización de pequeñas versiones.

Es decir: cerrar MySQL actual, reemplazar el archivo binario o paquete actual, reiniciar MySQL en el directorio de datos existente y ejecutar mysql_upgrade.5.5->5.7Características: no cambia los archivos de datos, la velocidad de actualización es rápida; pero, no puede cruzar sistemas operativos, no puede cruzar grandes versiones (

)

Actualización lógica:

Es adecuado para la actualización de MySQL en diferentes sistemas operativos, la actualización entre grandes versiones.

Es decir: utilice mysqldump o mydumper para importar y exportar datos, lograr la actualización de la versión.

Preparativos antes de la actualización:

Características: puede cruzar sistemas operativos, grandes versiones; pero, la velocidad de actualización es lenta, es fácil aparecer problemas de malentendidos de caracteres.

Haga un respaldo anticipado.

Conozca la información de los cambios en la nueva versión (qué ya no es compatible, qué funciones ya no se admiten) 5.7

En la página web oficial, general information->what is new in mysql

Notas de actualización:

Verifique si hay cambios importantes en la nueva versión

Tenga en cuenta los cambios en el modo SQL5.7Por ejemplo: en MySQL

Hubo cambios en el modo SQL, para los modos SQL que ya no se admiten, algunas consultas no pueden ejecutarse, en este momento se puede vaciar el modo SQL, ejecutar después de eso y configurar el modo SQL.

Después de la actualización exitosa, verifique si el SQL del negocio puede ejecutarse correctamente

¿están todos los niveles del programa normales?5.1Algunas veces, parte del lenguaje del programa que se utilizaba anteriormente no es compatible con la nueva versión de la base de datos. Por ejemplo, una vez en4.0, pero se usa PHP5.6, algunas funciones de PHP no son compatibles.

Después de completar la actualización, asegúrese de usar el mismo programa en la prueba que la versión en línea para verificar si hay problemas.

Cambios en el motor de almacenamiento

Por ejemplo: en el futuro5.8Versión, ya no admite el motor myisam.

Tenga en cuenta los problemas de malentendidos de la codificación de caracteres

A continuación, utilice in-Actualizar MySQL con el método place upgrade, llevar MySQL5.6Actualizar a MySQL5.7.

En-Actualizar MySQL con place upgrade

Ambiente:

5.6.15 ->5.7.20

Preparativos antes de la actualización:

respaldo+Tenga en cuenta los cambios en el contenido de la nueva versión
Operaciones de actualización:

1y5.7del paquete de software, descargar, descomprimir

# tar -xzvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql5.7

2、cerrar el MySQL actual (5.6)

# mysql -u root -p -S /datos/mysql3308/mysql3308.sock --ejecutar="SET GLOBAL innodb_fast_shutdown=0"
# mysqladmin -u root -p -S /datos/mysql3308/mysql3308.sock shutdown

3、reemplazar archivos binarios (5.7 reemplazar 5.6)

# cd /usr/local
# mv mysql mysql5.6
# mv mysql5.7 mysql

4、iniciar MySQL con el directorio de datos existente

# mysqld_safe --usuario=mysql --puerto de socket=/datos/mysql3308/mysql3308.sock -p --saltar-conceder-tablas --ruta de datos de archivos=/datos/mysql3308/datos

5、verificar si todas las tablas son compatibles con la versión actual y actualizar las bases de datos del sistema

# mysql_upgrade -uroot -p -S /datos/mysql3308/mysql3308.sock
Nota: El propósito de mysql_upgrade es verificar si todas las tablas de todas las bases de datos son compatibles con la nueva versión actual y actualizar las bases de datos del sistema.

6、reiniciar, asegúrese de que los cambios realizados en las tablas del sistema se hagan efectivos

# mysqld --valores predeterminados-archivo=/datos/mysql3308/mi3308.cnf &
# mysql -uroot -p -S /datos/mysql3308/mysql3308.sock

Hasta aquí, la actualización se ha completado.

Pregunta: ¿Qué hacer si la actualización de MySQL falla?

Al realizar una actualización, generalmente se crea una biblioteca secundaria para la actualización, si la actualización falla, no afectará a la biblioteca principal; si la actualización tiene éxito y la prueba también tiene éxito, se actualizarán gradualmente otras bibliotecas secundarias a la nueva versión, finalmente se desactivará la biblioteca principal y se promoverá una biblioteca secundaria como nueva biblioteca principal, actualizando la versión de la biblioteca principal.

Aviso: El contenido de este artículo se ha obtenido de la red, pertenece al propietario original, el contenido ha sido contribuido y subido por los usuarios de Internet por su propia iniciativa. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @ para denunciar y proporcione evidencia. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción de derechos de autor.)

Te gustará