Amarok/Manual/Organization/Collection/ExternalDatabase/fr: Difference between revisions

From KDE UserBase Wiki
(Created page with "==== Base de données externe ====")
 
No edit summary
 
(25 intermediate revisions by 3 users not shown)
Line 3: Line 3:
==== Base de données externe ====
==== Base de données externe ====


'''Amarok''' 2.2 and above support an external '''MySQL''' database as a backend.
À partir de la version 2.2, '''Amarok''' prend en charge la base de données externe '''MySQL''' en tant que dorsale (''backend'').


===== Configure Server =====
===== Configurer le serveur =====


===== Install MySQL-Server =====
===== Installer le serveur MySQL =====


First you need to install an '''MySQL''' server. On Debian-based distributions like Ubuntu you can use
Premièrement, vous devez installer un serveur '''MySQL'''. Sur les distributions fondées sur Debian tel qu'Ubuntu, vous pouvez utiliser
{{Input|1=sudo apt-get install mysql-server mysql-client}}
{{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'''.
pour l'installer. On vous demandera de spécifier un mot de passe pour le compte administrateur (''root'') de la base de données. Le paquetage ''mysql-client'' est nécessaire  afin d'exécuter quelques commandes dans ce document, mais il n'est pas fondamental pour l'utilisation d''''Amarok'''.


===== Configure Database =====
===== Configurer la base de données =====


Connect to the local database using
Connectez vous à la base de données locale en tapant
{{Input|1=mysql -u root -p}}
{{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.
On vous demandera le mot de passe de l'utilisateur administrateur de '''MySQL'''. Vous obtiendrez l'invite de commande {{Output|1=mysql>}}.


Create a new user '''''amarokuser''''' with the password '''''amarokpass''''' using the
Créez un nouvel utilisateur '''''amarokuser''''' avec le mot de passe '''''amarokpass''''' en utilisant la commande
{{Input|1=CREATE USER '''<nowiki>'</nowiki>amarokuser<nowiki>'</nowiki>'''@'''<nowiki>'</nowiki>localhost<nowiki>'</nowiki>''' IDENTIFIED BY '''<nowiki>'</nowiki>amarokpass<nowiki>'</nowiki>''';}}
{{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
Donnez l'accès à la base de données au nouvel utilisateur en saisissant la commande
{{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>''';}}
{{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
où "%" est un métacaractère autorisant tous les hôtes à se connecter à la base de données. À présent, utilisez
{{Input|1=FLUSH PRIVILEGES;}}
{{Input|1=FLUSH PRIVILEGES;}}
statement to reload various internal caches used by '''MySQL'''. Finally
pour recharger les divers caches internes utilisés par '''MySQL'''. Finalement
{{Input|1=exit}}
{{Input|1=exit}}
closes the '''MySQL''' prompt.
ferme l'invite de commande de '''MySQL'''.


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
Par défaut, on ne peut accéder au serveur que via l'hôte local. Pour changer cela, vous devez modifier le fichier <tt>/etc/mysql/my.cnf</tt> et ajuster l'adresse proche de ''bind-address'' par celle que votre serveur écoute sur le réseau. '''0.0.0.0''' écoute toutes les interfaces. Après cela, vous devez redémarrer le serveur en utilisant
{{Input|1=sudo service mysql restart}}
{{Input|1=sudo service mysql restart}}


===== Configure Client =====
===== Configurer le client =====


Open the configuration dialog by clicking <menuchoice>Settings -> Configure Amarok -> Database</menuchoice>. Enable the checkbox and enter the user data.
Ouvrez la boite de dialogue de configuration en cliquant sur <menuchoice>Configuration -> Configurer Amarok -> Base de données</menuchoice>. Cocher la case et renseignez les données utilisateur.




Line 43: Line 41:




You need to restart '''Amarok''' so that the changes take effect.
Vous devez redémarrer '''Amarok''' afin que les changements soient pris en compte.


===== Migrating from MySQL Embedded to MySQL Server =====
===== Migration d'un MySQL embarqué vers un serveur MySQL =====


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:
Si vous souhaitez conserver les statistiques, etc. que vous aviez dans la base de données '''MySQL''' embarquée pour les versions antérieures à '''Amarok''' 2.2, vous pouvez faire ce qui suit :
First, start '''Amarok''' 2.2+ at least once to give the database a chance to update to the latest schema version.
Premièrement, démarrer '''Amarok''' 2.2+ au moins une fois pour donner une chance à la base de données de se mettre à jour vers la dernière version du schéma.


Next, kill the running '''MySQL''' service
Ensuite, tuez le service '''MySQL''' en cours d'exécution
{{Input|1=sudo /etc/init.d/mysql stop}}
{{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!):
et démarrez un démon '''MySQL''' à partir de votre répertoire <tt>~/.kde4/share/apps/amarok</tt> (--defaults-file DOIT être la première option !) :


{{Input|1=/usr/sbin/mysqld --defaults-file=`pwd`/my.cnf --default-storage-engine=MyISAM --datadir=`pwd`/mysqle --socket=`pwd`/sock --skip-grant-tables}}
{{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
Le skip-grant-tables signifie que vous pouvez utiliser n'importe quel mot de passe ou nom d'utilisateur pour vous connecter. 'localhost' ne fonctionnera pas, le client '''MySQL''' essaiera d'utiliser le socket '''Unix'''. L'utilisation de '''127.0.0.1'' en tant qu'hôte fonctionne. Certains systèmes restreignent l'accès à travers apparmor ou SELinux. Ils peuvent être désactivés temporairement avec
{{Input|1=sudo /etc/init.d/apparmor stop}}
{{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.
À présent, lancez mysqldump, en lui passant l'option -S pour lui spécifier le socket local. Cela copiera la base de données embarquée vers le fichier SQL.
{{Input|1=mysqldump -S sock amarok > amarok.mysql}}
{{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;"):
Vous pouvez alors redémarrer votre service '''MySQL''' et charger ce fichier SQL dans votre serveur '''MySQL'''. Vous aurez besoin de que la commande GRANT ci-dessus soit en cours d'exécution et il faudra créer une base de données '''Amarok''' ("CREATE DATABASE amarok;") :


{{Input|1=sudo /etc/init.d/mysql stop
{{Input|1=sudo /etc/init.d/mysql stop
mysql -u amarokuser -p amarok < amarok.mysql}}
mysql -u amarokuser -p amarok < amarok.mysql}}


{{Note|1=You may need to re-scan your collection in '''Amarok''' after completing this.}}
{{Note/fr|1=Vous aurez peut-être besoin de rescanner votre collection dans '''Amarok''' après avoir fini ceci.}}




{{Prevnext2
{{Prevnext2
| prevpage=Special:myLanguage/Amarok/Manual/Organization/Collection/RemoteCollections/UPnP | nextpage=Special:myLanguage/Amarok/Manual/Organization/Collection/WorkingWithMediaDevices
| prevpage=Special:myLanguage/Amarok/Manual/Organization/Collection/RemoteCollections/UPnP | nextpage=Special:myLanguage/Amarok/Manual/Organization/Collection/WorkingWithMediaDevices
| prevtext=UPnP | nexttext=Working with Media Devices
| prevtext=UPnP | nexttext=Travailler avec les périphériques de média
| index=Special:myLanguage/Amarok/Manual | indextext=Back to Menu
| index=Special:myLanguage/Amarok/Manual | indextext=Retour au menu
}}
}}


[[Category:Amarok2.8]]
[[Category:Amarok]]
[[Category:Multimedia]]
[[Category:Multimédia/fr]]
[[Category:Tutorials]]
[[Category:Tutoriels/fr]]

Latest revision as of 10:30, 24 May 2020

Base de données externe

À partir de la version 2.2, Amarok prend en charge la base de données externe MySQL en tant que dorsale (backend).

Configurer le serveur
Installer le serveur MySQL

Premièrement, vous devez installer un serveur MySQL. Sur les distributions fondées sur Debian tel qu'Ubuntu, vous pouvez utiliser

sudo apt-get install mysql-server mysql-client

pour l'installer. On vous demandera de spécifier un mot de passe pour le compte administrateur (root) de la base de données. Le paquetage mysql-client est nécessaire afin d'exécuter quelques commandes dans ce document, mais il n'est pas fondamental pour l'utilisation d'Amarok.

Configurer la base de données

Connectez vous à la base de données locale en tapant

mysql -u root -p

On vous demandera le mot de passe de l'utilisateur administrateur de MySQL. Vous obtiendrez l'invite de commande

mysql>

.

Créez un nouvel utilisateur amarokuser avec le mot de passe amarokpass en utilisant la commande

CREATE USER 'amarokuser'@'localhost' IDENTIFIED BY 'amarokpass';

Donnez l'accès à la base de données au nouvel utilisateur en saisissant la commande

GRANT ALL ON amarokdb.* TO 'amarokuser'@'%' IDENTIFIED BY 'amarokpass';

où "%" est un métacaractère autorisant tous les hôtes à se connecter à la base de données. À présent, utilisez

FLUSH PRIVILEGES;

pour recharger les divers caches internes utilisés par MySQL. Finalement

exit

ferme l'invite de commande de MySQL.

Par défaut, on ne peut accéder au serveur que via l'hôte local. Pour changer cela, vous devez modifier le fichier /etc/mysql/my.cnf et ajuster l'adresse proche de bind-address par celle que votre serveur écoute sur le réseau. 0.0.0.0 écoute toutes les interfaces. Après cela, vous devez redémarrer le serveur en utilisant

sudo service mysql restart
Configurer le client

Ouvrez la boite de dialogue de configuration en cliquant sur Configuration -> Configurer Amarok -> Base de données. Cocher la case et renseignez les données utilisateur.



Vous devez redémarrer Amarok afin que les changements soient pris en compte.

Migration d'un MySQL embarqué vers un serveur MySQL

Si vous souhaitez conserver les statistiques, etc. que vous aviez dans la base de données MySQL embarquée pour les versions antérieures à Amarok 2.2, vous pouvez faire ce qui suit : Premièrement, démarrer Amarok 2.2+ au moins une fois pour donner une chance à la base de données de se mettre à jour vers la dernière version du schéma.

Ensuite, tuez le service MySQL en cours d'exécution

sudo /etc/init.d/mysql stop

et démarrez un démon MySQL à partir de votre répertoire ~/.kde4/share/apps/amarok (--defaults-file DOIT être la première option !) :

/usr/sbin/mysqld --defaults-file=`pwd`/my.cnf --default-storage-engine=MyISAM --datadir=`pwd`/mysqle --socket=`pwd`/sock --skip-grant-tables

Le skip-grant-tables signifie que vous pouvez utiliser n'importe quel mot de passe ou nom d'utilisateur pour vous connecter. 'localhost' ne fonctionnera pas, le client MySQL' essaiera d'utiliser le socket Unix. L'utilisation de 127.0.0.1 en tant qu'hôte fonctionne. Certains systèmes restreignent l'accès à travers apparmor ou SELinux. Ils peuvent être désactivés temporairement avec

sudo /etc/init.d/apparmor stop

À présent, lancez mysqldump, en lui passant l'option -S pour lui spécifier le socket local. Cela copiera la base de données embarquée vers le fichier SQL.

mysqldump -S sock amarok > amarok.mysql

Vous pouvez alors redémarrer votre service MySQL et charger ce fichier SQL dans votre serveur MySQL. Vous aurez besoin de que la commande GRANT ci-dessus soit en cours d'exécution et il faudra créer une base de données Amarok ("CREATE DATABASE amarok;") :

sudo /etc/init.d/mysql stop
mysql -u amarokuser -p amarok < amarok.mysql

Remarque

Vous aurez peut-être besoin de rescanner votre collection dans Amarok après avoir fini ceci.