Importar la base de datos de ejemplo MySQL (Sakila DB Schema) con Netbeans IDE es fácil

22.11.09. Por ooscarr (ooscarr)

Con el plug-in de Netbeans, instalar la base de datos de ejemplo Sakila es sencillo (con los permisos adecuados).

La base de datos de ejemplo Sakila fue desarrollada por Mike Hillyer, un pasado miembro del equipo de documentación de MySQL AB, y su intención fue la de proveer un esquema estándar que pueda ser usado para ejemplos en libros, tutoriales, artículos, ejemplos, y así en adelante. La base de datos de ejemplo Sakila también sirve para destacar las últimas características de MySQL tales como Vistas, Procedimientos Almacenados, y Disparadores (Triggers).

Scheme de Sakila DB hecho con MySQL Workbench
Diagrama relacional del Scheme de Sakila DB (ver más grande)

Instalar el plug-in de Sakila es muy sencillo, sólo vamos al menú Herramientas > Complementos, en el panel que se abre, existe una sección llamada Plugins disponibles.

En el panel de Plugins de Netbeans IDE, hay que marcar la opción Sakila Sample Database

Para instalarlo, espera que cargue la larga lista de plugins disponibles, marca la casilla de Sakila Sample Database y presiona el botón Instalar que está debajo. Sigue el proceso de instalación, reinicia Netbeans IDE si es necesario.

Luego, en el panel de Servicios (si no lo ves, elije el menú Ventana > Prestaciones) y con el menú contextual sobre la parte de Bases de datos elije la opción Registrar servidor MySQL... si todavía no lo has hecho.

Ya, cuando te hayas conectado al servidor MySQL como root u otra cuenta con los suficientes permisos, selecciónala y en el menú contextual elije la nueva opción Crear base de datos....

Para crear base de datos MySQL con el plugin de Sakila de Netbeans IDE se necesita tener permisos de root.

En el cuadro de diálogo que se abre, seleccionamos sakila en el primer campo, y en el segundo seleccionamos al usuario que tendrá todo el poder sobre esta nueva base de datos.

En el cuadro de diálogo de Crear nueva base de datos MySQL en Netbeans IDE, también aparecen otras bases de datos de ejemplo además de Sakila.

Ya, con eso, después de esperar que se creen todas las tablas y se llenen de datos de ejemplo, podemos conectarnos y empezar a utilizarlas para nuestros experimentos y lecciones.

Netbeans IDE cuenta con un administrador de bases de datos basado en ODBC.

Referencias

Etiquetas: , , , ,

Borrar base de datos en MySQL

20.11.09. Por ooscarr (ooscarr)

Voy a borrar toda una base de datos usando las líneas de comandos.

Eliminar una base de datos involucra eliminar también todas las tablas y contenidos de éstas y para hacerlo se necesita tener permiso para borrar dicha base de datos, y en mi caso usaré la cuenta root.

Voy al terminal, e inicio sesión como root:

/usr/local/mysql/bin/mysql -u root -p

Si el usuario root tiene contraseña, la ingresamos.

El comando para borrar una base de datos, según la documentación oficial, es:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

Por ejemplo, para el caso que quiera eliminar una base de datos llamada ooscarr, pondría:

DROP DATABASE IF EXISTS ooscarr;

Obviamente, se advierte precaución ya que si no se ha hecho un respaldo previo, los datos no se podrán recuperar.

Para salir de MySQL, el comando es exit.

Referencias

Etiquetas: , , ,

Instalé MySQL en Mac OS X

14.11.09. Por ooscarr (ooscarr)

Mac OS X viene con Apache y PHP, pero sólo la versión server incluye MySQL, y hasta ahora no lo había instalado.

Puedes compilar MySQL tú mismo, como con PostgreSQl, pero para qué.

Descarga e instalación

1. Descarga MySQL

Ve a la página http://dev.mysql.com/downloads/mysql/ y descarga la última versión para Mac OS X. La versión x86 en formato DMG es la recomendada.

Si estás usando un Mac con un procesador de 64 bits (como un Core 2 Duo o Core i5, i7) y tienes algún Leopardo (OS X 10.5 u OS X 10.6) mejor descarga la versión de 64 bits para ir acorde a Apache2 que se ejecuta a 64 bits.

2. Leer antes de instalar

Si usas Mac OS X Server te recomiendo que leas el archivo Readme.txt que viene con el DMG para leer la documentación (en inglés) ya que Mac OS X Server viene con MySQL pre-instalado.

Aún si no usas la versión server, puede que ya tengas MySQL previamente instalado. Revisa si lo tienes instalado buscando algún archivo o carpeta con la palabra "mysql" en la carpeta /usr/local ó en Librería/StartupIyems, ya sea con el Finder (Menú Ir > Ir a la carpeta...) o con el Terminal:

ls /usr/local
ls /Library/StartupItems

Otra opción es ejecutar el comando de apagar el servidor MySQL que podría estar corriendo (y que es necesario hacerlo antes de comenzar la instalación) con el comando:

mysqladmin shutdown

Si no existe el comando, estamos bien. De todos modos, el instalador archivará una versión antigua de MySQL con la extensión .bak (siempre que el servidor MySQL haya sido parado antes de instalar).

3. Asistente de instalación

Ahora instala el paquete de instalación que NO se llama "MySQLStartupItem.pkg" y el rutinario Siguiente, Siguiente, Instalar, Finalizar.

El instalador te puede decir que no hay espacio, es un bug; retrocede y vuelve a intentarlo y no debería pasar.

Una vez que aparezca o suene la señal de instalación correcta, hay que elegir la opción Finalizar para cerrar el asistente de instalación.

Ojo, el instalador requiere un usuario llamado "mysql", pero los buenos de Apple lo crearon durante la instalación del sistema operativo. :-)

Configurar Mac OS X

Iniciar servidor

Iniciar y apagar MySQL es mucho más fácil y gráfico si se instala el panel de preferencias del sistema abriendo el archivo MySQL.prefPane incluido en la DMG de instalación de MySQL.

El botón de iniciar o detener el servidor MySQL se encuentra en las Preferencias del sistema, en la última sección de Complementos, se agrega un botón llamado MySQL.

Con esto, iniciar o detener el servidor MySQL es muy sencillo; basta presionar un botón en el panel de Preferencias del sistema MySQL, incluso se puede configurar para que se inicie automáticamente cuando arranque el sistema sin necesidad de modificar archivos de sistema.

PHP

Apple fue lo suficientemente amable para compilar php con soporte para MySQL así que sólo hay que configurar el archivo php.ini.

Primero ve a la carpeta /etc ó /private/etc, si ves algún archivo llamado php.ini no sigas el siguiente comando que consiste en crear una copia del archivo php.ini.default para usarlo como php.ini. Las intrucciones para el Terminal son las siguientes:

cd /etc

sudo cp php.ini.default php.ini

Edita el archivo recién creado con permisos de administrador con la instrucción:

sudo pico php.ini

Presiona control + W, busca mysql.default_socket, y hazlo que se vea como esto:

mysql.default_socket = /tmp/mysql.sock

Guarda los cambios presionando control X, luego presiona Y, luego presiona enter.

Si tenías el Compartir web corriendo, reinicia Apache desactivándolo y volviéndolo a activar.

Si quieres hacer una prueba, crea el siguiente archivo:

<?php
$con = mysql_connect("localhost","root","");
if (!$con){
 die('No se pudo conectar porque: ' . mysql_error());
} else{
 echo "Conectado exitosamente";
}
mysql_close($con);
?>

Guárdalo como probando.php en tu carpeta ~/Web o ~/Sites, entra a http://localhost/~USUARIO/probando.php y si sale

Conectado exitosamente

Entonces todo salió bien. Si no, quizás todavía no has configurado Apache para que funcione con PHP o qué sé yo.

Configurar bases de datos inciales

Durante la instalación por defecto de MySQL, se crearon unas cuentas de usuario:

root
El usuario root tiene acceso de super-usuario a todas las bases de datos, sólo se puede conectar desde el computador local y por defecto no lleva contraseña.
Cuentas anónimas
Dos cuentas de usuario anónimas son creadas y tampoco llevan contraseña, y sólo se puede conectar a ellas desde el local-host. Estas cuentas tienen todos los privilegios para la base de datos de prueba (test) y para otras bases de datos con nombres que empiezan con test_.

Cambiar las contraseñas por defecto

Primero debes averiguar cuáles son las cuentas que se crearon; para eso, voy al Terminal y primero me conecto como root:

/usr/local/mysql/bin/mysql -u root

...listo las cuentas con la consulta:

mysql> SELECT Host,User FROM mysql.user ORDER BY User DESC;

En mi caso me entregó lo siguiente:

+------------------+------+
| Host             | User |
+------------------+------+
| localhost        | root |
| MacBook.local    | root |
| 127.0.0.1        | root |
| localhost        |      |
| MacBook.local    |      |
+------------------+------+
5 rows in set (0.00 sec)

Como se ve, hay 3 cuentas root (127.0.0.1, MacBook.local, y localhost; y 2 anónimas (localhost y MacBook.local)

Las cuentas anónimas se pueden eliminar, pero como ignoro si me servirán algún día, mejor le cambiaré sus contraseñas solamente.

Para cambiar estas 5 contraseñas que están en blanco por el momento, escribo las siguientes consultas:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('contraseña_root');
mysql> SET PASSWORD FOR 'root'@'MacBook.local' = PASSWORD('contraseña_root');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('contraseña_root');
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('contraseña_anónima');
mysql> SET PASSWORD FOR ''@'MacBook.local' = PASSWORD('contraseña_anónima');

Obviamente, reemplazando contraseña_root por la clave que le quieras poner al super-usuario, y las contraseña_anónima por la de las cuentas anónimas.

Desde ahora, la próxima vez que ingreses a MySQL con una cuenta que requiera contraseña, deberás agregar el parámetro -p al final, por ejemplo:

/usr/local/mysql/bin/mysql -u root -p

Si se te olvida la contraseña, consulta el manual.

Crear nueva base de datos

Ahora voy a crear una base de datos nueva llamada "db_name". Para eso, entro a MySQL como root y escribo:

CREATE DATABASE IF NOT EXISTS db_name;

Crear un nuevo usuario

Pata crear un nuevo usuario escribimos (como root MySQL):

CREATE USER 'ooscarr'@'localhost' IDENTIFIED BY 'obscure';

Con esto se creará el usuario "ooscarr" con la contraseña "obscure" para que se conecte desde localhost. Si queremos que pueda acceder desde otro equipo, habría que hacer lo mismo que se hizo anteriormente con los dominios o la dirección IP listados, que en mi caso sería:

CREATE USER 'ooscarr'@'MacBook.local' IDENTIFIED BY 'obscure';
CREATE USER 'ooscarr'@'127.0.0.1' IDENTIFIED BY 'obscure';

Asignar base de datos a un usuario

Ya, finalmente, le damos el permiso al usuario "ooscarr" recién creado para que administre la base de datos db_name, por ejemplo, con la siguiente sentencia SQL:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
 ON db_name.*
 TO 'ooscarr'@'localhost';

Y como uno se puede imaginar:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
 ON db_name.*
 TO 'ooscarr'@'MacBook.local';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
 ON db_name.*
 TO 'ooscarr'@'127.0.0.1';

Para salir de MySQL escribimos exit; y para salir del Terminal, tipeamos logout.

Instalar software para trabajar con MySQL

Existen herramientas más cómodas para utilizar una base de datos MySQL, como son las interfaces gratuitas phpMyAdmin, Netbeans IDE y la sensacional Sequel Pro, entre otros.

Importante

En el futuro si lo actualizas, asegúrate de hacerle un dump a tus bases de datos, ya que haciendo una instalación sobre una instalación existente destruirá tu directorio de datos.

Referencias

Artículos relacionados

Etiquetas: , , ,

Publicidad