Amarok is a wonderful application for managing and playing your music collection, but the default settings aren’t optimized for speed when it comes to large collections of music. The problems are especially noticeable while trying to use the search box.
The problem is that the default embedded database uses sqlite to store the collection information, which doesn’t scale quite as well as a dedicated database such as MySQL… so we’ll switch to use that instead.
Configuring MySQL for Amarok
These instructions assume that you don’t already have MySQL installed. If you are already using it, then just skip the first couple of steps.
Assuming you are using Ubuntu, run this command from a terminal to install the MySQL server and client on your system:
sudo apt-get install mysql-client mysql-server
For security’s sake, you should probably set a root password for your MySQL server using this command:
sudo mysqladmin -u root password “mynewpassword”
You can use the “flush privileges” command or just restart MySQL:
sudo /etc/init.d/mysql restart
Next we’ll use the mysqladmin command to create a database for Amarok to use:
sudo mysqladmin -u root -pMyRootPassword create amarokdb
The final command line step will setup the user account for Amarok in MySQL. Make sure to use a different password here.
mysql -u root -pMyRootPassword
> GRANT ALL ON amarokdb.* TO amarok@localhost IDENTIFIED BY ‘amarokpassword';
> FLUSH PRIVILEGES;
Open the Amarok configuration dialog via the tools menu and then pick the Collection icon on the left.
Change the drop-down to MySQL, and then enter in your details:
- Hostname: localhost
- Database: amarokdb
- Username: amarok
- Password: password from step above
Close out of the dialog, and then you’ll have to rescan your collection to move everything into MySQL, which might take a little while the first time.
Enjoy the speedy searching!