µLibertad

13/09/2007

Gestionar la BD de Amarok con MySQL

Filed under: Amarok,Debian,Linux,Música,Tutoriales,Ubuntu — opintos @ 1:34 am

Amarok es mi reproductor favorito en cualquier Sistema Operativo, si te gusta la música sabrás apreciar todo lo que esconde esta joya. Yo suelo estar continuamente escuchando música, si no es en casa en el Ordenador o algún reproductor de CD, es en la calle con mi iPod, y como devoro tanta música pues mi colección es simplemente enorme (10738 pistas).

Amarok de serie usa SQLite, un sistema de gestión de bases de datos relacional compatible con ACID, y que está contenida en una relativamente pequeña librería en C, pero su potencia no es suficiente par mover bases de datos de más de 4.000 o 5.000 elementos, y mi biblioteca supera ese número con creces. Así, usar Amarok, puede ser un poco decepcionante, el programa se bloquea unos segundos entre canción y canción, entre otras cosas, que convierten el uso de Amarok en un sufrimiento, más que un placer, como podría parecer al ver sus características y funciones.

Así que si tenemos una biblioteca de ese tamaño lo ideal es dejar SQLite a un lado y meter nuestra biblioteca en una base de datos de MySQL, un sistema de gestión de base de datos relacional, multihilo y multiusuario, que manejará con total soltura bibliotecas enormes como la mía u otras más grandes. Lo que pasa es que dar soporte de MySQL a Amarok, requiere la instalación de varios paquetes y cierta configuración del sistema. Así que pongámonos con ello.

Partiremos con la idea de que ya tenemos instalado Amarok, así que lo siguiente será instalar el servidor de MySQL:

apt-get install mysql-server

Durante la instalación se abrirá una ventana en la terminal que nos pedirá la contraseña de acceso del usuario root a MySQL, le ponéis la que más os guste. Pero apuntarla que la necesitaremos más adelante para gestionar nuestras Bases de Datos de MySQL.

Llegados a este puntos tenemos dos opciones de crear y gestionar nuestras Bases de Datos de MySQL, una por medio de terminal relativamente más complicada que nos obliga a recordar comandos y otra mucho más visual, ya que se gestiona desde el navegador con una WEBUI, y que nos facilitará mucho tareas de backup o de importar y exportar bases de datos, que nos puede venir muy bien en un futuro, para llevarnos nuestra base de datos de Amarok a otro PC o que sobreviva a un formateo. La utilidad que hace todo esto es PHPMyAdmin, así que vamos a instalarla.

apt-get install phpmyadmin

Con esto se nos instalarán todas las dependencias que necesita, como un servidor web, Apache2. Durante la instalación de PHPMyAdmin nos preguntará con que servidor web estamos usándolo y nos recuerda que solo puede configurarse automáticamente con Apache2, así que lo seleccionamos y le damos a aceptar, como veis en la captura.

Ahora que ya tenemos configurado el programa vamos a arrancarlo. Para ello abrimos nuestro navegador web favorito, por ejemplo IceWeasel o Firefox, y escribimos la siguiente dirección en la barra de dirección, http://127.0.01/phpmyadmin/

Nos mostrará la ventana de Login del programa PHPMyAdmin, elegimos Español – Spanish (UTF8) accederemos como root y como contraseña pondremos la que configuramos al instalar mysql-server, al principio de este documento. Y nos llevará a una pantalla como la que vemos en la captura:

Ahora que ya tenemos control sobre el servidor de MySQL vamos a ponernos al lío para crear la base de datos de Amarok, así que vamos a la sección Crear nueva base de datos, como vemos en la captura de abajo:

Como veis en la captura he puesto como nombre de la Base de Datos, amarok-DB y como codificación he elegido utf8_unicode_ci, que nos asegura que no tendremos problemas con los caracteres especiales de ningún idioma, como la Ñ o los acentos del español, elegir otro tipo de configuración puede darnos problemas con el nombre de algún grupo. Y cuando lo tenemos listo, le damos a Crear y nos mostrará la siguiente ventana:

Ahora toca crear un usuario que tenga acceso a la Base de Datos, podríamos usar al usuario root y su contraseña, que tiene acceso total a todas las Bases de Datos que ya existen o creemos. Pero ya que estamos, y por seguridad, crearemos un usuario que solo tenga acceso a la Base de Datos de Amarok, así que nos vamos a la página de Inicio de PHPMyAdmin y pinchamos en el enlace de abajo que se llama Privilegios, justo entre Cargar los privilegios nuevamente y Log Binario. En la ventana que se nos muestra podemos ver un listado de todos los usuarios del sistema, y debajo tenemos un enlace llamado, Agregar un nuevo usuario.

Ahora nos mostrará la pantalla para configurar el nombre del usuario, servidor, contraseña y los privilegios globales. En nombre de usuario ponemos un nombre identificativo, por ejemplo amarok. En servidor ponemos Local, y luego escribimos la contraseña que queramos ponerle, dos veces. En permisos globales no le indicamos nada, pues queremos especificarle permisos para una sola base de datos, y si no para eso ya teníamos al usuario root.

Tras configurar esto, pulsamos en continuar y nos mostrará la siguiente pantalla:

Aquí tenemos que fijarnos en la sección de abajo, Privilegios específicos para la base de datos, y en Añadir privilegios a esta base de datos seleccionamos nuestra base de datos para Amarok, amarok-DB. Tras seleccionarla nos llevará a otra página. En la que podemos configurar los permisos de nuestro usuario amarok para la Base de Datos amarok-DB, en esta sección marcaremos todas las casillas para darle todos los permisos al nuevo usuario en esa Base de Datos, como vemos en la captura, y pulsamos en continuar.

Si queréis aseguraros de que habéis añadido al usuario correcto en la base de datos correcta, podéis entrar en la Base de Datos de Amarok, amarok-DB, pinchando en la izquierda en la lista de bases de datos. Y una vez dentro de ella, arriba a la derecha pinchamos en Privilegios y deberíamos ver algo así:

Como vemos arriba el usuario amarok tiene todos los privilegios en nuestra Base de Datos de Amarok.

Ahora ya hemos terminado con MySQL y PHPMyAdmin, pero no lo olvidéis ni desinstaléis por que nos puede servir en un futuro para hacer copias de seguridad, reparar bases de datos corruptas, o importar o exportar bases de datos completas o parciales.

Pero ahora ya nos vamos a Amarok, abrimos el programa y entramos en la configuración pinchando en Herramienta->Configuración. Y en la ventana que se nos abre, pinchamos en la sección Colección, y veremos lo siguiente:

En la parte de arriba debemos seleccionar la carpeta donde tenemos nuestra música, yo por ejemplo la tengo en un HD de mi servidor ciego pero la monto en este PC con NFS, en la ruta /media/Musica, vosotros marcáis vuestra ruta. Debajo como supongo que tendréis bien ordenada vuestra música en carpetas, tenéis que dejar marcado Explorar carpetas recursivamente, y luego yo desmarco Vigilar los cambios en las carpetas, por que con mi tamaño de biblioteca se puede volver loco Amarok, y si añado música a mi Colección pues ya actualizo la Biblioteca, pinchando en la ventana principal de Amarok en Herramientas->Actualizar Colección.

Ahora entramos en el tema importante, la Base de Datos de la colección, y por supuesto elegiremos MySQL, que para eso nos hemos trabajado todo esto. Luego debajo tendremos que poner el servidor donde está alojada la Base de Datos, y como es en local pondremos 127.0.0.1, podría ponerse localhost, pero me ha dado problemas, así que se queda 127.0.0.1, que realmente es lo mismo. En Base de datos pondremos el nombre de la que hemos creado antes, amarok-DB y en usuario el que creamos y le dimos privilegios para nuestra base de datos, osea, amarok y en contraseña la que le pusimos al usuario. El puerto no hace falta cambiarlo, por que es el puerto que usar MySQL predeterminadamente y como estamos en Local no hace falta cambiarlo.

Pulsamos en Aceptar, y Amarok al cabo de unos segundos se pondrá a escanear nuestra biblioteca musical, en el directorio que le hemos marcado, y nos mostrará una barra de progreso abajo, que en función del tamaño de nuestra colección tardará más o menos tiempo. Cuando termine ya tendremos lista nuestra colección para ser gestionada o reproducida en Amarok, y ahora debería ir todo como la seda, pues la potencia de MySQL ya se deja notar. Así que ahora toca disfrutar de nuestra música.

