On Wednesday, 10 July 2019 18:40:04 BST Mick wrote: > On Wednesday, 10 July 2019 14:31:19 BST Peter Humphrey wrote: > > On Wednesday, 10 July 2019 10:06:01 BST Peter Humphrey wrote: > > > On Wednesday, 10 July 2019 00:06:43 BST Adam Carter wrote: > > > > > I've just tried upgrading mariadb again while watching it, and got > > > > > similar > > > > > results. I did notice that an error notice came up about being > > > > > unable > > > > > to > > > > > store > > > > > a message received via POP3, which is my main incoming source. I > > > > > can't > > > > > quote > > > > > exactly because the notice disappeared too soon. > > > > > > > > > > Back to 10.3.16 for now. > > > > > > > > Just to confirm, when you say upgrade you mean something like; > > > > emerge -u mariadb > > > > systemctl restart mariadb > > > > mysql_upgrade -u root -p > > > > > > Akonadi runs an instance of mariadb for its own use, without reference > > > to > > > what else might be running on the machine. > > > > > > I've never had to run mysql_upgrade before, and I can't find a way to do > > > it > > > manually because of this in .local/share/akonadi/mysql.conf: > > > > > > # Do not listen for TCP/IP connections at all > > > skip_networking > > > > > > Maybe I could comment that out temporarily, but I don't know what else > > > might be affected. Otherwise it looks like creating a new user for > > > myself > > > and importing the message archive. > > > > Well, I tried that but when I started kmail to set it up again, it crashed > > after telling me it had failed to get a lock. On what, it didn't say. > > /usr/bin/akonadi_control launches /usr/bin/akonadiserver, which lunches > /usr/ sbin/mysqld: > > /usr/bin/akonadi_control > > \_ /usr/bin/akonadiserver > > \_/usr/sbin/mysqld > > They're all running as the user who launches kmail, i.e. yourself. Also, > unless you have tweaked access to the database to allow TCP, it will only > use a local Unix socket. Have a look in your /tmp fs for this socket name. > If your kdepim user is logged in as user 'peter', I'm guessing you'll see > something like this, as long as akonadiserver is running: > > /tmp/akonadi-peter.XXXXXX/mysql.socket > > You could try running mysql_upgrade on this, but the command will request > access to default mysql database tables and its socket under > /var/run/mysqld/, which I assume you won't be running unnecessarily just > for a Plasma/KDE desktop. Consequently the incantation will fail. > > Instead, you could try running the individual commands mysql_upgrade runs > yourself, only on the akonadi tables. Here's my attempt: > > $ /usr/bin/mysqlcheck -u michael --all-databases --check-upgrade > --auto-repair --socket=/tmp/akonadi-michael.ZtUWTD/mysql.socket > akonadi.collectionattributetable OK > akonadi.collectionmimetyperelation OK > akonadi.collectionpimitemrelation OK > akonadi.collectiontable OK > akonadi.flagtable OK > akonadi.mimetypetable OK > akonadi.parttable OK > akonadi.parttypetable OK > akonadi.pimitemflagrelation OK > akonadi.pimitemtable OK > akonadi.pimitemtagrelation OK > akonadi.relationtable OK > akonadi.relationtypetable OK > akonadi.resourcetable OK > akonadi.schemaversiontable OK > akonadi.tagattributetable OK > akonadi.tagremoteidresourcerelationtable OK > akonadi.tagtable OK > akonadi.tagtypetable OK
$ /usr/bin/mysqlcheck -u prh --all-databases --check-upgrade --auto-repair -- socket=/tmp/akonadi-prh.1l0Gu6/mysql.socket akonadi.collectionattributetable OK akonadi.collectionmimetyperelation OK akonadi.collectionpimitemrelation OK akonadi.collectiontable OK akonadi.flagtable OK akonadi.mimetypetable OK akonadi.parttable OK akonadi.parttypetable OK akonadi.pimitemflagrelation OK akonadi.pimitemtable OK akonadi.pimitemtagrelation OK akonadi.relationtable OK akonadi.relationtypetable OK akonadi.resourcetable OK akonadi.schemaversiontable OK akonadi.tagattributetable OK akonadi.tagremoteidresourcerelationtable OK akonadi.tagtable OK akonadi.tagtypetable OK That's on the older version of mariadb. I'll try it again with my new user and the new mariadb. > Or, you could connect to the above socket with /usr/bin/mysql and run SQL > commands from within, after you select each akonadi database/table in turn. > > Normally, I don't think any of the above is required. From what I recall > akonadiserver runs mysql_upgrade each and every time akonadiserver is > launched. However, if akonadi can't run the kdepim mysql following a > database version update, then you'll need to look deeper into it. > > If akonadiserver does not start/crashes, it may be more effective to look at > the mysql.err logs under ~/.local/share/akonadi/db_data/. > > You could also launch akonadiconsole, switch on debugging and see if it > offers anything more informative when you try to restart akonadi. > > HTH. Certainly does! Many thanks Mick. -- Regards, Peter.