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

Cómo instalar MySQL en CentOS 6

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 CentOS 6.

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 yum update
    

Instalar e iniciar MySQL

  1. Instale MySQL y dígale en qué niveles de ejecución comenzar:

    sudo yum install mysql-server
    sudo /sbin/chkconfig --levels 235 mysqld on
    
  2. Luego, para iniciar el servidor MySQL:

    sudo service mysqld start
    

    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

  1. 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 raíz:

    mysql -u root -p
    
  2. Cuando se le solicite, ingrese la contraseña raíz que asignó cuando se ejecutó el script mysql_secure_installation.

    Luego se le presentará la pantalla del monitor 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' identified by 'password';
    

    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 vaciarla y luego restablecerla.

  1. Detenga la instancia actual del servidor MySQL, luego reiníciela con una opción para no solicitar una contraseña.

     sudo /etc/init.d/mysqld stop
     sudo mysqld_safe --skip-grant-tables &
    
  2. Vuelva a conectarse al servidor MySQL con la cuenta raíz de MySQL.

     mysql -u root
    
  3. Use los siguientes comandos para restablecer la contraseña de root. Reemplazar password con una contraseña segura.

     use mysql;
     update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
     flush privileges;
     exit
    
  4. Luego reinicie MySQL.

     sudo service mysqld restart
    

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. Descargue MySQL Tuner en su directorio de inicio.

     wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. Para ejecutarlo:

     perl ./mysqltuner.pl
    

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