Updates of the mysql-server-5.7 package fail to install (error during postinst) if operating in (super) read-only mode. A read-only replica is common in redundant/HA setups.
Steps to reproduce:
1) Setup a container (bionic or xenial would do)
$ lxc launch images:ubuntu/bionic sql1
$ lxc shell sql1
# apt-get update && apt-get install -y --no-install-recommends mysql-server
[mysqld]
super_read_only = ON
read_only = ON
EOF
# service mysql restart
# mysql -e "SELECT @@global.read_only, @@global.super_read_only;"
+--------------------+--------------------------+
| @@global.read_only | @@global.super_read_only |
+--------------------+--------------------------+
| 1 | 1 |
+--------------------+--------------------------+
3) Trigger the postinst code
# apt-get install --reinstall mysql-server-5.7
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/2,931 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 16169 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.31-0ubuntu0.18.04.1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.31-0ubuntu0.18.04.1) over (5.7.31-0ubuntu0.18.04.1) ...
Setting up mysql-server-5.7 (5.7.31-0ubuntu0.18.04.1) ...
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
mysql_upgrade: [ERROR] 1290: The MySQL server is running with the --super-read-only option so it cannot execute this statement
mysql_upgrade failed with exit status 5
dpkg: error processing package mysql-server-5.7 (--configure):
installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
Processing triggers for systemd (237-3ubuntu10.41) ...
Errors were encountered while processing:
mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
Updates of the mysql-server-5.7 package fail to install (error during postinst) if operating in (super) read-only mode. A read-only replica is common in redundant/HA setups.
Steps to reproduce:
1) Setup a container (bionic or xenial would do) ubuntu/ bionic sql1 recommends mysql-server
$ lxc launch images:
$ lxc shell sql1
# apt-get update && apt-get install -y --no-install-
2) Configure read-only mode
# cat << EOF >> /etc/mysql/my.cnf
[mysqld] super_read_ only;" ------- ------- +------ ------- ------- ------+ super_read_ only | ------- ------- +------ ------- ------- ------+ ------- ------- +------ ------- ------- ------+
super_read_only = ON
read_only = ON
EOF
# service mysql restart
# mysql -e "SELECT @@global.read_only, @@global.
+------
| @@global.read_only | @@global.
+------
| 1 | 1 |
+------
3) Trigger the postinst code server- 5.7_5.7. 31-0ubuntu0. 18.04.1_ amd64.deb ... 0ubuntu0. 18.04.1) over (5.7.31- 0ubuntu0. 18.04.1) ... 0ubuntu0. 18.04.1) ...
# apt-get install --reinstall mysql-server-5.7
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/2,931 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 16169 files and directories currently installed.)
Preparing to unpack .../mysql-
Unpacking mysql-server-5.7 (5.7.31-
Setting up mysql-server-5.7 (5.7.31-
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
mysql_upgrade: [ERROR] 1290: The MySQL server is running with the --super-read-only option so it cannot execute this statement
mysql_upgrade failed with exit status 5
dpkg: error processing package mysql-server-5.7 (--configure):
installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
Processing triggers for systemd (237-3ubuntu10.41) ...
Errors were encountered while processing:
mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
Step 3) should not cause a dpkg error.
Additional information:
# lsb_release -rd 0ubuntu0. 18.04.1 0ubuntu0. 18.04.1 0ubuntu0. 18.04.1 500 archive. ubuntu. com/ubuntu bionic-updates/main amd64 Packages security. ubuntu. com/ubuntu bionic- security/ main amd64 Packages dpkg/status 7.21-1ubuntu1 500 archive. ubuntu. com/ubuntu bionic/main amd64 Packages
Description: Ubuntu 18.04.4 LTS
Release: 18.04
# apt-cache policy mysql-server-5.7
mysql-server-5.7:
Installed: 5.7.31-
Candidate: 5.7.31-
Version table:
*** 5.7.31-
500 http://
500 http://
100 /var/lib/
5.
500 http://