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

Uso de bases de datos relacionales MySQL en Arch Linux

MySQL es un popular sistema de gestión de bases de datos, utilizado como proveedor de almacenamiento de datos para miles de aplicaciones web y de servidor. Esta guía ayudará a los principiantes a comenzar con MySQL en Arch Linux. Si desea implementar MySQL como parte de una pila de aplicaciones, considere nuestras guías LEMP y LAMP.

Configuración del sistema

Asegúrese de que su /etc/hosts El archivo tiene entradas adecuadas, similares a las que se muestran a continuación. Reemplace "12.34.56.78" con la dirección pública de su Linode, "nombre de servidor" con su nombre de host abreviado y "midominio.com" con el nombre de dominio de su sistema.

Archivo:/ etc./hosts
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Establezca el nombre de host de su sistema configurando HOSTNAME= valor en el /etc/rc.conf archivo.

Instalar MySQL

Ejecute los siguientes comandos para actualizar su sistema e instalar MySQL:

pacman -Syu
pacman -S mysql

Deberá agregar el mysqld daemon al DAEMONS-() matriz al final de /etc/rc.conf archivo para asegurarse de que el proceso mysql comience después del siguiente ciclo de reinicio.

El paquete del servidor MySQL se instalará en su servidor, junto con las dependencias y las bibliotecas del cliente. Inicie MySQL ejecutando el siguiente comando:

/etc/rc.d/mysqld start

Configurar MySQL

Después de instalar MySQL, se recomienda ejecutar mysql_secure_installation , un programa que ayuda a asegurar MySQL. Mientras ejecuta mysql_secure_installation , se le presentará la oportunidad de cambiar la contraseña raíz de MySQL, eliminar cuentas de usuario anónimo, deshabilitar inicios de sesión de raíz fuera de localhost y eliminar bases de datos de prueba. Se recomienda que responda afirmativamente a estas opciones. Si se le solicita que vuelva a cargar las tablas de privilegios, seleccione sí. Ejecute el siguiente comando para ejecutar el programa:

mysql_secure_installation

De forma predeterminada, MySQL escucha solo las conexiones internas. Si planea conectarse a su base de datos a través de TCP/IP, deberá eliminar o comentar (por ejemplo, prefije la línea con un # ) agregue la bind-address línea en el archivo my.cnf. de la siguiente manera:

Archivo:/ etc/mysql/my.cnf
1
2
# skip-networking
bind-address - 127.0.0.1

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. Si decide vincular MySQL a su IP pública, debe implementar reglas de firewall que solo permitan conexiones desde direcciones IP específicas.

Consulte la sección "Más información" al final de este tutorial para obtener recursos adicionales que abordan la configuración de MySQL. Ejecute el siguiente comando para reiniciar el daemon:

/etc/rc.d/mysqld restart

Consulte nuestra guía de acceso remoto MySQL seguro para obtener información sobre cómo conectarse a sus bases de datos con clientes locales.

Usar MySQL

La herramienta estándar para interactuar con MySQL es mysql programa cliente. Para comenzar, emita el siguiente comando cuando se le solicite:

mysql -u root -p

Se le pedirá que ingrese la contraseña del usuario raíz de MySQL. Ingrese la contraseña que asignó cuando instaló MySQL y se le presentará la pantalla del monitor de MySQL:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.9-log Source distribution

Copyright (c) 2000, 2010, 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>

Para generar una lista de comandos para el indicador de MySQL, escriba \h :

    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'

mysql>

Vamos a crear una base de datos y asignarle un usuario. Ejecute los siguientes comandos en el indicador de MySQL:

CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit

Ahora volvamos a iniciar sesión en el cliente MySQL como testuser y cree una tabla de muestra llamada "clientes". Ejecute los siguientes comandos:

mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
exit

Esto crea una tabla con un campo de ID de cliente del tipo INT para entero (incrementado automáticamente para nuevos registros, utilizado como clave principal), así como dos campos para almacenar el nombre del cliente. Por supuesto, probablemente desee almacenar mucha más información que esta para un cliente, pero no obstante, es un buen ejemplo de un caso común.

Cómo restablecer la contraseña raíz de MySQL

Si olvidó su contraseña raíz de MySQL, puede restablecerla emitiendo los siguientes comandos:

/etc/rc.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root

La siguiente parte del restablecimiento de contraseña ahora se realizará dentro del programa cliente MySQL:

USE mysql;
UPDATE user SET PASSWORD-PASSWORD("CHANGEME") WHERE User-'root';
FLUSH PRIVILEGES;
exit

Por último, reinicie MySQL emitiendo el siguiente comando:

/etc/rc.d/mysqld restart

Ajuste de MySQL

MySQL Tuner es una herramienta útil 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 haya estado funcionando la instancia, mejores consejos proporcionará MySQL Tuner.

Para instalar MySQL Tuner, ejecute los siguientes comandos:

pacman -S wget
wget http://mysqltuner.pl/mysqltuner.pl
chmod 755 mysqltuner.pl

Para ejecutar MySQL Tuner simplemente ingrese:

./mysqltuner.pl

Tenga en cuenta que esta herramienta está diseñada para proporcionar sugerencias de configuración y es un excelente punto de partida. Sería prudente realizar investigaciones adicionales para ajustar las configuraciones basadas en las aplicaciones que utilizan MySQL*. *

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