Instalar MySQL

De BandaAncha.st
Saltar a: navegación, buscar

Objetivos

Instalar MySQL desde los fuentes para poder disponer de la última versión.

Si voy a downloads de mysql.com la última versión disponible es la 5.0.27. Sin embargo en ftp.mysql.com veo que estan disponibles algunas versiones más recientes, como la 5.0.36

Bug en la 5.0.36

He instalado la 5.0.36 y el demonio mysqld se comporta de forma extraña. He tenido que instalar la 5.0.34 con la que todo ha funcionado correctamente.

Pasos previos

Me ha hecho falta un compilador de C++

yum install gcc-c++

Proceso

# añadimos grupo y usuario mysql
groupadd mysql
useradd -g mysql mysql
# bajamos fuentes
wget ftp://ftp.mysql.com/pub/mysql/src/mysql-5.0.36.tar.gz
# descomprimimos
tar -zxvf mysql-5.0.36.tar.gz
# configuramos fuentes
cd mysql-5.0.36
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \
./configure \
	--prefix=/usr/local/mysql \
	--enable-assembler \
	--with-mysqld-ldflags=-all-static
# compilamos
make
# instalamos
make install
# copiamos el my.cnf por defecto
cp support-files/my-medium.cnf /etc/my.cnf
# creamos MySQL grant tables
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
# en este punto con la 5.0.36 me daba "error in my_thread_global_end(): 1 threads didn't exit"
# asignamos permisos
chown -R root .
chown -R mysql var
chgrp -R mysql .
# arrancamos mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
# ponemos pass de root
bin/mysqladmin -u root password 'new-password'
bin/mysqladmin -u root -h levitico.vectrice.com password 'new-password'
# configurar script de inicio en el arranque
#support-files/mysql.server

Arrancar y parar mysqld

Arrancar

/usr/local/mysql/bin/mysqld_safe --user=mysql &

o

/etc/init.d/mysql start

Parar

/usr/local/mysql/bin/mysqladmin shutdown

o

/etc/init.d/mysql stop

Iniciando y parando MySQL automáticamente

cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql