Translate
Appearance
Text
This page always uses small font size
Width
AllAmarok/Manual/Organization/Collection/ExternalDatabase
Translate to 中文(新加坡)
Translation of the wiki page Amarok/Manual/Organization/Collection/ExternalDatabase from English (en).
This tool does not work without JavaScript. JavaScript is disabled, failed to work, or this browser is unsupported.
Translations:Amarok/Manual/Organization/Collection/ExternalDatabase/Page display title/zh-sg
Amarok/Manual/Organization/Collection/ExternalDatabase
You need translation rights to translate messages.Get permission
Loading...
Latest updatesAll changes
Suggestions
In other languages
Need more help?Ask for more information
Translations:Amarok/Manual/Organization/Collection/ExternalDatabase/1/zh-sg
==== External Database ====
You need translation rights to translate messages.Get permission
Loading...
Latest updatesAll changes
Suggestions
In other languages
Need more help?Ask for more information
First you need to install an '''MySQL''' server. On Debian-based distributions like Ubuntu you can use
{{Input|1=sudo apt-get install mysql-server mysql-client}}
to install it. You will be asked to specify a password for the root-account for the database. The ''mysql-client'' package is needed in order to execute some of the commands in this document, but it's not fundamental to the use of '''Amarok'''.
Connect to the local database using
{{Input|1=mysql -u root -p}}
You will be prompted for the password for '''MySQL's''' ''root'' user. You will get the {{Output|1=mysql>}} prompt.
Create a new user '''''amarokuser''''' with the password '''''amarokpass''''' using the
{{Input|1=CREATE USER '''<nowiki>'</nowiki>amarokuser<nowiki>'</nowiki>'''@'''<nowiki>'</nowiki>localhost<nowiki>'</nowiki>''' IDENTIFIED BY '''<nowiki>'</nowiki>amarokpass<nowiki>'</nowiki>''';}}
command. Amarok needs its own database, which is created with
{{Input|1=CREATE DATABASE '''amarokdb''';}}
Give the new user access to the database by entering the
{{Input|1=GRANT ALL ON '''amarokdb'''.* TO '''<nowiki>'</nowiki>amarokuser<nowiki>'</nowiki>'''@'''<nowiki>'</nowiki>%<nowiki>'</nowiki>''' IDENTIFIED BY '''<nowiki>'</nowiki>amarokpass<nowiki>'</nowiki>''';}}
command, where ''%'' is a wildcard to allow all hosts to connect to the database. Now use the
{{Input|1=FLUSH PRIVILEGES;}}
statement to reload various internal caches used by '''MySQL'''. Finally
{{Input|1=exit}}
closes the '''MySQL''' prompt.
By default the server can only be accessed by the local host. To change this you need to edit the file <tt>/etc/mysql/my.cnf</tt> and adjust the address near ''bind-address'' to the one your server listens on the network. '''0.0.0.0''' listens on all interfaces. After that you need to restart the server using
{{Input|1=sudo service mysql restart}}
Open the configuration dialog by clicking <menuchoice>Settings -> Configure Amarok -> Database</menuchoice>. Enable the checkbox and enter the user data.
If you want to maintain the statistics, etc. that you have in the embedded '''MySQL''' database from before '''Amarok''' 2.2, you can do the following:
First, start '''Amarok''' 2.2+ at least once to give the database a chance to update to the latest schema version.
Next, kill the running '''MySQL''' service
{{Input|1=sudo /etc/init.d/mysql stop}}
and start a '''MySQL''' daemon from your <tt>~/.kde4/share/apps/amarok</tt> directory (--defaults-file MUST be the first option!):
{{Input|1=/usr/sbin/mysqld --defaults-file=`pwd`/my.cnf --default-storage-engine=MyISAM --datadir=`pwd`/mysqle --socket=`pwd`/sock --skip-grant-tables}}
The skip-grant-tables means you can use any password or username to connect to it. 'localhost' will not work, the '''MySQL''' client will try to use a '''Unix''' socket. Using '''127.0.0.1''' as the host makes it work. Some systems may restrict this access through apparmor or SELinux. They can be temporarily disabled with
{{Input|1=sudo /etc/init.d/apparmor stop}}
Now, run mysqldump, passing in the -S option to specify the local socket. This will dump your old embedded DB out to a SQL file.
{{Input|1=mysqldump -S sock amarok > amarok.mysql}}
You can then restart your '''MySQL''' service and load this SQL file into your '''MySQL''' server. You'll have needed to already run the GRANT statement above and create an '''Amarok''' database ("CREATE DATABASE amarok;"):
{{Prevnext2
| prevpage=Special:myLanguage/Amarok/Manual/Organization/Collection/RemoteCollections/UPnP | nextpage=Special:myLanguage/Amarok/Manual/Organization/Collection/WorkingWithMediaDevices
| prevtext=UPnP | nexttext=Working with Media Devices
| index=Special:myLanguage/Amarok/Manual | indextext=Back to Menu
}}
Loading messages...
0% translated, 0% reviewed
Retrieved from "https://userbase.kde.org/Special:Translate"