En esta entrada, se va a proceder a explicar como actualizar MySQL a la versión 5.6 o 5.7.
Para ello, lo primero de todo es realizar un backup/dump de todas las bases de datos. Podemos realizar un backup de todas las bbdd en un único fichero:
mysqldump -u root -p --all-databases > allbbdd.sql
O bien generar un pequeño script que nos la separe por ficheros, editando el usuario y contraseña, por supuesto.:
#! /bin/bash MYSQL_USER="root" MYSQL_PASS="5BOatYsnVvlq" # The current date date=$(date +%Y-%m-%d) # The folder that will cointain all the backups BACKUP_DIR=/root/backup/$date # End user defined variables # If the output folder doesn't exists create it test -d $BACKUP_DIR || mkdir -p $BACKUP_DIR # Get the database list, excluding some db names for db in $(mysql -B -s -u $MYSQL_USER --password=$MYSQL_PASS -e 'show databases' | grep -vE '(information_schema|performance_schema|mysql)' ) do # dump each database in a separate file mysqldump -u $MYSQL_USER --password=$MYSQL_PASS $db | gzip > $BACKUP_DIR/$db.sql.gz done
Una vez tengamos el backup, procedemos parar MySQL a hacer un backup del datadir de MySQL
mkdir /var/lib/mysqlcopy
cp -aR /var/lib/mysql/* /var/lib/mysqlcopy
Después, instalamos el repositorio community de MySQL (Importante, si tenemos activo el repositorio de ATOMIC, será necesario deshabilitarlo):
yum install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
Ahora, editamos el repositorio y habilitamos la versión que nos interese, por ejemplo, a continuación se activa la versión 5.6 pero desactivamos la 5.7
vim /etc/yum.repos.d/mysql-community.repo
[mysql56-community] enabled=1 [mysql57-community] enabled=0
Una vez hecho esto, simplemente instalamos MySQL:
yum install mysql
Después, editaremos el fichero /etc/my.cnf y añadiremos la opción skip-grant-tables, de lo contrario no podremos entrar en MySQL. Una vez hecho esto, lanzaremos el siguiente comando que procederá con el upgrade de las bbdd a 5.6:
mysql_upgrade -uadmin -p
(Insertar el usuario y contraseña en cuestión)
Y por último, comentamos la línea skip-grant-tables añadida anteriormente y reiniciamos mysqld.
Ya está, hemos actualizado MySQL a 5.6.
0 comentarios