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

Implemente bases de datos relacionales MySQL en Ubuntu 12.04 (Precise Pangolin)

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 con Ubuntu 12.04 LTS (Precise Pangolin).

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.

Requisitos previos

  1. Si aún no lo ha hecho, cree una cuenta de Linode y una instancia de cómputo. Consulte nuestras guías Introducción a Linode y Creación de una instancia informática.

  2. Siga nuestra guía de configuración y protección de una instancia informática para actualizar su sistema y configurar su nombre de host. También puede configurar la zona horaria, crear una cuenta de usuario limitada y fortalecer el acceso SSH.

    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) si tiene uno asignado.

Instalar MySQL

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 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 un túnel 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 el script mysql_secure_installation 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 el inicio de sesión de la base de datos 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.

Implementar MySQL

La herramienta estándar para interactuar con MySQL es mysql cliente, que se instala con el mysql-server paquete.

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 que asignó cuando mysql_secure_installation se ejecutó el script.

    Luego se le presentará el mensaje del monitor de MySQL:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    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. 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 service mysql stop
    
  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
    

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. Las recomendaciones de MySQL Tuner serán más precisas cuanto más tiempo se haya estado ejecutando la instancia.

  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 se recomienda investigación adicional para 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.1
  • Manual PHP MySQL
  • Ejemplos de Perl DBI para DBD::mysql
  • Guía del usuario de MySQLdb