[MDEV-9725] Mariadb installation script failure should be more verbose Created: 2016-03-14  Updated: 2016-04-14  Resolved: 2016-04-14

Status: Closed
Project: MariaDB Server
Component/s: Packaging
Affects Version/s: 10.1.12
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Onni Hakala Assignee: Unassigned
Resolution: Not a Bug Votes: 0
Labels: need_feedback
Environment:

Ubuntu 14.04 VPS



 Description   

I had problems in installing mariadb with ansible so I decided to install mariadb manually.

I would suggest for more verbose failure messages on debian.

What I got:

$ sudo apt-get install mariadb-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libdbd-mysql-perl libmariadbclient18 libmysqlclient18 mariadb-client-10.1
  mariadb-client-core-10.1 mariadb-common mariadb-server-10.1
  mariadb-server-core-10.1 mysql-common
Suggested packages:
  libterm-readkey-perl mailx mariadb-test tinyca
The following NEW packages will be installed:
  libdbd-mysql-perl libmariadbclient18 libmysqlclient18 mariadb-client-10.1
  mariadb-client-core-10.1 mariadb-common mariadb-server mariadb-server-10.1
  mariadb-server-core-10.1 mysql-common
0 upgraded, 10 newly installed, 0 to remove and 134 not upgraded.
Need to get 0 B/13.0 MB of archives.
After this operation, 135 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 59000 files and directories currently installed.)
Preparing to unpack .../mysql-common_10.1.12+maria-1~trusty_all.deb ...
Unpacking mysql-common (10.1.12+maria-1~trusty) ...
Selecting previously unselected package mariadb-common.
Preparing to unpack .../mariadb-common_10.1.12+maria-1~trusty_all.deb ...
Unpacking mariadb-common (10.1.12+maria-1~trusty) ...
Selecting previously unselected package libmariadbclient18.
Preparing to unpack .../libmariadbclient18_10.1.12+maria-1~trusty_amd64.deb ...
Unpacking libmariadbclient18 (10.1.12+maria-1~trusty) ...
Selecting previously unselected package libmysqlclient18.
Preparing to unpack .../libmysqlclient18_10.1.12+maria-1~trusty_amd64.deb ...
Unpacking libmysqlclient18 (10.1.12+maria-1~trusty) ...
Selecting previously unselected package libdbd-mysql-perl.
Preparing to unpack .../libdbd-mysql-perl_4.025-1_amd64.deb ...
Unpacking libdbd-mysql-perl (4.025-1) ...
Selecting previously unselected package mariadb-client-core-10.1.
Preparing to unpack .../mariadb-client-core-10.1_10.1.12+maria-1~trusty_amd64.deb ...
Unpacking mariadb-client-core-10.1 (10.1.12+maria-1~trusty) ...
Selecting previously unselected package mariadb-client-10.1.
Preparing to unpack .../mariadb-client-10.1_10.1.12+maria-1~trusty_amd64.deb ...
Unpacking mariadb-client-10.1 (10.1.12+maria-1~trusty) ...
Selecting previously unselected package mariadb-server-core-10.1.
Preparing to unpack .../mariadb-server-core-10.1_10.1.12+maria-1~trusty_amd64.deb ...
Unpacking mariadb-server-core-10.1 (10.1.12+maria-1~trusty) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up mysql-common (10.1.12+maria-1~trusty) ...
Setting up mariadb-common (10.1.12+maria-1~trusty) ...
Selecting previously unselected package mariadb-server-10.1.
(Reading database ... 59184 files and directories currently installed.)
Preparing to unpack .../mariadb-server-10.1_10.1.12+maria-1~trusty_amd64.deb ...
Unpacking mariadb-server-10.1 (10.1.12+maria-1~trusty) ...
Selecting previously unselected package mariadb-server.
Preparing to unpack .../mariadb-server_10.1.12+maria-1~trusty_all.deb ...
Unpacking mariadb-server (10.1.12+maria-1~trusty) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for ureadahead (0.100.0-16) ...
Setting up libmysqlclient18 (10.1.12+maria-1~trusty) ...
Setting up libdbd-mysql-perl (4.025-1) ...
Setting up libmariadbclient18 (10.1.12+maria-1~trusty) ...
Setting up mariadb-client-core-10.1 (10.1.12+maria-1~trusty) ...
Setting up mariadb-client-10.1 (10.1.12+maria-1~trusty) ...
Setting up mariadb-server-core-10.1 (10.1.12+maria-1~trusty) ...
Setting up mariadb-server-10.1 (10.1.12+maria-1~trusty) ...
 * Stopping MariaDB database server mysqld                                                      [ OK ]
2016-03-14 14:57:04 139926874793920 [Note] /usr/sbin/mysqld (mysqld 10.1.12-MariaDB-1~trusty) starting as process 20638 ...
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: The InnoDB memory heap is disabled
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Memory barrier is not used
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Using Linux native AIO
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Using generic crc32 instructions
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Initializing buffer pool, size = 256.0M
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Completed initialization of buffer pool
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Highest supported file format is Barracuda.
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: 128 rollback segment(s) are active.
2016-03-14 14:57:04 139926874793920 [Note] InnoDB: Waiting for purge to start
2016-03-14 14:57:04 139926874793920 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.28-76.1 started; log sequence number 1616849
2016-03-14 14:57:04 139926874793920 [Note] Plugin 'FEEDBACK' is disabled.
2016-03-14 14:57:04 139925965997824 [Note] InnoDB: Dumping buffer pool(s) not yet started
 * Starting MariaDB database server mysqld                                                      [fail]
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-server:
 mariadb-server depends on mariadb-server-10.1 (= 10.1.12+maria-1~trusty); however:
  Package mariadb-server-10.1 is not configured yet.
 
dpkg: error processing package mariadb-server (--configure):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
No apport report written because the error message indicates its a followup error from a previous failure.
   Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
 mariadb-server-10.1
 mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Then I tried to run mysqld manually to see what was wrong:

$ sudo mysqld
2016-03-14 14:58:22 140235204978624 [Note] mysqld (mysqld 10.1.12-MariaDB-1~trusty) starting as process 21315 ...
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: The InnoDB memory heap is disabled
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Memory barrier is not used
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Using Linux native AIO
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Using generic crc32 instructions
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Initializing buffer pool, size = 256.0M
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Completed initialization of buffer pool
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Highest supported file format is Barracuda.
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: 128 rollback segment(s) are active.
2016-03-14 14:58:22 140235204978624 [Note] InnoDB: Waiting for purge to start
2016-03-14 14:58:22 140235204978624 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.28-76.1 started; log sequence number 1616879
2016-03-14 14:58:22 140234297673472 [Note] InnoDB: Dumping buffer pool(s) not yet started
2016-03-14 14:58:22 140235204978624 [Note] Plugin 'FEEDBACK' is disabled.
2016-03-14 14:58:22 140235204978624 [Note] Server socket created on IP: '127.0.0.1'.
2016-03-14 14:58:22 140235204978624 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 98: Address already in use
2016-03-14 14:58:22 140235204978624 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2016-03-14 14:58:22 140235204978624 [ERROR] Aborting

It was zombie mysqld process left from my earlier installation. Everything worked after I killed zombie process and rerun installation.

What I would hope to be new default behaviour for installer is to include these messages in the output:

2016-03-14 14:58:22 140235204978624 [Note] Server socket created on IP: '127.0.0.1'.
2016-03-14 14:58:22 140235204978624 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 98: Address already in use
2016-03-14 14:58:22 140235204978624 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2016-03-14 14:58:22 140235204978624 [ERROR] Aborting

This would make installation debugging more easier for other users, thanks in advance .



 Comments   
Comment by Elena Stepanova [ 2016-03-15 ]

I don't think it anyhow depends on MariaDB. The error log is still filled with the same contents as you see when you run mysqld directly, it's just written into a separate place – either the error log file or syslog (or its analogues), depending on your configuration. And as far as I understand, there are no options to make apt-get re-print it automatically to stderr if anything goes wrong. If you check the logs manually, everything will be there.

otto, please correct me if I'm wrong and there are ways to make it more verbose.

Comment by Otto Kekäläinen [ 2016-03-16 ]

Hello onnimonni!

This is how daemons in init in Ubuntu 14.04 work and how apt-get work by design. As a sysadmin you need to learn to read the logs. For MariaDB, check /var/log/syslog and /var/log/mysql contents.

As you note, this isn't that ideal, but luckily the new way how systemd starts/stops daemons and collect stdout and stderr and logs from them is much smarter and from Ubuntu 16.04 onwards systemd is there too.

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