En futuras entradas tengo pensado ampliar esta guía con temas como convertir nuestra vieja base de datos de SQLite a MySQL para no perder nuestras estadísticas al cambiar a MySQL, o como hacer copias de seguridad de MySQL, o exportar e importar bases de datos completas o parciales, para poder llevarnos nuestras estadísticas al PC que queramos, y probablemente un análisis completo de las funciones y características de esta joya que es Amarok, pero eso como he dicho será para más adelante.

21 comentarios »

  1. Mi colección tiene 14252 pistas, 43 días seguidos de música, así que me viene de perlas.

    Buen artículo.

    Comentario por Root Zero — 13/09/2007 @ 2:09 am | Responder

  2. Con esa cantidad de pistas, Amarok te tenía que ir un poco mal no? Entre canción y canción tenía que ser un suplicio, hablo por experiencia.

    Suerte con el artículo y gracias.

    Comentario por Oscar — 13/09/2007 @ 3:02 am | Responder

  3. Entre canción y canción, cuando le da por actualizar la colección, cuando quiero pararlo, al cargar… Aún va mal, pero es que estoy formateando y hasta que no lo haga no voy a dedicarme a hacerle la puesta a punto. Ya te contaré.

    Te enlazo desde mi blog, si no te importa🙂

    Comentario por Root Zero — 13/09/2007 @ 4:34 pm | Responder

  4. Sin problema, el enlace.

    Suerte con ese formateo.

    Comentario por Oscar — 13/09/2007 @ 5:50 pm | Responder

  5. Impecable el artículo, yo ya lo tengo hace tiempo funcionando así, ya que si no es imposible con los 23.476 temas.
    Una pregunta, alguien sabe de algun script o algo en PHP que exporte a HTML la colexión? lo digo por que las extensiones de amarok para hacer eso mueren cuando lo intento, pense en algo que sacara la info del mysql…
    Saludos

    Comentario por Gustavo — 29/09/2007 @ 4:21 am | Responder

  6. Yo no conozco ninguna forma de exportar de MySQL a HTML una base de datos, pero puede que te valga exportarla con PHPMyAdmin a XML, a lo mejor es lo que buscas.

    Sobre las extensiones de Amarok que comentas, pues yo no he probado ninguna que hiciera eso, pero si me dices las que has probado, miro yo a ver si las consigo hacer funcionar, o saber que puede estar fallando.

    Comentario por Oscar — 30/09/2007 @ 6:30 pm | Responder

  7. Excelente guia, extremadamente muy bien hecha de principio a fin, me ayudó muchísimo pues soy novato totalmente en todos éstos menesteres pero siguiendo tu guía de acciones pude instalar todo por terminal de root, inclusive aquellos que me sugería que debían de instalarse, y por fin llegué a Feliz término, ya está establecida la base; en MySQL ahora me falta llenarla con alrededor de 6500 pistas CD’s de Jazz que tengo de muchos años de colecciónar.

    No tengo conque agradecerte este grandísisimo favor, pero puedes sentirte muy satifecho que un novato de 60 años cumplidos, logró hacerlo.

    Te deseo mucho éxito con tus guías y Tutoriales, y que te colme siempre la salud, la paz y el amor.

    José de Jesús

    Comentario por José de Jesús — 26/10/2007 @ 4:19 am | Responder

  8. Buena guía, pero me gustaría hacer un llamamiento de colaboración en la wiki de amarok en castellano, es una pena comprobar que es de las que menos material dispone (http://amarok.kde.org/wiki/Portada).
    Como opinión personal creo que ayudaríamos mas si juntásemos todos estos grandísimos tutorial bajo un mismo techo.
    Yo instalé mysql siguiendo la guía de esta wiki y la verdad es que me resultó de muy buena ayuda:
    http://amarok.kde.org/wiki/Es:MySQL_HowTo
    Por cierto para administrar mysql utilizo Mysql Administrator deiponibles en los repositorios para OpenSuse (no necesita de apache).

    Comentario por Dani — 28/10/2007 @ 1:55 pm | Responder

  9. …tras instalar los dos paquetes que nombras, a la hora de arrancar en un navegador la dirección que pones, el navegador me dice que no encuentra la página. Sin embargo, parece que el servidor web sí que funciona. la dirección “http://127.0.01/” muestra una página con un enlace, y al pulsarlo sale “it works”.

    pero en http://127.0.01/phpmyadmin/ sale un 404.

    ¿qué hago mal? Por cierto, igual estoy muy verde en éstas cosas, pero ¿¿¿hay manera de que amarok guarde en los propios mp3 los datos tales como labels, número de estrellas de valoración, portadas??? ¿todo eso se guarda unicamente en la base de datos?

    Tampoco veo que se pueda cambiar desde el Ipod la valoración de las canciones de la biblioteca. Por lo que recuerdo, en el itunes sí que lo hacía bien: los cambios en itunes se reflejaban en el ipod, y viceversa.

    Comentario por ramma — 18/02/2008 @ 11:46 pm | Responder

  10. Hola te felicito por la guía, la he seguido al pie de la letra pero me ha pasado lo mismo que a ramma, al querer usar phpMyAdmin por la url 127.0.0.1/phpmyadmin me aparece error 404. ¿Qué puede ser?

    Comentario por JCronosXD — 27/03/2008 @ 1:32 pm | Responder

  11. Hola denuevo jejeje he encontrado la solución al problema que Ramma y Yo tenemos, lo que pasa es que hay un problema cuando se instala desde los repositorios, después de instalarlo hay que hacer un enlace simbólico desde /usr/share/phpmyadmin hacia /var/www/phpmyadmin

    sudo ln -s /usr/share/phpmyadmin /var/www/

    Ojalá y eso ayude.

    Comentario por JCronosXD — 27/03/2008 @ 1:41 pm | Responder

  12. Hola a todos!!!

    A mi al igual que a Ramma y a Jcronosxd, cuando intento ingresar al administrador, aparece el error 404, sin embargo al ejecutar el comando que indica jcronosxd lo que sucede es que el navegador abre la ventana de descargas para guardar el archivo `fv0htmaa.phtml` la cual guardo creyendo que lo puedo abrir como cualquier html pero no es as’i , ejecuta el editor y muestra su codigo
    Que debo hacer _

    Comentario por wandrew — 21/04/2008 @ 8:23 pm | Responder

  13. q onda ayudaaa, tengo el mismo problema que wandrew!! q puedo hacer????😦

    Comentario por ricardo — 28/04/2008 @ 10:04 pm | Responder

  14. excelente manual; se nota la diferencia en velocidad del amarok, ahora vuela

    Comentario por luis — 5/08/2008 @ 10:09 pm | Responder

  15. Dios, menudo rollo para usar una bbdd con amarok, si es mucho mas sencillo, y no es necesario usar apache y phpadmin (que es un muerto)-

    con la facil que es usar el server mysql(sólo), configurar la BBDD, tocar el my.cnf y reiniciar el servicio es suficiente…

    Si necesitas hacer algo en la BBDD, como backups o consultas, solo necesitas instalar el paquete de mysqladmin.

    Tu receta es una novatada para los nuevos

    Comentario por goboeloscuro — 11/08/2008 @ 7:04 pm | Responder

  16. Muchísimas gracias, funcionó perfecto🙂

    Comentario por Gabriel — 9/10/2008 @ 7:14 pm | Responder

  17. Excelente! Muchas gracias🙂

    Comentario por Ishinay — 15/11/2008 @ 3:47 pm | Responder

  18. Es la mejor guia de las que he encontrado. Gracias por la información.

    Comentario por àcrata — 3/01/2009 @ 4:15 pm | Responder

  19. Buen articulo compa, abrazos desde colombia.

    Comentario por cri — 17/06/2009 @ 3:17 am | Responder

  20. Hola,

    Se puede controlar de esta forma música que tengas en un servidor externo ?
    Gracias.

    Comentario por Joska — 26/11/2009 @ 6:50 pm | Responder

  21. Genial la guía, aún es útil al 100%, muchísimas gracias😄

    Comentario por Pacoxus — 8/12/2010 @ 2:16 am | Responder


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: