Instalar MySQL

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

Objetivos[editar]

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[editar]

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[editar]

Me ha hecho falta un compilador de C++

yum install gcc-c++

Proceso[editar]

# 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[editar]

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[editar]

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