miércoles, 8 de mayo de 2013

Actualizar directamente desde MySQL 5.1: El servidor dejó sin actualizar el archivo PID

Original post: http://anothermysqldba.blogspot.com/2013/05/upgrading-directly-from-mysql-51-server.html

Me encontré el otro día ... 


Sistema de Oracle fue una muy básica de instalación de Linux que se ha instalado y creado por otra persona.
(Oracle Linux Servidor Unbreakable Enterprise Kernel (2.6.39-400.17.1.el6uek.x86_64))
Parecía que querían que el sistema en funcionamiento y luego me he venido a hacer el resto.

Por cierto, si Oracle va a tomar RedHat Linux y mejorarlo para hacer su propia versión, podrían al menos actualizar sus productos para trabajar con él? MySQL se hizo popular porque era fácil para la gente a partir de las distribuciones, que tiene 5.1 aún en su propia distribución es simplemente extraño.

Bueno, lo primero que debe hacer es actualizar desde Oracle Linux viene con MySQL 5.1.

# rpm -qa |grep mysql
mysql-server-5.1.66-2.el6_3.x86_64
mysql-5.1.66-2.el6_3.x86_64
mysql-libs-5.1.66-2.el6_3.x86_64

Solía ​​5.5 para este ejemplo ....
-rw-r--r--. 1 root root 14976016 Apr 30 06:07 MySQL-client-5.5.31-2.el6.x86_64.rpm
-rw-r--r--. 1 root root 4968092 Apr 30 06:08 MySQL-devel-5.5.31-2.el6.x86_64.rpm
-rw-r--r--. 1 root root 41827172 Apr 30 06:09 MySQL-server-5.5.31-2.el6.x86_64.rpm
-rw-r--r--. 1 root root 3970056 Apr 30 06:09 MySQL-shared-compat-5.5.31-2.el6.x86_64.rpm 

# rpm -Uhv *.rpm
error: Failed dependencies

Así que tuve que eliminar los paquetes de dependencia en primer lugar, y ni siquiera sé por qué lo que realmente los había instalado.

# rpm -Uhv *.rpm 
Ahora viene el triste hecho de que muchos de nosotros hemos visto ...

"Se recomienda una descarga manual y restauración con mysqldump.

Se requiere una actualización manual.

- Asegúrese de que dispone de una completa, copia de seguridad de trabajo de sus datos y my.cnf
Archivos
- Cierre el servidor MySQL limpia
- Quitar los paquetes MySQL existentes. Por lo general, este comando
listar los paquetes que debería eliminar:
rpm-qa | grep-i '^-mysql'

Usted puede optar por utilizar 'rpm - nodeps-ev <package-name>' para eliminar
el paquete que contiene la biblioteca compartida mysqlclient. La
biblioteca se volverá a instalar el paquete MySQL-shared-compat.
- Instale los nuevos paquetes MySQL suministrados por Oracle y / o sus filiales
- Asegúrese de que se inicia el servidor MySQL
- Ejecute el programa 'mysql_fix_privilege_tables' "

Esto es por qué tantas personas podrían ser atrapados en MySQL 5.1, ya que tienen miedo a la muerte para hacer estos cambios. Tuve suerte ya que esta fue una nueva instalación de otro modo sí mantiene una copia de seguridad sería el siguiente paso.

Ya que quería que yo quito todo, entonces no hay razón para decir con MySQL 5.5 así que me trasladé a MySQL 5.6. Después de la eliminación de los paquetes anteriores (rpm-e) y la instalación de la nueva (rpm-ihv), tuve la siguiente
# rpm -qa | grep MySQL
MySQL-client-5.6.11-2.el6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
MySQL-shared-compat-5.6.11-2.el6.x86_64
MySQL-server-5.6.11-2.el6.x86_64
MySQL-devel-5.6.11-2.el6.x86_64

Así que comprobar si hay un fichero my.cnf primero. Como puede ser que quiera hacer cambios si alguien había colocado en en su lugar.
# ls -al /etc/my.cnf
ls: cannot access /etc/my.cnf: No such file or directory


Decido mantenga los valores predeterminados para el propósito de este ejemplo y lo dejé que falta.
# /etc/init.d/mysql start
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/localhost.localdomain.pid).

Se tiene que ser capaz de iniciar antes de mysql_fix_privilege_tables se puede aplicar.

Traté subvenciones salto

# /etc/init.d/mysql start --skip-grant
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/localhost.localdomain.pid). 

En realidad, el registro de errores mostró el verdadero problema: "InnoDB: No se puede abrir o crear el espacio de tabla del sistema"

La cuestión era que construyeron las particiones horriblemente y apenas tenía espacio para la base de datos. ¿Cuándo se debe realizar esto? Ahora mismo. Lo primero que debe hacer es comprobar cuáles son las particiones del sistema son para un sistema que está construyendo.Pero eso sería anular el punto de esta entrada del blog, si he señalado que, en primer lugar.

¿Cuál es la moraleja de todo esto? Si alguna vez ves el error "El servidor dejó sin actualizar el archivo PID" la primera cosa que debe hacer es comprobar el registro de errores. Se le dirá exactamente cuál es el problema.