Bug 397634 - Is it possible to define a port for akonadi mariadb database ?
Summary: Is it possible to define a port for akonadi mariadb database ?
Status: REPORTED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: server (show other bugs)
Version: 5.8.3
Platform: openSUSE Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2018-08-19 17:35 UTC by Nick
Modified: 2018-10-21 19:13 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick 2018-08-19 17:35:14 UTC
Hello , 

This is not a bug. It is a request for information .

A). 
The only way of accessing kmail mysql /mariadb data base is via
mysql -h localhost -S  /tpm/akonadi-xxxxx.T2YTcF/mysql.socket 


B). 
I tried to get more info via Percoma tools ....

B.1). 
pt-mysql-summary --host localhost --socket /tmp/akonadi-rocco.T2YTcF/mysql.socket
# Percona Toolkit MySQL Summary Report #######################
              System time | 2018-08-19 17:07:09 UTC (local TZ: CDT -0500)
# Instances ##################################################
  Port  Data Directory             Nice OOM Socket
  ===== ========================== ==== === ======
                                   0    0
        /home/<uname>/.local/share/akonadi/db_data/ 0    0   /tmp/akonadi-<uid>.T2YTcF/mysql.socket
# MySQL Executable ###########################################
       Path to executable | /usr/sbin/mysqld
              Has symbols | No
# Report On Port 0 ###########################################
                     User | @
                     Time | 2018-08-19 12:07:09 (CDT)
                 Hostname | SuSE4<uname>.dom
                  Version | 10.2.15-MariaDB openSUSE package
                 Built On | Linux x86_64
                  Started | 2018-08-19 06:57 (up 0+05:09:31)
                Databases | 5
                  Datadir | /home/<uname>/.local/share/akonadi/db_data/
                Processes | 6 connected, 1 running
              Replication | Is not a slave, has 0 slaves connected
                  Pidfile | /tmp/akonadi-<uname>.T2YTcF/mysql.pid (exists)
# Processlist ################################################

B.2)
pt-mysql-summary --host localhost --user root --password 
# Percona Toolkit MySQL Summary Report #######################
              System time | 2018-08-19 17:11:51 UTC (local TZ: CDT -0500)
# Instances ##################################################
  Port  Data Directory             Nice OOM Socket
  ===== ========================== ==== === ======
                                   0    0
        /home/<uname>/.local/share/akonadi/db_data/ 0    0   /tmp/akonadi-<uname>.T2YTcF/mysql.socket
# MySQL Executable ###########################################
       Path to executable | /usr/sbin/mysqld
              Has symbols | No

# Report On Port 3306 ########################################
                     User | root@localhost
                     Time | 2018-08-19 12:11:51 (CDT)
                 Hostname | SuSE4Rocco
                  Version | 10.2.15-MariaDB openSUSE package
                 Built On | Linux x86_64
                  Started | 2018-08-19 06:54 (up 0+05:17:25)
                Databases | 6
                  Datadir | /var/lib/mysql/
                Processes | 1 connected, 1 running
              Replication | Is not a slave, has 0 slaves connected
                  Pidfile | /var/lib/mysql/SuSE4<uname>.pid (does not exist)
# Processlist ################################################


C.)
I would like to use  adminer and/or any mysql workbench to have access to akonadi database . 
Unfortunately the only options to define a database connection are :
host
port 
user 
password 

The only option I know is that mysql user name = akonadi  
Base :  ~./config/akonadi/akonadiserverrc  
[Debug]
Tracer=null

[%General]
Driver=QMYSQL

[QMYSQL]
Host=
Name=akonadi
Options="UNIX_SOCKET=/tmp/akonadi-<uname>.T2YTcF/mysql.socket"
ServerPath=/usr/sbin/mysqld
StartServer=true


D.)
Questions :
1. What are the akonadi's password and  port of akonadi mariaDB database ?

2. Is it appropriate/recommended to switch akonadi MariaDB  from internal to external ?

3. Is it possible to move the MariaDB akonadi database to the system's location /var/log/mysql or any other/better one ?
   [ I have  disk space issues and I have hard time to move the entire /home to another location ]

4. Is it possible/recommended to switch from MariaDB 10.2.15  to Oracle's mysql 8.0.2 community data server ?
  [ Unfortunately   these two database servers can not coexist on the same machine ]

5. If it is possible what would be the procedure [ dump from MariaDB and import ... ? ]

Thank you very much 

Nick
Comment 1 Daniel Vrátil 2018-08-25 11:02:59 UTC
Akonadi can only start MariaDB/MySQL in the local socket mode, and I'm quite surprised that tools like adminer cannot connect to a socket as well. 

However, if you take care of starting the database server yourself (usually as a system-wide service), you can configure Akonadi to connect to that database instead of its custom instance. We currently don't have any GUI to do that, so manually changing ~/.config/akonadiserverrc is needed:

[QMYSQL]
Name=akonadi
Host=localhost
User=username
Password=youpassword
StartServer=false

And that should work...:)

Regarding your questions:

1) No password, as long as the connecting applications is running under the same user as the database server. No port either, Akonadi is communicating via a local socket

2) There's no difference to Akonadi whether you use "internal" or "external" DB. The only difference is that in case of "external" DB, it's up to you to make sure the database server is started before starting Akonadi

3) Yes, you can just dump everything from the internal DB and import it to your system-wide instance, then you just need to adjust the configuration as described above and make sure the system-wide instance is autostarted 

4) It should be OK, some distributions ship Oracle MySQL as default and Akonadi works there as well

5) Indeed, use mysqldump to dump everything from the internal MySQL db and import it into your system-wide database, then adjust the Akonadi configuration in ~/.config/akonadi/akonadiserverrc and you should be good.

Make sure that when you are manipulating the database that Akonadi is not running (you can use the "akonadictl" CLI tool to check the status, stop and start Akonadi) - I recommend that for the migration you start the Akonadi's MySQL db manually to make sure Akonadi is not changing the content of the DB while you are migrating it.
Comment 2 Christoph Feck 2018-09-13 03:10:38 UTC
Nick, did comment #1 help to resolve your issues?
Comment 3 Christoph Feck 2018-10-03 20:10:32 UTC
If you can provide the information requested in comment #2, please add it.
Comment 4 Andrew Crouthamel 2018-10-21 05:02:04 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Nick 2018-10-21 19:13:36 UTC
Thank you to all who commented on my questions.
Also, I apologize for my late response .

I am in process of analyzing Daniel's comments/recommendations then deciding how to proceed .  I hope that this will help me to alleviate / eliminate those "waiting for update/read/etc" that happens quite often inn Kmail5 .

For the time being I will change tje status of this ticket to REPORTED .

Thanks again to everybody .

Regards,

Nick