In order for the database to be relocatable, there needs to be, in LMCE, a single configuration file which points to the DB location, and from which all other scripts get the DB location when then need to access the DB. Does anyone know if this is how it is done?
If any of the scripts hold the DB location within them, then this will be a larger task than simply moving the database.
First, I'm not a db kind of guy, but I've been forced (kicking and screaming) to use them occasionally.
LMCE is using mysql. Mysql runs as a daemon. When mysql daemon is started, it reads it's configuration from /etc/mysql/my.cnf. On LMCE 0710B3, my.cnf has datadir = /var/lib/mysql. Looking in /var/lib/mysql you will notice directories that correspond to the various databases.
Scripts, programs, etc, should not be overriding my.cnf (that's a no no). Also they should never access the files directly (that's a big NO NO).
During my, admittedly limited, browsing of the source, I've seen just the expected mysql connection calls.
When you use a database, you open a connection, do your queries, then close the connection. When you open the connection, you actually query the daemon for a handle. This handle is then passed to the daemon with each of your db calls (queries). So you never know (nor need to know) the physical location of the data on disc. So moving the location of the database should be transparent to all applications.
The primary concern I would have is LMCE's bad habit of "restoring" config files. I have not found any list of the files that LMCE expects you not to mess with. I know from experience that LMCE "restores" domainname (to "pluto") and from the forum it apparently does not play nice with xorg.conf. I would suggest doing an innocent change to my.cnf, rebooting, then see if my.cnf was "restored" or not...
If you are really concerned about messing something up by moving the database, then why not just mount your raid partition on /var/lib/mysql? The only config change would be adding the mount to /etc/fstab. Simply create your partition, format it, mount it somewhere temporary, stop mysql daemon, copy /var/lib/mysql/* to it (preserving permissions, ownership,...), then umount it and remount it on /var/lib/mysql, and restart the mysql daemon.