This forum has been archived. All content is frozen. Please use KDE Discuss instead.

howto msqldump the akonadi database

Tags: None
(comma "," separated)
cpospiech
Registered Member
Posts
15
Karma
0
OS

howto msqldump the akonadi database

Sun Feb 26, 2012 11:42 am
Hi,

I am currently running the internal mysql server (/usr/sbin/mysql-akonadi). For test proposes, I would like to have snapshot of the current akonadi database to be controlled by the external mysql server (/usr/sbin/mysqld). I learned (the hard way) that the akonadi database uses the InnoDB engine. Stopping akonadi and mysqld, then copying the database files to the new location and restarting both servers again won't work. I learned that I should rather do a mysqldump of the source database and then import the dump into the target database.

How do I convince /usr/sbin/mysql-akonadi to produce a dump ? There is no /usr/sbin/mysqldump-akonadi, correct ?

Christoph Pospiech
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
The mysql-akonadi process is no different to the standard mysqld process on your system. It is named differently on Kubuntu to allow for compatibility with Apparmor / SELinux.

In this case, just locate the MySQL socket used by mysql-akonadi - and pass that to the standard mysqldump program (using the --socket option)


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
cpospiech
Registered Member
Posts
15
Karma
0
OS
Hi,

correct ! Doing a ps command, I see the following.

cp@sirius:~$ ps -ef | grep mysqld
mysql 1183 1 0 11:51 ? 00:00:01 /usr/sbin/mysqld
cp 6138 6135 0 12:23 ? 00:00:06 /usr/sbin/mysqld --defaults-file=/home/cp/.local/share/akonadi//mysql.conf --datadir=/home/cp/.local/share/akonadi/db_data/ --socket=/home/cp/.local/share/akonadi/socket-sirius/mysql.socket
cp 6937 6784 0 13:00 pts/1 00:00:00 grep mysqld

The second mysql instance must be the internal mysql server.

Christoph Pospiech
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
correct, so in this case the appropriate command to dump all databases the Akonadi instance is aware of is:
Code: Select all
mysqldump --socket=/home/cp/.local/share/akonadi/socket-sirius/mysql.socket -A > akonadi-db-backup.sql


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
cpospiech
Registered Member
Posts
15
Karma
0
OS
Thanks for these valuable hints !

I successfully managed to produce an SQL dump from the akonadi database and imported this dump into the other mysql server.

BTW, I used slightly different mysqldump options like this.
mysqldump --opt --user=cp --socket=/home/cp/.local/share/akonadi/socket-sirius/mysql.socket \
--log-error=mysqldump.err --verbose --databases akonadi > akonadi.sql

Apparently, the "akonadi internal" mysql server doesn't use a password. Never mind, my plan is to finally move to the "akonadi external" server which is password protected.

Christoph Pospiech


Bookmarks



Who is online

Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell