Gentoo Archives: gentoo-user

From: Peter Humphrey <peter@××××××××××××.uk>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Massive kmail breakage with mariadb-10.4.6
Date: Thu, 11 Jul 2019 07:45:39
Message-Id: 4207857.H5nj0o8XAh@peak
In Reply to: Re: [gentoo-user] Massive kmail breakage with mariadb-10.4.6 by Mick
1 On Wednesday, 10 July 2019 18:40:04 BST Mick wrote:
2 > On Wednesday, 10 July 2019 14:31:19 BST Peter Humphrey wrote:
3 > > On Wednesday, 10 July 2019 10:06:01 BST Peter Humphrey wrote:
4 > > > On Wednesday, 10 July 2019 00:06:43 BST Adam Carter wrote:
5 > > > > > I've just tried upgrading mariadb again while watching it, and got
6 > > > > > similar
7 > > > > > results. I did notice that an error notice came up about being
8 > > > > > unable
9 > > > > > to
10 > > > > > store
11 > > > > > a message received via POP3, which is my main incoming source. I
12 > > > > > can't
13 > > > > > quote
14 > > > > > exactly because the notice disappeared too soon.
15 > > > > >
16 > > > > > Back to 10.3.16 for now.
17 > > > >
18 > > > > Just to confirm, when you say upgrade you mean something like;
19 > > > > emerge -u mariadb
20 > > > > systemctl restart mariadb
21 > > > > mysql_upgrade -u root -p
22 > > >
23 > > > Akonadi runs an instance of mariadb for its own use, without reference
24 > > > to
25 > > > what else might be running on the machine.
26 > > >
27 > > > I've never had to run mysql_upgrade before, and I can't find a way to do
28 > > > it
29 > > > manually because of this in .local/share/akonadi/mysql.conf:
30 > > >
31 > > > # Do not listen for TCP/IP connections at all
32 > > > skip_networking
33 > > >
34 > > > Maybe I could comment that out temporarily, but I don't know what else
35 > > > might be affected. Otherwise it looks like creating a new user for
36 > > > myself
37 > > > and importing the message archive.
38 > >
39 > > Well, I tried that but when I started kmail to set it up again, it crashed
40 > > after telling me it had failed to get a lock. On what, it didn't say.
41 >
42 > /usr/bin/akonadi_control launches /usr/bin/akonadiserver, which lunches
43 > /usr/ sbin/mysqld:
44 >
45 > /usr/bin/akonadi_control
46 >
47 > \_ /usr/bin/akonadiserver
48 >
49 > \_/usr/sbin/mysqld
50 >
51 > They're all running as the user who launches kmail, i.e. yourself. Also,
52 > unless you have tweaked access to the database to allow TCP, it will only
53 > use a local Unix socket. Have a look in your /tmp fs for this socket name.
54 > If your kdepim user is logged in as user 'peter', I'm guessing you'll see
55 > something like this, as long as akonadiserver is running:
56 >
57 > /tmp/akonadi-peter.XXXXXX/mysql.socket
58 >
59 > You could try running mysql_upgrade on this, but the command will request
60 > access to default mysql database tables and its socket under
61 > /var/run/mysqld/, which I assume you won't be running unnecessarily just
62 > for a Plasma/KDE desktop. Consequently the incantation will fail.
63 >
64 > Instead, you could try running the individual commands mysql_upgrade runs
65 > yourself, only on the akonadi tables. Here's my attempt:
66 >
67 > $ /usr/bin/mysqlcheck -u michael --all-databases --check-upgrade
68 > --auto-repair --socket=/tmp/akonadi-michael.ZtUWTD/mysql.socket
69 > akonadi.collectionattributetable OK
70 > akonadi.collectionmimetyperelation OK
71 > akonadi.collectionpimitemrelation OK
72 > akonadi.collectiontable OK
73 > akonadi.flagtable OK
74 > akonadi.mimetypetable OK
75 > akonadi.parttable OK
76 > akonadi.parttypetable OK
77 > akonadi.pimitemflagrelation OK
78 > akonadi.pimitemtable OK
79 > akonadi.pimitemtagrelation OK
80 > akonadi.relationtable OK
81 > akonadi.relationtypetable OK
82 > akonadi.resourcetable OK
83 > akonadi.schemaversiontable OK
84 > akonadi.tagattributetable OK
85 > akonadi.tagremoteidresourcerelationtable OK
86 > akonadi.tagtable OK
87 > akonadi.tagtypetable OK
88
89 $ /usr/bin/mysqlcheck -u prh --all-databases --check-upgrade --auto-repair --
90 socket=/tmp/akonadi-prh.1l0Gu6/mysql.socket
91 akonadi.collectionattributetable OK
92 akonadi.collectionmimetyperelation OK
93 akonadi.collectionpimitemrelation OK
94 akonadi.collectiontable OK
95 akonadi.flagtable OK
96 akonadi.mimetypetable OK
97 akonadi.parttable OK
98 akonadi.parttypetable OK
99 akonadi.pimitemflagrelation OK
100 akonadi.pimitemtable OK
101 akonadi.pimitemtagrelation OK
102 akonadi.relationtable OK
103 akonadi.relationtypetable OK
104 akonadi.resourcetable OK
105 akonadi.schemaversiontable OK
106 akonadi.tagattributetable OK
107 akonadi.tagremoteidresourcerelationtable OK
108 akonadi.tagtable OK
109 akonadi.tagtypetable OK
110
111 That's on the older version of mariadb. I'll try it again with my new user and
112 the new mariadb.
113
114 > Or, you could connect to the above socket with /usr/bin/mysql and run SQL
115 > commands from within, after you select each akonadi database/table in turn.
116 >
117 > Normally, I don't think any of the above is required. From what I recall
118 > akonadiserver runs mysql_upgrade each and every time akonadiserver is
119 > launched. However, if akonadi can't run the kdepim mysql following a
120 > database version update, then you'll need to look deeper into it.
121 >
122 > If akonadiserver does not start/crashes, it may be more effective to look at
123 > the mysql.err logs under ~/.local/share/akonadi/db_data/.
124 >
125 > You could also launch akonadiconsole, switch on debugging and see if it
126 > offers anything more informative when you try to restart akonadi.
127 >
128 > HTH.
129
130 Certainly does! Many thanks Mick.
131
132 --
133 Regards,
134 Peter.