Where Does MPD Store Config, Database, and Playlists?
Where the Music Player Daemon reads mpd.conf and keeps its database, playlists, and state on Linux systems.
Last updated
MPD reads one config file that names every other location: the music directory, the database file, playlists, logs, and the PID file. System installs use /etc/mpd.conf with state under /var/lib/mpd; per user setups use ~/.config/mpd/mpd.conf with state in ~/.mpd.
Pick one mode and commit to it. The classic broken setup is a system service and a user service fighting over port 6600 with two different libraries. Check which unit is active before editing any path. The ls command in mpc queries the live database and confirms a rescan worked.
Where MPD stores this, by platform
/etc/mpd.conf
mpd.conf plus music_directory, playlist_directory, db_file, log_file, and state_file. System mode uses /etc/mpd.conf with /var/lib/mpd state; user mode uses ~/.config/mpd with ~/.mpd state. The music_directory itself is never modified by scans.
Frequently asked questions
where is the mpd music database
In mpd.conf via the db_file setting, defaulting to /var/lib/mpd/tag_cache (user setups often use ~/.mpd/database). Delete the database file with MPD stopped to force a full rescan. A stale database is the usual missing albums culprit.
where does mpd keep playlists
In the playlist_directory from mpd.conf (/var/lib/mpd/playlists by default, ~/.mpd/playlists for user runs). Stored playlists are plain .m3u files, so editing them by hand works. The queue itself lives only in state_file until saved.
system or user mpd config: which one
Either system wide at /etc/mpd.conf (running as its own user) or per user at ~/.config/mpd/mpd.conf. The two must not fight over the same ports or database. Beginners should pick the user service and ignore /etc entirely.
Notice an outdated path? Let us know.