** Description changed: - 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. + [Impact] - Steps to reproduce: + 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. + + + [Test Case] 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 2) Configure read-only mode # cat << EOF >> /etc/mysql/my.cnf [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 | + | 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 + 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 + 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 - Description: Ubuntu 18.04.4 LTS - Release: 18.04 - # apt-cache policy mysql-server-5.7 - mysql-server-5.7: - Installed: 5.7.31-0ubuntu0.18.04.1 - Candidate: 5.7.31-0ubuntu0.18.04.1 - Version table: - *** 5.7.31-0ubuntu0.18.04.1 500 - 500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages - 500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages - 100 /var/lib/dpkg/status - 5.7.21-1ubuntu1 500 - 500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages + [Regression Potential] + + This patch runs a MySQL query to check if the service is in (super) read-only mode before calling mysql_upgrade. The SQL query might + fail thus preventing the proper detection of the read-only mode. The patch assumes read-write mode by default so that it would still + call mysql_upgrade. Fortunately, mysql_upgrade is known to safely error out when in read-only as this is what the bug is about. + + Another possibility is to wrongly detect read-only mode which would skip running mysql_upgrade when it should have been. To mitigate + this, the patch informs the user ("mysql_upgrade skipped due to (super) read-only mode") who could then run mysql_upgrade manually.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1889472 Title: mysql-server-5.7 postinst fails when in read-only mode To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1889472/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
