Crear base de datos MySQL y usuario por línea de comandos

  • Por
Cómo crear una base de datos MySQL nueva, usando tan solo la línea de comandos, y un usuario con permisos para acceder a ella.

Existen muchas interfaces gráficas para acceder a MySQL que nos permiten realizar de una manera sencilla las tareas de administración como las que vamos a tratar en este artículo, sin embargo, no siempre están disponibles.

En un ambiente de servidor remoto, al que accedemos generalmente por SSH muchas veces nos vemos obligados a usar la línea de comandos, por lo que debemos administrar MySQL conectándonos desde el shell. Esto no supone ningún problema, pero obviamente necesitas saber los comandos que debes usar para realizar las acciones, algo que suele ser un poco menos práctico que hacer las cosas a golpe de clic, pero muchas veces necesario.

En este pequeño taller de MySQL crearemos no solo una base de datos nueva sino además crearemos un usuario al que le asignaremos permisos para poder acceder a esa base de datos. El listado de comandos es cortesía de nuestros amigos de ApacheCTL, que lo han compartido con nosotros.

Acceso a MySQL por consola

Primer paso será acceder al servidor de MySQL por línea de comandos, algo que se realiza con el comando "mysql" indicando el host, usuario y password.

Para esta tarea necesitarás el usuario "root" con el que se configuró MySQL durante la instalación.

Nota: La instalación ya depende de tu servidor. La tendrás que hacer con la línea de comandos, con las instrucciones para tu propia distribución. Usarás los repositorios oficiales y los gestores adecuados, por ejemplo Debian o Ubuntu sería "apt-get" y CentOS "yum".

El comando será algo parecido a esto:

mysql -h localhost -u root -p

Puedes encontrar otras alternativas y comandos básicos de conexión en el artículo MySQL desde terminal Linux y también en MySQL por línea de comandos.

Crear la base de datos

Ya dentro del sistema gestor de MySQL crearás la base de datos con el siguiente comando "create database".

create database nombre_de_base_de_datos character set utf8;

Como ves, estamos indicando también que se use el juego de caracteres "utf8", lo que es una recomendación importante.

Crear el usuario para acceder a esta base de datos

Podrías usar el propio usuario de root para el acceso a nuestra nueva base de datos, pero por seguridad no es algo que generalmente vas a querer hacer. Es más conveniente crear un usuario nuevo al que asignar privilegios para el acceso únicamente a la base de datos que debe acceder.

Esto incluye la realización de varios comandos. En el primero de todos crearemos el usuario nuevo.

create user nuevo_usuario@'localhost';

En el segundo vamos a asignar una clave para el acceso con este usuario.

set password for 'nuevo_usuario'@'localhost' = PASSWORD('UnAcl4v3muyDiFiCiL');

Ahora debemos asignar los privilegios para el acceso a la base de datos que nos interesa que acceda este usuario nuevo.

grant all on nombre_de_base_de_datos.* to 'nuevo_usuario'@'localhost' ;

Una última acción, para asegurarnos que se entregan ya mismo esos privilegios, se reinicia la caché y todo lo que haga falta para que todo esté funcionando como se espera.

flush privileges;

Con eso es todo! tenemos nuestra base de datos creada y un usuario con privilegios suficientes, listo para ser utilizado desde nuestra programación backend en cualquier lenguaje.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Mariano

09/2/2017
Creando base de datos
El cotejamiento utf8 es el recomendado, pero mis bases de datos están en otro sistema ¿es necesario que lo cambie?