[MDEV-11978] Upgrade from Debian's 10.0 packages to MariaDB's 10.1 packages fails Created: 2017-02-02  Updated: 2021-09-16  Resolved: 2021-09-16

Status: Closed
Project: MariaDB Server
Component/s: Packaging, Platform Debian
Affects Version/s: 10.1
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Axel Schwenke
Resolution: Won't Fix Votes: 0
Labels: systemd
Environment:

Debian 8.0 Jessie amd64



 Description   
  • install MariaDB from Debian's repo:

    sudo apt-get install mariadb-server mariadb-client mariadb-test
    ...
    Get:1 http://security.debian.org/ jessie/updates/main mysql-common all 5.5.54-0+deb8u1 [81.2 kB]
    Get:2 http://debian.osuosl.org/debian/ jessie/main perl amd64 5.20.2-3+deb8u6 [2,637 kB]   
    Get:3 http://security.debian.org/ jessie/updates/main libmysqlclient18 amd64 5.5.54-0+deb8u1 [673 kB]
    Get:4 http://security.debian.org/ jessie/updates/main mariadb-common all 10.0.29-0+deb8u1 [17.1 kB]
    Get:5 http://security.debian.org/ jessie/updates/main mariadb-client-core-10.0 amd64 10.0.29-0+deb8u1 [801 kB]
    Get:6 http://security.debian.org/ jessie/updates/main mariadb-client-10.0 amd64 10.0.29-0+deb8u1 [1,158 kB]
    Get:7 http://security.debian.org/ jessie/updates/main mariadb-server-core-10.0 amd64 10.0.29-0+deb8u1 [4,706 kB]
    Get:8 http://security.debian.org/ jessie/updates/main mariadb-server-10.0 amd64 10.0.29-0+deb8u1 [5,966 kB]
    Get:9 http://security.debian.org/ jessie/updates/main mariadb-client all 10.0.29-0+deb8u1 [16.7 kB]
    Get:10 http://security.debian.org/ jessie/updates/main mariadb-server all 10.0.29-0+deb8u1 [16.8 kB]
    Get:11 http://security.debian.org/ jessie/updates/main mariadb-test-10.0 amd64 10.0.29-0+deb8u1 [30.6 MB]
    Get:12 http://security.debian.org/ jessie/updates/main mariadb-test all 10.0.29-0+deb8u1 [16.6 kB]                                                    
    Get:13 http://debian.osuosl.org/debian/ jessie/main perl-base amd64 5.20.2-3+deb8u6 [1,229 kB]                                                        
    Get:14 http://debian.osuosl.org/debian/ jessie/main perl-modules all 5.20.2-3+deb8u6 [2,547 kB]                                                       
    Get:15 http://debian.osuosl.org/debian/ jessie/main libreadline5 amd64 5.2+dfsg-2 [151 kB]                                                            
    Get:16 http://debian.osuosl.org/debian/ jessie/main libdbi-perl amd64 1.631-3+b1 [816 kB]                                                             
    Get:17 http://debian.osuosl.org/debian/ jessie/main libterm-readkey-perl amd64 2.32-1+b1 [28.0 kB]                                                    
    Get:18 http://debian.osuosl.org/debian/ jessie/main libdbd-mysql-perl amd64 4.028-2+deb8u2 [119 kB]                                                   
    Get:19 http://debian.osuosl.org/debian/ jessie/main libhtml-template-perl all 2.95-1 [66.8 kB]                                                        
    ...
    

  • enable MariaDB repo:

    deb http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian jessie main
    

  • install MariaDB's packages

    sudo apt-get install mariadb-server mariadb-client mariadb-test
    ...
    Get:1 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-client all 10.1.21+maria-1~jessie [2,842 B]
    Get:2 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-test all 10.1.21+maria-1~jessie [2,784 B]
    Get:3 http://debian.osuosl.org/debian/ jessie/main libmpfr4 amd64 3.1.2-2 [527 kB]
    Get:4 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main galera-3 amd64 25.3.19-jessie [7,528 kB]
    Get:5 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main libmysqlclient18 amd64 10.1.21+maria-1~jessie [2,942 B]
    Get:6 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-common all 10.1.21+maria-1~jessie [3,274 B]
    Get:7 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main libmariadbclient18 amd64 10.1.21+maria-1~jessie [585 kB]
    Get:8 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-server all 10.1.21+maria-1~jessie [2,980 B]
    Get:9 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-server-core-10.1 amd64 10.1.21+maria-1~jessie [4,399 kB]
    Get:10 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-server-10.1 amd64 10.1.21+maria-1~jessie [6,222 kB]
    Get:11 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-client-core-10.1 amd64 10.1.21+maria-1~jessie [692 kB]
    Get:12 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-client-10.1 amd64 10.1.21+maria-1~jessie [1,107 kB]
    Get:13 http://mirror2.hs-esslingen.de/mariadb/repo/10.1/debian/ jessie/main mariadb-test-10.1 amd64 10.1.21+maria-1~jessie [31.1 MB]
    Get:14 http://debian.osuosl.org/debian/ jessie/main gawk amd64 1:4.1.1+dfsg-1 [520 kB]                                                                
    Get:15 http://debian.osuosl.org/debian/ jessie/main iproute all 1:3.16.0-2 [15.5 kB]                                                                  
    Get:16 http://debian.osuosl.org/debian/ jessie/main rsync amd64 3.1.1-3 [390 kB]                                                                      
    Get:17 http://debian.osuosl.org/debian/ jessie/main socat amd64 1.7.2.4-2 [333 kB]                                                                    
    
    

    Setting up mariadb-server-10.1 (10.1.21+maria-1~jessie) ...
    Installing new version of config file /etc/init.d/mysql ...
    Installing new version of config file /etc/logrotate.d/mysql-server ...
    Installing new version of config file /etc/mysql/debian-start ...
     
    Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.
    invoke-rc.d: initscript mysql, action "start" failed.
    dpkg: error processing package mariadb-server-10.1 (--configure):
     subprocess installed post-installation script returned error exit status 1
    dpkg: dependency problems prevent configuration of mariadb-test-10.1:
     mariadb-test-10.1 depends on mariadb-server-10.1 (= 10.1.21+maria-1~jessie); however:
      Package mariadb-server-10.1 is not configured yet.
     
    dpkg: error processing package mariadb-test-10.1 (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of mariadb-test:
     mariadb-test depends on mariadb-test-10.1 (= 10.1.21+maria-1~jessie); however:
      Package mariadb-test-10.1 is not configured yet.
     
    dpkg: error processing package mariadb-test (--configure):
     dependency problems - leaving unconfigured
    dpkg: dependency problems prevent configuration of mariadb-server:
     mariadb-server depends on mariadb-server-10.1 (= 10.1.21+maria-1~jessie); however:
      Package mariadb-server-10.1 is not configured yet.
     
    dpkg: error processing package mariadb-server (--configure):
     dependency problems - leaving unconfigured
    Processing triggers for systemd (215-17) ...
    Processing triggers for libc-bin (2.19-18) ...
    Errors were encountered while processing:
     mariadb-server-10.1
     mariadb-test-10.1
     mariadb-test
     mariadb-server
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

The service claims to be down:

buildbot@debian-jessie-amd64:~$ systemctl status mariadb.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: failed (Result: exit-code) since Thu 2017-02-02 11:58:31 EST; 11s ago
 Main PID: 16552 (code=exited, status=1/FAILURE)
   Status: "MariaDB server is down"

The packages are in fact installed:

$ dpkg -l | grep -i maria
ii  libmariadbclient18             10.1.21+maria-1~jessie      amd64        MariaDB database client library
ii  libmysqlclient18               10.1.21+maria-1~jessie      amd64        Virtual package to satisfy external depends
ii  mariadb-client                 10.1.21+maria-1~jessie      all          MariaDB database client (metapackage depending on the latest version)
rc  mariadb-client-10.0            10.0.29-0+deb8u1            amd64        MariaDB database client binaries
ii  mariadb-client-10.1            10.1.21+maria-1~jessie      amd64        MariaDB database client binaries
ii  mariadb-client-core-10.1       10.1.21+maria-1~jessie      amd64        MariaDB database core client binaries
ii  mariadb-common                 10.1.21+maria-1~jessie      all          MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
iU  mariadb-server                 10.1.21+maria-1~jessie      all          MariaDB database server (metapackage depending on the latest version)
rc  mariadb-server-10.0            10.0.29-0+deb8u1            amd64        MariaDB database server binaries
iF  mariadb-server-10.1            10.1.21+maria-1~jessie      amd64        MariaDB database server binaries
ii  mariadb-server-core-10.1       10.1.21+maria-1~jessie      amd64        MariaDB database core server files
iU  mariadb-test                   10.1.21+maria-1~jessie      all          MariaDB database regression test suite (metapackage for the latest version)
iU  mariadb-test-10.1              10.1.21+maria-1~jessie      amd64        MariaDB database regression test suite

And the server is running, but it's still the old one:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 48
Server version: 10.0.29-MariaDB-0+deb8u1 (Debian)

sudo systemctl stop mariadb.service does not do anything. If I stop the server manually, I can then run sudo systemctl start mariadb.service, and it starts the new server all right.



 Comments   
Comment by Elena Stepanova [ 2017-02-08 ]

upgrade4 in buildbot is disabled until this bug is fixed.

Comment by Andrii Nikitin (Inactive) [ 2017-04-26 ]

I am not sure how this designed to work, but I getting similar error while doing 'manual upgrade' from 10.1.22 to 10.2.5

'manual' = installing with dpkg -i (i.e. without apt-get , emulating deployment to servers without Internet access) with commands below:

dpkg -i *common*10.2.5*.deb libmariadb3*.deb
dpkg -i lib*client*10.2.5*.deb
dpkg -i *.deb

dpkg: considering removing mariadb-client-10.1 in favour of mariadb-client-10.2 ...
dpkg: no, cannot proceed with removal of mariadb-client-10.1 (--auto-deconfigure will help):
 mariadb-server-10.1 depends on mariadb-client-10.1 (>= 10.1.22+maria-1~xenial)
  mariadb-client-10.1 is to be removed.
 
dpkg: regarding .../mariadb-client-10.2_10.2.5+maria~xenial_amd64.deb containing mariadb-client-10.2:
 mariadb-client-10.2 conflicts with mariadb-client-10.1
  mariadb-client-10.1 (version 10.1.22+maria-1~xenial) is present and installed.
 
dpkg: error processing archive _depot/10.2/mariadb-client-10.2_10.2.5+maria~xenial_amd64.deb (--install):
 conflicting packages - not installing mariadb-client-10.2
Selecting previously unselected package mariadb-client-core-10.2.
dpkg: considering removing mariadb-client-10.1 in favour of mariadb-client-core-10.2 ...
dpkg: no, cannot proceed with removal of mariadb-client-10.1 (--auto-deconfigure will help):
 mariadb-server-10.1 depends on mariadb-client-10.1 (>= 10.1.22+maria-1~xenial)
  mariadb-client-10.1 is to be removed.
 
dpkg: regarding .../mariadb-client-core-10.2_10.2.5+maria~xenial_amd64.deb containing mariadb-client-core-10.2:
 mariadb-client-core-10.2 conflicts with mariadb-client-10.1
  mariadb-client-10.1 (version 10.1.22+maria-1~xenial) is present and installed.
 
dpkg: error processing archive _depot/10.2/mariadb-client-core-10.2_10.2.5+maria~xenial_amd64.deb (--install):
 conflicting packages - not installing mariadb-client-core-10.2
Preparing to unpack .../mariadb-common_10.2.5+maria~xenial_all.deb ...
Unpacking mariadb-common (10.2.5+maria~xenial) over (10.2.5+maria~xenial) ...
Selecting previously unselected package mariadb-server-10.2.
dpkg: considering removing mariadb-server-10.1 in favour of mariadb-server-10.2 ...
dpkg: yes, will remove mariadb-server-10.1 in favour of mariadb-server-10.2
Preparing to unpack .../mariadb-server-10.2_10.2.5+maria~xenial_amd64.deb ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
/var/lib/mysql: found previous version 10.1
Unpacking mariadb-server-10.2 (10.2.5+maria~xenial) ...
Selecting previously unselected package mariadb-server-core-10.2.
dpkg: considering removing mariadb-server-core-10.1 in favour of mariadb-server-core-10.2 ...
dpkg: yes, will remove mariadb-server-core-10.1 in favour of mariadb-server-core-10.2
dpkg: regarding .../mariadb-server-core-10.2_10.2.5+maria~xenial_amd64.deb containing mariadb-server-core-10.2:
 mariadb-server-core-10.2 breaks mariadb-client-10.1
  mariadb-client-10.1 (version 10.1.22+maria-1~xenial) is present and installed.
 
dpkg: error processing archive _depot/10.2/mariadb-server-core-10.2_10.2.5+maria~xenial_amd64.deb (--install):
 installing mariadb-server-core-10.2 would break mariadb-client-10.1, and
 deconfiguration is not permitted (--auto-deconfigure might help)
Preparing to unpack .../mysql-common_10.2.5+maria~xenial_all.deb ...
Unpacking mysql-common (10.2.5+maria~xenial) over (10.2.5+maria~xenial) ...
dpkg: dependency problems prevent configuration of mariadb-server-10.2:
 mariadb-server-10.2 depends on mariadb-client-10.2 (>= 10.2.5+maria~xenial); however:
  Package mariadb-client-10.2 is not installed.
 mariadb-server-10.2 depends on mariadb-server-core-10.2 (>= 10.2.5+maria~xenial); however:
  Package mariadb-server-core-10.2 is not installed.
 
dpkg: error processing package mariadb-server-10.2 (--install):
 dependency problems - leaving unconfigured
Setting up mysql-common (10.2.5+maria~xenial) ...
Setting up mariadb-common (10.2.5+maria~xenial) ...
Setting up libmariadb3 (10.2.5+maria~xenial) ...
Setting up libmariadbclient18 (10.2.5+maria~xenial) ...
Setting up libmysqlclient18 (10.2.5+maria~xenial) ...
Processing triggers for libc-bin (2.23-0ubuntu7) ...
Processing triggers for systemd (229-4ubuntu16) ...
Errors were encountered while processing:
 _depot/10.2/mariadb-client-10.2_10.2.5+maria~xenial_amd64.deb
 _depot/10.2/mariadb-client-core-10.2_10.2.5+maria~xenial_amd64.deb
 _depot/10.2/mariadb-server-core-10.2_10.2.5+maria~xenial_amd64.deb
 mariadb-server-10.2

now I just retry last command and it succeeds:

dpkg -i *.deb

Setting up mysql-common (10.2.5+maria~xenial) ...
Setting up mariadb-common (10.2.5+maria~xenial) ...
Setting up libmariadb3 (10.2.5+maria~xenial) ...
Setting up libmariadbclient18 (10.2.5+maria~xenial) ...
Setting up libmysqlclient18 (10.2.5+maria~xenial) ...
Setting up mariadb-client-core-10.2 (10.2.5+maria~xenial) ...
Setting up mariadb-server-core-10.2 (10.2.5+maria~xenial) ...
Setting up mariadb-client-10.2 (10.2.5+maria~xenial) ...
Setting up mariadb-server-10.2 (10.2.5+maria~xenial) ...

So workaround may be to just re-try the attempt

Comment by Faustin Lammler [ 2018-03-13 ]

Hi,
i can confirm that the problem can still be reproduced on a fresh debian jessie install.

1/ install from debian repo
$ sudo apt-get install mariadb-server mariadb-client mariadb-test
2/ add mariadb repo
3/ upgrade
$ sudo apt-get update
$ sudo apt-get install mariadb-server mariadb-client mariadb-test

Terminal:
-----------
Removing mariadb-server-10.0 (10.0.32-0+deb8u1) ...
2187
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing package mariadb-server-10.0 (--remove):
subprocess installed pre-removal script returned error exit status 1
Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 1
dpkg: mariadb-server-core-10.0: dependency problems, but removing anyway as you requested:
mariadb-server-10.0 depends on mariadb-server-core-10.0 (>= 10.0.32-0+deb8u1); however:
Package mariadb-server-core-10.0 is to be removed.

Removing mariadb-server-core-10.0 (10.0.32-0+deb8u1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Errors were encountered while processing:
mariadb-server-10.0
E: Sub-process /usr/bin/dpkg returned an error code (1)

Syslog:
---------
Mar 8 18:29:49 debian-8-jessie /etc/init.d/mysql[3300]: 180308 18:29:49 mysqld_safe A mysqld process already exists
Mar 8 18:29:49 debian-8-jessie mysqld_safe: A mysqld process already exists
Mar 8 18:30:19 debian-8-jessie /etc/init.d/mysql[3796]: 1 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Mar 8 18:30:19 debian-8-jessie /etc/init.d/mysql[3796]: /etc/init.d/mysql: line 75: /usr/bin/mysqladmin: No such file or directory
Mar 8 18:30:19 debian-8-jessie /etc/init.d/mysql[3796]:
Mar 8 18:30:19 debian-8-jessie mysql[3273]: Starting MariaDB database server: mysqld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . failed!

In my case, I have a mysqld_safe process running:
$ ps faux | grep mysql
root 8790 0.0 0.1 12732 2140 pts/2 S+ 17:18 0:00 _ grep --color=auto mysql
root 1658 0.0 0.1 21852 3564 ? S 16:50 0:00 /bin/bash /usr/bin/mysqld_safe
mysql 1796 0.0 3.1 624244 65252 ? Sl 16:50 0:01 _ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
root 1797 0.0 0.1 23720 2428 ? S 16:50 0:00 _ logger -t mysqld -p daemon.error

What suggest apt-get (apt-get -f install) does not work until I kill the
mysqld_safe process.

I would be happy to do more tests if needed.
Regards,
Faust

Comment by Axel Schwenke [ 2021-09-16 ]

This affects an old version of the server (10.1). If this problem persists with an up-to-date version, please open a new ticket.

Generated at Thu Feb 08 07:54:08 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.