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

Uso de bases de datos relacionales MySQL en Gentoo

MySQL es un sistema de administración de bases de datos relacionales (RDBMS) que se utiliza como backend para innumerables aplicaciones web y de servidor. Lanzado originalmente en 1995, sigue siendo una opción popular para los desarrolladores como servidor de base de datos.

Antes de comenzar esta guía, asegúrese de haber completado los pasos descritos en nuestraConfiguración y protección de una instancia informática. Además, asegúrese de haber iniciado sesión en su sistema como usuario root.

Instalando MySQL

Ejecute el siguiente comando para asegurarse de que su repositorio de paquetes esté actualizado:

emerge --sync

El siguiente comando actualizará todos los paquetes y sus dependencias en el sistema. Si no se siente cómodo ejecutando este comando, puede omitirlo o usar emerge --update world :

emerge --update --deep world

Ejecute el siguiente comando para instalar MySQL:

emerge dev-db/mysql

Una vez que se haya completado este proceso, también deberá instalar las bases de datos que utiliza MySQL. Ejecute el siguiente comando:

mysql_install_db

Ahora está listo para iniciar el servidor MySQL por primera vez:

/etc/init.d/mysql start

Deberá ejecutar mysql_secure_installation para establecer una contraseña de root y proteger su instancia de MySQL. Ejecute el siguiente comando:

mysql_secure_installation

Si desea que MySQL se ejecute cuando se inicie el sistema, emita el siguiente comando:

rc-update add mysql default

Configuración de MySQL

De forma predeterminada, MySQL se vincula a localhost. Si desea que MySQL escuche en una IP pública, puede cambiar la bind-address valor en /etc/mysql/my.cnf para reflejar la dirección IP de Linode. No se recomienda permitir el acceso sin restricciones a MySQL en una IP pública, y es posible que desee considerar implementar reglas de firewall para permitir solo el tráfico de direcciones IP específicas.

Las sugerencias enumeradas anteriormente pueden no ser apropiadas para todos los entornos, así que asegúrese de que su aplicación no requiera configuraciones diferentes. Consulte los recursos adicionales en la sección "Más información" de esta guía para obtener documentación más detallada sobre la configuración de MySQL.

Cada vez que modifique la configuración en /etc/mysql/my.cnf , deberá reiniciar el servidor MySQL. Ejecute el siguiente comando:

/etc/init.d/mysql restart

Usando MySQL

La mayor parte de la interacción con MySQL ocurre a través de mysql utilidad de línea de comandos. Ejecute el siguiente comando para interactuar con MySQL:

mysql -u root -p

Cuando se le solicite, ingrese la contraseña que creó durante la mysql_secure_installation proceso. Una vez que lo haya hecho, será recibido con el indicador de MySQL:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.51-log Gentoo Linux mysql-5.1.51

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Si olvida su contraseña raíz de MySQL en una fecha posterior, puede restablecerla con la siguiente secuencia de comandos:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --skip-networking &
mysqladmin -u root

Una vez que haya iniciado sesión, ingrese los siguientes comandos en el indicador de MySQL:

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

Para ver una lista de comandos disponibles (no sintaxis SQL), emita \h en el indicador de MySQL:

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.

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' IDENTIFIED BY 's8723hk2';

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';

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);

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 en un cliente, pero no obstante, es un buen ejemplo de un caso común.

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 el siguiente comando:

emerge dev-db/mysqltuner

Para ejecutar MySQL Tuner simplemente ingrese:

mysqltuner

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 una investigación adicional para ajustar las configuraciones en función de 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