miércoles, 16 de enero de 2013

How to ... Como instalar MySQL 5.1 en Ubuntu 12.04


MySQLPues esta semana he estado peleándome con la instalación de MySQL 5.1 en Ubuntu 12.04. Resulta que esta versión de la popular base de datos no está disponible desde los repositorios y tenemos que hacernos una instalación manual. Para ello tenemos que hacer lo siguiente que os voy indicando.

  1. Lo primero que tenemos que instalar es el build-essential. Un paquete que lleva entre otros componentes el compilador gcc. Para ello:
    sudo apt-get install build-essential
  2. Antes de comenzar con la instalación de MySQL necesitamos algunas herramientas como ncurses. Para realizar la instalacion del mismo tenemos que hacer lo siguiente:
    wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
    tar xzf ncurses-5.7.tar.gz
    cd ncurses-5.7
    ./configure --prefix=/opt/ncurses
    make
    sudo make install
  3. Lo primero de todo es descarganos la versión que deseemos de MySQL. En mi caso la que necesito es la 5.1.39 ya que es la que está testeada con Alfresco 3.2 y se que no me va a dar problemas. Para ello:
    wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.39.tar.gz

  4.  Una vez que hemos descargado el paquete lo descomprimimos y nos vamos a esa carpeta con:
    tar xzf mysql-5.1.39.tar.gz
    cd mysql-5.1.39
  5. Lo siguiente es preparar la instalación con:
    ./configure  --enable-community-features --prefix=/opt/mysql/ --enable-local-infile --with-mysqld-user=mysql --with-big-tables --with-plugins=partition,blackhole,federated,heap,innodb_plugin --without-docs --with-named-curses-libs=/opt/ncurses/lib/libncurses.a
  6. El siguiente paso sería realizar el make y make install pero antes se tiene que aplicar un parche debido a cambios producidos en el compilador. Este podemos bajarlo de aquí y podemos encontrar mas información sobre el error aquí. Tenemos que copiarlo al directorio donde estamos trabajando con winSCP o con scp y para aplicarlo ejecutamos: 
    patch < do_abi_check_off.patch
  7. Ahora ya si podemos ejecutar los dos últimos comandos:
    make
    sudo make install
  8. Ahora tenemos que incializar la base de datos:
    cd scripts
    sudo ./mysql_install_db --user=mysql
  9. Por último  nos falta un par de comandos para la creacion del usuario mysql y ya podremos arrancar nuestra base de datos:
    groupadd mysql
    useradd -g mysql mysql
    ./mysqld_safe &
  10. Ahora ya tendremos acceso a MySQL con el siguiente comando un sin contraseña:
    mysql -u root -p
Y con esto ya tenemos MySQL instalado y funcionando compilando nosotros mismos desde el códifo fuente. Si necesitáis ayuda no tenéis mas que preguntar!!

PD: Esta información ha sido extraida y procesada de:

7 comentarios :

  1. En el punto 6, la direccion del parche esta errada, el parche correcto esta en la siguiente URL http://bugs.mysql.com/file.php?id=14953

    ResponderEliminar
    Respuestas
    1. Hola Mi derecho a opinar,
      No está errónea solamente que yo he puesto la dirección del bug y desde ahí puedes llegar al fichero con el patch. La dirección que tu indicas es más directa ya que directamente se descarga el fichero.
      Un abrazo y muchas gracias por comentar.

      Eliminar
  2. cuando hago: sudo ./mysql_install_db --user=mysql obtengo

    If you compiled from source, you need to run 'make install' to
    copy the software into the correct location ready for operation.

    If you are using a binary release, you must either be at the top
    level of the extracted archive, or pass the --basedir option
    pointing to that location.

    Pero ya hice el make install sin errores.

    ResponderEliminar
    Respuestas
    1. jaja me olvide la primer mitad del error, aca va:

      FATAL ERROR: Could not find mysqld

      The following directories were searched:

      /usr/libexec
      /usr/sbin
      /usr/bin

      Eliminar
    2. Me pillas un poco liado. Si puedo mirártelo esta semana te aviso. Lo siento :(

      Eliminar
    3. Hola,

      Necesitas especificar el path donde esta instalado mysql, prueba con:

      sudo scripts/mysql_install_db --basedir=/opt/mysql --user=mysql

      Eliminar
  3. Me gusta usar con MySQL en ubuntu - herramienta gratuita de Valentina Studio, hace todo lo que necesito, y lo hace muy bien http://www.valentina-db.com/en/valentina-studio-overview

    ResponderEliminar