¿Cómo instalar MySQL en Ubuntu 14.04?

Actualizado el 6 de septiembre, 2016. Por OpenCloud.

MySQL es un sistema de gestión de bases de datos utilizados para web y aplicaciones de servidor. Esta guía presenta la instalación, configuración y gestión de MySQL en un servidor con Ubuntu 14.04 LTS (Trusty Tahr).

Esta guía está escrita para un usuario no root. Los comandos que requieren privilegios elevados están precedidos por sudo.

Antes de comenzar

  1. Asegúrese de seguir nuestra guía de seguridad Además será necesario que tenga establecido un hostname. Para verificar su hostname puede ejecutar:

    hostname  
    hostname -f
    

    El primer comando debería mostrar el hostname corto, y el segundo debería mostrar el nombre de dominio completamente calificado (o FQDN, por sus siglas en inglés).

  2. Actualice su sistema:

    sudo apt-get update
    sudo apt-get upgrade
    

Instalar MySQL

Ejecute el siguiente comando en su shell de Ubuntu:

sudo apt-get install mysql-server

Durante el proceso de instalación, se le pedirá que establezca una contraseña para el usuario root de MySQL tal como se muestra a continuación. Seleccione una contraseña sólida y guárdela en un lugar seguro para futuras consultas.

Anexo 1 Instalación MySQL

Nota:
No se aconseja permitir acceso sin restricciones a MySQL bajo una IP pública, pero puede cambiar la dirección en la que escucha MySQL modificando el parámetro bind-address en el archivo /etc/my.cnf. Si decide vincular MySQL a su IP pública, deberá implementar reglas de firewall que solo admitan conexiones desde direcciones IP específicas. Para más información sobre cómo configurar un firewall usando iptables visite nuestro tutorial: iptables.

Fortalecer su servidor MySQL

Ejecute el script mysql_secure_installation para hacer frente a varios problemas de seguridad en una instalación predeterminada de MySQL.

sudo mysql_secure_installation

Se le dará la opción de cambiar su contraseña root de MySQL, eliminar cuentas de usuario anónimas, deshabilitar los inicios de sesión root fuera del localhost y eliminar bases de datos de prueba. Se recomienda contestar yes a todas estas opciones durante la instalación.

Usar MySQL

La herramienta estándar para el uso de MySQL es el cliente mysqlque se instala con el paquete mysql-server. El cliente MySQL se utilizada a través de un terminal.

Inicio de sesión con usuario root

  1. Para iniciar sesión como usuario root:

    mysql -u root -p
    
  2. Coloque la contraseña root que estableció al momento de ejecutar el script mysql_secure_installation. Podrá observar que ingresó correctamente debido prompt del monitor MySQL:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 42
    Server version: 5.5.50-0ubuntu0.14.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    
  3. Para generar una lista de los comandos disponibles, ingrese \h y presione Enter. Entonces observará algo similar a lo siguiente:

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (\?) Synonym for `help'.
    clear     (\c) Clear the current input statement.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter.
    edit      (\e) Edit command with $EDITOR.
    ego       (\G) Send command to mysql server, display result vertically.
    exit      (\q) Exit mysql. Same as quit.
    go        (\g) Send command to mysql server.
    help      (\h) Display this help.
    nopager   (\n) Disable pager, print to stdout.
    notee     (\t) Don't write into outfile.
    pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
    print     (\p) Print current command.
    prompt    (\R) Change your mysql prompt.
    quit      (\q) Quit mysql.
    rehash    (\#) Rebuild completion hash.
    source    (\.) Execute an SQL script file. Takes a file name as an argument.
    status    (\s) Get status information from the server.
    system    (\!) Execute a system shell command.
    tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
    use       (\u) Use another database. Takes database name as argument.
    charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings  (\W) Show warnings after every statement.
    nowarning (\w) Don't show warnings after every statement.
    
    For server side help, type 'help contents'
    

Crear un nuevo usuario y base de datos MySQL

  1. En el ejemplo a continuación, bdprueba es el nombre de la base de datos, usuarioprueba es el nombre de usuario y SuContraseña es la contraseña de dicho usuario.

    create database bdprueba;
    create user 'usuarioprueba'@'localhost' identified by 'SuContraseña';
    grant all on bdprueba.* to 'usuarioprueba';
    

    Puede hacer que este proceso sea más rápido creando el usuario mientras asigna los permisos a la base de datos:

    create database bdprueba;
    grant all on bdprueba.* to 'usuarioprueba' identified by 'SuContraseña';
    
  2. Luego salga de MySQL:

    exit
    

Crear una tabla de muestra

  1. Vuelva a ingresar a MySQL usando ahora el usuario usuarioprueba:

    mysql -u usuarioprueba -p
    
  2. Cree una tabla de muestra llamada clientes. Esto crea una tabla con un campo ID de tipo INT (número entero que va incrementando a medida que se añaden nuevos registros) usado como llave primaria, así como dos campos adicionales para almacenar el nombre del cliente:

    use bdprueba;
    create table clientes (id_cliente INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nombre TEXT, apellido TEXT);
    
  3. Finalmente, salga de MySQL:

    exit
    

Reiniciar la contraseña del usuario root de MySQL

Si usted olvida la contraseña del usuario root de MySQL, puede reiniciarla siguiendo estos pasos.

  1. Detenga la instancia actual de MySQL en su servidor.

    sudo service mysql stop
    
  2. Use dpkg para volver a ejecutar el proceso de configuración de MySQL que hizo durante la primera instalación. Se le pedirá que establezca su nueva contraseña root.

    sudo dpkg-reconfigure mysql-server-5.5
    
  3. Luego vuelva a iniciar el servicio MySQL.

    sudo service mysql start
    

Con estos pasos podrá volver a iniciar sesión usando el comando mysql -u root -p.

Optimizar MySQL

MySQL Tuner es un script en lenguaje Perl que se conecta a una instancia en ejecución de MySQL y proporciona recomendaciones de configuración con base en su carga de trabajo. Idealmente, la instancia MySQL debe tener al menos 24 horas de ejecución antes de ejecutar este optimizador. Mientras más tiempo tenga su instancia en ejecución, mejores los consejos que le dará MySQL Tuner.

  1. Instale MySQL Tuner desde los repositorios de Ubuntu:

    sudo apt-get install mysqltuner
    
  2. Para ejecutarlo:

    mysqltuner
    

    Se le pedirá que ingrese el nombre de usuario root y la contraseña respectiva. La salida le mostrará dos áreas de interés: Recomendaciones generales y variables a ajustas.

MySQL es un excelente punto de partida para optimizar un servidor MySQL, pero sería prudente que investigue un poco más para adaptarse a su uso particular de MySQL en su servidor.

Recursos adicionales

Para complementar la información aquí presentada en esta guía puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos certificar su actualidad o precisión.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...