El uso de bases de datos en nuestros sitios web es algo sumamente común hoy en día, aunque no siempre fue así. No es nada fácil encontrar un sitio que en la actualidad no requiera de una base de datos al menos, y hay un motor de bases de datos que ha estado ahí fuera desde hace más de 20 años, como sucede con MySQL.
En el día de hoy te traemos un tutorial muy práctico relacionado con este tema: cómo crear base de datos MySQL y asignar usuarios con privilegios para que puedas realizar todo tipo de operaciones como SELECT, INSERT, etc. ¡Comencemos!
Contenido
Sobre MySQL
Y como siempre, antes de comenzar con el plato principal, una entrada, porque no podemos hablar sobre cómo crear bases de datos en MySQL y asignar usuarios si primero no sabemos qué es MySQL.
Por supuesto es posible que muchos ya lo sepan, pero para quienes no y para quienes no lo tengan fresco en la memoria, no viene nada mal tocar este asunto.
MySQL es y probablemente seguirá siendo durante un largo tiempo uno de los sistemas de bases de datos más populares del mundo del hosting, de hecho hoy en día es el más usado de todos, con una cuota de mercado del 48% según Datanyze.
En este sentido no tiene competidor directo, ya que el segundo lugar lo ocupa el SQL Server de Microsoft con una cuota de apenas un 10%.
Ampliamente usado en desarrollo web, MySQL actualmente está en manos de Oracle (también poseedores de Oracle Database) y cuenta con dos tipos de licencia: una comercial y una pública general, es decir, hay un MySQL de pago y uno gratuito, aunque obviamente este último es el que realmente se lleva toda la popularidad.
Como decíamos, la aplicación principal de MySQL es en sitios web, y muchos CMS populares son compatibles con este gestor de bases de datos, incluyendo por ejemplo a WordPress, Joomla, Drupal, entre otros.
Un gran punto a su favor es el hecho de ser multiplataforma, sin mencionar que se puede utilizar de maravilla en entornos que incluyan Apache o Nginx con PHP o PHP-FPM.
En pocas palabras, MySQL es un sistema que se adapta muy bien a las situaciones, es seguro, rápido y muy confiable, de hecho si no lo fuera es posible que gigantes como Google, Facebook o Twitter dejen de usarlo sin pensarlo dos veces.
Crear una base de datos MySQL desde cPanel
En nuestros planes de hosting en Infranetworking integramos un estupendo panel de control llamado cPanel. Entre varias de sus funciones, cPanel nos brinda la posibilidad de crear bases de datos rápidamente mediante una interfaz gráfica, ideal para quienes no les gusta mucho el trabajo por medio de la consola.
Para empezar con este proceso, lo primero que debemos hacer es, por supuesto, ingresar a nuestro panel de control cPanel. Una vez dentro, la tarea es buscar el apartado de Bases de Datos y allí hacer click en la opción de Bases de Datos MySQL, tal como vemos en la captura de aquí abajo.
Ahora estaremos en un área nueva de nuestro panel, y aquí es donde realizaremos la mayoría de las gestiones referentes a crear/eliminar bases de datos y usuarios de MySQL.
Para añadir nuestra base de datos MySQL debemos comenzar buscando donde dice «Crear una nueva base de datos», y allí colocaremos el nombre que tendrá nuestra bd.
Las bases de datos en cPanel llevan siempre un nombre con esta estructura: usuariodecpanel_bd, siendo «usuariodecpanel» el usuario de cPanel obviamente y «bd» el identificador asignado a la base de datos. En el caso el ejemplo, la base de datos se llama «cuentate_prueba1». Click en el botón de Crear para continuar.
Ahora que nuestra base de datos ha sido creada, toca asignarle un usuario, ya que el modo de operar en MySQL es ese: cualquier base de datos debe tener un usuario asignado con suficientes privilegios para poder usarla. Veamos a continuación cómo es dicho proceso.
Crear un usuario MySQL
Dentro de la sección de Bases de Datos MySQL donde creamos nuestra bd en el paso anterior, vamos a buscar el apartado de «Usuarios MySQL», y allí veremos una opción para añadir un usuario y asignarle una contraseña.
Al igual que en el caso de las bases de datos, la estructura es usuariodecpanel_nombre, es decir que en nuestro ejemplo el usuario de MySQL se llamaría cuentate_usr01.
Aquí mismo tendremos la opción para asignar una contraseña a nuestro usuario de MySQL, y por último solo hay que hacer click en el botón de Crear usuario.
Ahora que ya tenemos creada una base de datos MySQL y un usuario, es el turno de la última parte de este tutorial: asignar los privilegios necesarios al usuario para que pueda interactuar con nuestra base de datos.
Añadir privilegios al usuario creado
Desde el lugar de siempre (cPanel > Bases de Datos MySQL), vamos a buscar donde diga «Añadir usuario a la base de datos», lo cual básicamente es una opción para dar privilegios al usuario sobre la bd. Simplemente debemos seleccionar el usuario primero y después la base de datos y hacemos click en Añadir.
Tras clickear Añadir en el paso anterior estaremos en una nueva área donde dice «Administrar privilegios de usuario», y se indicará el usuario y la base que hemos seleccionado. Aquí tenemos la opción de indicar al sistema los privilegios que tendrá el usuario sobre la base de datos.
Los privilegios que se deben asignar dependen en gran parte del rol que tendrá el usuario en la bd, y a veces también del rol de la base de datos en sí. ¿Y quién define eso? Un programador por supuesto, así que si tienes dudas sobre cuáles privilegios asignar te recomendamos consultar con el programador de tu sitio web.
Aun así, y hablando en términos generales, en el 90% de los casos la opción elegida es simplemente «Todos los privilegios», lo cual dotará al usuario de MySQL de todos los privilegios necesarios para hacer todo lo que se desee sobre la bd en cuestión. Para terminar simplemente hacemos clic en «Hacer cambios».
Y ya está, ahora lo único que resta es comenzar a trabajar con tu nueva base de datos MySQL.
Por cierto, si quieres ver un listado de las bases de datos y los usuarios que están asignados a cada una, simplemente ve a la sección de siempre (Bases de Datos MySQL) y busca donde diga «Bases de datos actuales», allí podrás ver el listado en detalle e incluso se pueden ejecutar un par de acciones como cambiar el nombre de la db o eliminarla.
Crear una base de datos MySQL desde phpMyadmin
Si necesitamos crear una base de datos MySQL por medio de phpMyAdmin, lo primero que debemos hacer es ingresar al phpMyAdmin que tengamos disponible. Cabe mencionar que este método no es usado en servidores cPanel, en un servidor cPanel se recomienda usar el método descrito anteriormente.
Dentro de phpMyAdmin, primero que nada hacemos click en donde dice Databases o Bases de Datos.
A continuación veremos una opción que dice Create Database o Crear Base de Datos, y debajo un campo de texto. En dicho campos de texto debemos introducir el nombre de la base de datos que queremos crear, seleccionar la Colación y posteriormente le damos al botón Create. Para la Colación es importante coordinar con el programador del sitio cuál seleccionar, por supuesto en caso de que no seamos el programador.
Ahora que está creada nuestra bd vamos a Users > Add User. Desde aquí añadiremos un nuevo usuario, para lo cual debemos rellenar varios campos como en la captura de abajo.
En la misma sección pero más abajo tenemos la posibilidad de seleccionar los privilegios que tendrá nuestro usuario. Finalmente hacemos click en «Go» y el usuario será creado.
Para terminar vamos a darle permisos sobre la bd que deseamos. Vamos a Usuarios, buscamos nuestro usuario y click en Editar Privilegios. Aquí veremos una opción que dice «Database-specific privileges», y es allí donde debemos colocar la base de datos asociada a nuestro usuario. Completamos el campo y hacemos click en Go para terminar la operación.
Crear una base de datos MySQL desde Linux
Esta es la forma más rápida de crear una base de datos y asignarle un usuario, pues solo necesitamos correr tres líneas desde la consola de MySQL.
Primero conectarnos como root:
mysql -u root -p
Luego de eso debemos correr lo siguiente:
create database nombre_bd; GRANT ALL PRIVILEGES ON nombre_bd.* TO 'usuario'@'localhost' IDENTIFIED BY 'contraseña'; flush privileges;
Primero se crea la base de datos, después el usuario y los privilegios y finalmente se refrescan los privilegios. Tres líneas es todo lo necesario. Por supuesto en dichas líneas debemos reemplazar algunos datos que hemos colocado a modo de ejemplo:
- nombre_bd: será el nombre real de la base de datos.
- usuario: será el usuario asociado a la bd.
- localhost: si el host es local entonces lo dejamos como localhost, de lo contrario indicamos un hostname o una IP.
- contraseña: lo reemplazamos por la contraseña del usuario de nuestra bd. Recuerda usar una contraseña fuerte.
Como regla general, NUNCA debemos usar root como usuario asociado a una base de datos, porque después es probable que tengamos que especificar dicho acceso en un script, y usar datos de root de MySQL en un script de conexión es una falla de seguridad muy grave.
Conclusión
Por medio de este tutorial de nuestro blog hemos aprendido cómo crear bases de datos MySQL en cPanel y también hemos visto cómo se hace para asignarles un usuario, así como los privilegios correspondientes al usuario para que pueda operar sobre la base de datos.
Son procesos muy sencillos pero que sin dudas vendrán muy bien a más de un usuario nuevo o que no tenga muchos conocimientos en el tema.
Cuéntanos: ¿pudiste crear bases de datos MySQL y asignar usuarios con privilegios?
¿Buscas Alojamiento Web con MySQL?
Mira nuestros Planes de Hosting Multidominio con MySQL
100% estables y rápidos para tus bases de datos.