Posts Tagged ‘mysql’
Storing your photos on a server or network disk? Want to manage them from several Linux-based machines using digiKam? Here is how to do that.
First of all, you need to mount the directory on the server containing the photos on your machine. Assuming your server is running Linux and you can connect to it via SSH, you can mount the remote directory using sshfs. To do this, you need to install the sshfs package first. On Ubuntu and Debian-based Linux distributions, you can do this by executing the apt-get install sshfs command as root. Next, run the id command and note the uid and gid values for your account (e.g., uid=1000 gid=1000). Use then the following command to mount a server directory on your machine:
sshfs user@host:/path/to/dir /mountpoint -o idmap=user -o uid=1000 -o gid=1000
Replace user with the name of the existing user on the server and host with the IP address of the server. Replace /path/to/dir with the path to the directory on the server and /mountpoint with the directory on your machine that will be used as a mount point. Once the directory has been mounted, you can use the files in it as they were on your own machine. To unmount the directory, use the fusermount command as follows:
fusermount -u /mountpoint
Next, you have to configure digiKam to use a MySQL database as its back-end. This would require, of course, a MySQL installation running either on your own server or on another remote machine. The Use digiKam with MySQL article provides detailed instructions on how to make digiKam work with MySQL.
The rest is easy. In digiKam, choose Settings » Configure digiKam and switch to the Collections section. Press the Add Collection button next to the Local Collections entry, then add the folder that contains the photos from the mounted remote directory as a new album.
In a similar manner, you can configure digiKam on any other machine you want to use to manage photos stored on the server.
By default, digiKam uses SQLite as its back-end for storing important metadata and thumbnails. But the photo management application also provides support for the popular MySQL database engine, and it comes with a database migration tool that can help you to move your data from SQLite to MySQL. Of course, you might wonder why you’d want to switch to MySQL when SQLite already does a good job of managing the data? Using MySQL as digiKam’s database back-end allows you to store the data on a remote server. This way, you can use multiple digiKam installations (e.g., on your notebook and desktop machine) to access and manage your photo collections. You can also use MySQL tools to back up and analyze digiKam’s data.
Obviously, to use digiKam with MySQL, you need a MySQL server. You also have to create two MySQL databases: one for storing photo metadata (e.g., digikam) and the other for storing thumbnails (e.g., thumbnails-digikam). And before you proceed, note the database connection information such as MySQL server address, user name, and password — you’ll need it when configuring MySQL settings in digiKam.
There are two ways to switch digiKam from SQLite to MySQL. If you’ve just installed digiKam, and you haven’t yet added any collection to it, choose Settings | Configure digiKam, and switch to the Database section. Select the MySQL item from the Type drop-down list.
Enter the IP address of your MySQL server in the Host Name field and specify the correct port in the Port field (the default port is 3306). In the Schema Name field, enter the name of the database for storing photo metadata, and specify the name of the database for storing thumbnails in the Thumbnails Schema Name field. Enter your MySQL user name and password in the appropriate fields. To check whether the database connection works properly, press the Check DB Connection button. If everything works as it’s supposed to, switch to the Collections sections, and add the directories containing your photos. Hit OK, and wait till digiKam populates the databases with data from photos. This can take a while if you have a lot of photos.
If you are already using digiKam with SQLite, you can use the database migration tool to move the existing data to MySQL databases. Choose Tools | Database Migration, and select the MySQL item in the Type drop-down list in the right section. Fill out the required fields as previously described, and use the Check DB Connection button to test the connection. Finally, press the Migrate button to copy the data from SQLite to MySQL.