sql >> Base de Datos >  >> RDS >> Mysql

Cómo instalar MySQL en Debian 8

MySQL es un popular sistema de administración de bases de datos utilizado para aplicaciones web y de servidor. Esta guía presentará cómo instalar, configurar y administrar MySQL en un Linode que ejecuta Debian 8 (Jessie).

Las bases de datos MySQL grandes pueden requerir una cantidad considerable de memoria. Por esta razón, recomendamos usar un Linodo de memoria alta para tales configuraciones.

Nota Esta guía está escrita para un usuario no root. Los comandos que requieren privilegios elevados tienen el prefijo sudo . Si no está familiarizado con sudo comando, puede consultar nuestra guía de Usuarios y Grupos.

Antes de comenzar

  1. Asegúrese de haber seguido las guías de Introducción y Protección de su servidor, y de que el nombre de host de Linode esté configurado.

    Para verificar su nombre de host, ejecute:

    hostname
    hostname -f
    

    El primer comando debe mostrar su nombre de host abreviado y el segundo debe mostrar su nombre de dominio completo (FQDN).

  2. Actualice su sistema:

    sudo apt-get update
    sudo apt-get upgrade
    

Instalar MySQL

sudo apt-get install mysql-server
Nota Es posible que el paquete mysql-server no esté disponible en las últimas versiones de Debian; en tal caso, intente sudo apt-get install default-mysql-server .

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

MySQL se vinculará a localhost (127.0.0.1) de forma predeterminada. Consulte nuestra guía de acceso remoto de MySQL para obtener información sobre cómo conectarse a sus bases de datos mediante SSH.

Nota No se recomienda permitir el acceso sin restricciones a MySQL en una IP pública, pero puede cambiar la dirección en la que escucha modificando bind-address parámetro en /etc/my.cnf . Si decide vincular MySQL a su IP pública, debe implementar reglas de firewall que solo permitan conexiones desde direcciones IP específicas.

Servidor MySQL reforzado

Ejecute mysql_secure_installation secuencia de comandos para solucionar varios problemas de seguridad en una instalación predeterminada de MySQL.

sudo mysql_secure_installation

Se le dará la opción de cambiar la contraseña raíz de MySQL, eliminar las cuentas de usuario anónimo, deshabilitar los inicios de sesión de raíz fuera de localhost y eliminar las bases de datos de prueba. Se recomienda que responda afirmativamente a estas opciones. Puede leer más sobre el script en el Manual de referencia de MySQL.

Usando MySQL

La herramienta estándar para interactuar con MySQL es mysql cliente que se instala con el mysql-server paquete. El cliente MySQL se utiliza a través de una terminal.

Inicio de sesión raíz

  1. Para iniciar sesión en MySQL como usuario root:

    mysql -u root -p
    
  2. Cuando se le solicite, ingrese la contraseña raíz.

    Luego se le presentará un encabezado de bienvenida y el aviso de MySQL como se muestra a continuación:

    mysql>
    
  3. Para generar una lista de comandos para el indicador de MySQL, ingrese \h . Entonces verás:

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (\?) Synonym for `help'.
    clear     (\c) Clear command.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new 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'
    
    mysql>
    

Crear un nuevo usuario y base de datos MySQL

  1. En el siguiente ejemplo, testdb es el nombre de la base de datos, testuser es el usuario y password es la contraseña del usuario.

    create database testdb;
    create user 'testuser'@'localhost' identified by 'password';
    grant all on testdb.* to 'testuser';
    

    Puede acortar este proceso creando el usuario mientras asignación de permisos de base de datos:

    create database testdb;
    grant all on testdb.* to 'testuser' identified by 'password';
    
  2. Luego salga de MySQL.

    exit
    

Crear una tabla de muestra

  1. Vuelva a iniciar sesión como testuser .

    mysql -u testuser -p
    
  2. Cree una tabla de muestra llamada customers . Esto crea una tabla con un campo de ID de cliente del tipo INT para números enteros (aumento automático para nuevos registros, utilizada como clave principal), así como dos campos para almacenar el nombre del cliente.

    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
  3. Luego salga de MySQL.

    exit
    

Restablecer la contraseña raíz de MySQL

Si olvida su contraseña raíz de MySQL, puede restablecerla.

  1. Detenga la instancia actual del servidor MySQL.

    sudo systemctl stop mysql.service
    
  2. Utilice dpkg para volver a ejecutar el proceso de configuración por el que pasa MySQL en la primera instalación. Se le pedirá nuevamente que establezca una contraseña de root.

    sudo dpkg-reconfigure mysql-server-5.5
    

dpkg reiniciará MySQL automáticamente y ahora podrá volver a iniciar sesión usando mysql -u root -p .

Afinar MySQL

MySQL Tuner es un script de Perl que se conecta a una instancia en ejecución de MySQL y proporciona recomendaciones de configuración basadas en la carga de trabajo. Idealmente, la instancia de MySQL debería haber estado funcionando durante al menos 24 horas antes de ejecutar el sintonizador. Cuanto más tiempo se haya estado ejecutando la instancia, mejores consejos dará MySQL Tuner.

  1. Instale MySQL Tuner desde los repositorios de Ubuntu.

    sudo apt-get install mysqltuner
    
  2. Para ejecutarlo:

    mysqltuner
    

    Se le pedirá el nombre de usuario y la contraseña de root de MySQL. El resultado mostrará dos áreas de interés:Recomendaciones generales y Variables para ajustar.

MySQL Tuner es un excelente punto de partida para optimizar un servidor MySQL, pero sería prudente realizar una investigación adicional para las configuraciones adaptadas a las aplicaciones que utilizan MySQL en su Linode.

Más información

Es posible que desee consultar los siguientes recursos para obtener información adicional sobre este tema. Si bien estos se proporcionan con la esperanza de que sean útiles, tenga en cuenta que no podemos garantizar la precisión o la puntualidad de los materiales alojados externamente.

  • Manual de referencia de MySQL 5.5
  • Manual PHP MySQL
  • Ejemplos de Perl DBI para DBD::mysql
  • Guía del usuario de MySQLdb
  • Tutorial del sintonizador de MySQL