Заворачиваем Amarok на MySQL

Amarok — на мой, взгляд — гениайнельший из всех ныне существующих аудиоплееров, снабжён не менее гениальной музыкальной библиотекой.(Именно переход на линукс и амарок приучил меня пользоваться этим инструментом музыкоорганизации, винамповская и вин-медиаплеерская либари просто таки пугали своей непонятностью и несуразностью.) Как известно, вся эта музыкальная библиотека крутится на определённой базе данных. В стандартной конфигурации, это SqlLite. Такая чудненькая легковесная БД, не требующая ни пользователе-паролей, ни каких-либо настроек, просто включил и оно себе работает. Но, у нее есть один серьёзный недостаток: она медленная, нет-нет, не то слово, просто таки тормозная!

SqlLite подходит для музыкальной библиотеки на десять гигабайт, на двадцать, ну хорошо, с натяжкой на пятьдесят гиг. Но заставлять её контролить большее количество записей — взаимомучение как для пользователя, так и для самой БД. На моей домашней машине, с немолодым, но и не самым старым Pentium4 2,4ггц хранится около 150 гиг музыки, первоначальное создание библиотеки — занимает довольно большое, но простительное время, а вот поиск — это уже страшно. Каждый раз окно плеера сереет (да, да, компиз) секунд на десять, а процессор кряхтит на все сто процентов. Да и другие операции с БД осуществляются довольно медленно и ресурсозатратно. С этим нужно было что-то делать.

У меня, как думаю и у большинства людей, занимающихся веб-разработкой MySQL стоит уже по долгу службы. Если нет — установить её не составляет никаких проблем. Так почему бы не предоставить ей контроль над своей музыкальной библиотекой? Как показывает практика — работает все в десятки раз быстрее.

Итак, далее я опишу настройку базы данных и плеера, в общем здесь ничего сложного нет, и спокойно можно разобраться самому.

Скорее всего, большинство читающих убунто/кубунто-воды, а я к ним не принадлежу, так что попытаюсь описать в общих чертах, какие пакеты нам понадобятся.

В первую очередь это сама база даных:
вбиваете в поиск своего любимого менеджера пакетов словечко mysql, и интутивно тыкаете галочки напротив того, что нужно:)
А нужно скорее всего:
mysql-server (остальное должен потянуть за собой в качестве зависимостей)
mysql-common (если зависимостей сервер не потянул)
mysql-client (в общем с той же причины)
mysql-admin (если конечно вы не умеете управлять базами данных, в ручную вписывая Sql-запросы. Хотя, если умеете, то зачем вы вообще читаете этот мануал?)
amarok (черт его знает, а вдруг вы собрались настраивать плеер, не установив его?)

Итак, установив необходимые пакеты, приступаем к настройке.
Для продвинутых, опционально можно покрутить файл /etc/my.cnf. Но, как показывает практика, это совсем не обязательно.

Для начала нужно запустить нашу базу данных. Для этого нужно либо перезагрузиться, либо написать в консоли:
#/etc/init.d/mysqld start
В любом случае, при следующем запуске, база данных запустится сама.

Далее, займемся настройками таблиц и пользователей. Некоторым думаю будет удобнее делать это с помощью phpMyAdmin, или вручную с помощью запросов, но для меня — самый знакомый и простой инструмент это mysql-administrator. Его и запускаем.

mysql-administrator

Нас встречает окошко авторизации в базу данных: 




Делаем все так, чтоб было как на картинке. В стандартной конфигурации должно пустить с пользователем root и без пароля. Если нет — попробуйте пароль администратора на вашем компьютере, если все-равно нет — лопатте /etc/my.cnf, или пишите сюда, разберёмся.

Если все хорошо, то нас должно встретить такое окошко:



Переходим на вкладку «Catalogs». Кликаем правой клавишей в поле Schemata, выбираем «Create Schema».


Задаем имя новой таблицы, в нашем случае — amarok.

Далее — идем в User Administration.


Выбираем пользователя root и устанавливаем для него пароль (к мануалу отношения не имеет, но все же так значительно безопаснее) Не забывайте, что при следующем подключении с mysql-administrator нужно будет вводить установленный пароль.
Потом добавляем пользователя amarok (большая такая кнопка внизу «new user»). При желании ставим и для него пароль.
Выбрав пользователя — переходим на вкладку (вверху, а не сбоку) «Schema Privileges»:


Там — выбираем в левой колонке созданую нами схему «amarok», в правой — жмем ctrl+a и перемещаем стрелочкой все привилегии в центральную колонку (не, ну конечно можно вручную повыбирать привилегии для пользователя, но по моему, это лишнее).

С настройкой базы покончено, выходим из администратора.

Теперь осталось настроить Amarok.
Останавливаться на том, как пользоваться библиотекой, и какие папки вам сканировать, я не буду.
Идем в настройки, в пункте «база данных», выбираем MySQL. В названии узла, или как там, прописываете localhost. Базу данных и пользователя — тех что вы создали, в нашем случае — везде пишем amarok.


Вуаля! Плеер заново создаст музыкальную библиотеку (не бойтесь за скачанные с интернета обложки, они останутся:) ), займет это совсем немного времени. И теперь можно радоваться! Поиск треков по базе значительно шустрее и приятнее. Как и работа с динамическими плейлистами.

Если, не дай Бог, будут проблемы с треками содержащими кириллицу в названиях (такое у меня случалось на OpenSuse), попробуйте в /etc/my.cnf в разделе [mysql] вписать «default-character-set = utf8».

Источник: http://habrahabr.ru



Опубликовал admin
19 Май, Понедельник 2008г.



Программирование для чайников.