Posterior a investigar en diferentes repositorios y foros al final descubrimos la solución que te enseñaremos a continuación.
Solución:
Probablemente la forma más rápida es volcar su versión anterior de DB con mysqldump y restaurarlo en 5.7 DB nuevo.
La fluidez del proceso depende de cuántas funciones eliminadas en 5.7 esté usando en 5.5.
En mi caso, la única característica que se eliminó en 5.7 fue marca de tiempo predeterminada ‘0000-00-00 00:00:00’ La solución para eso fue ejecutar sed en el archivo de volcado y reemplace ”0000-00-00 00:00:00′ con CURRENT_TIMESTAMP
sed -i.bu ‘s/”’0000-00-00 00:00:00”’/CURRENT_TIMESTAMP/g’ fixed_dumo.sql
Después de eso, el volcado_fijo.sql se importó a 5.7 DB nuevos y funcionó sin problemas. Espero que esto ayude.
La ruta de actualización es MySQL 5.5 -> MySQL 5.6 -> MySQL 5.7
Consulte https://dev.mysql.com/doc/refman/5.7/en/upgrading.html
paso 1: hacer una copia de seguridad
mysqldump --lock-all-tables -u root -p --all-databases > dump.sql
paso 2: eliminar mysql antiguo
sudo apt-get remove mysql-server
sudo apt-get autoremove
paso 3: instale la nueva versión de mysql 5.6
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
para 5.7
wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server
paso 4: edite sus datos para abordar las diferencias entre las versiones (5.5 y 5.7) Si ha creado una tabla y timestamp(6)
se utiliza la columna que los valores predeterminados deben cambiarse de CURRENT_TIMESTAMP
a CURRENT_TIMESTAMP(6)
`event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
paso 5: restaura tus datos
mysql -u root -p < dump.sql
paso 6: intente agregar un nuevo usuario de base de datos. Para validar y solucionar problemas introducidos por la importación de tablas del sistema como usuarios (ERROR 1805 (HY000): Column count of mysql.user is wrong.
)
mysql_upgrade -u root -p