Skip to content

MariaDB 10.3.1x + 10.4.x : mysqld_multi not working properly

A couple of days ago, we upgraded some MariaDB instances on a consolidated database server. However, after the software update we were not able to manage our instances anymore using mysqld_multi whatever the MariaDB release (10.3.18 or the latest 10.4.x).

Previously, everything worked fine with 10.3.14. So, what happened to our system?

Lets’ quickly start an instance:

mysql@vmoel:/u01/app/mysql/product/mariadb-10.3.18/bin/ [mysqld3] ./mysqld_multi start 3
elseif should be elsif at /u01/app/mysql/product/mariadb-10.3.18/bin/mysqld_multi line 352.
syntax error at /u01/app/mysql/product/mariadb-10.3.18/bin/mysqld_multi line 353, near ")
      {"
syntax error at /u01/app/mysql/product/mariadb-10.3.18/bin/mysqld_multi line 356, near "else"
syntax error at /u01/app/mysql/product/mariadb-10.3.18/bin/mysqld_multi line 404, near "}"
Illegal declaration of subroutine main::stop_mysqlds at /u01/app/mysql/product/mariadb-10.3.18/bin/mysqld_multi line 416.

Actually, the error message is quite simple to understand and to fix. We let you check & fix the bug by yourself (hint : “elseif should be elsif”) 😎

That’s it for now but does your MariaDB instances start now? Hum, try it and check your error log like we did:

2019-10-30 20:53:33 0 [Note] InnoDB: 10.3.18 started; log sequence number 1630952; transaction id 21
2019-10-30 20:53:33 0 [Note] InnoDB: Loading buffer pool(s) from /u02/mysqldata/mysqld3/ib_buffer_pool
2019-10-30 20:53:33 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-10-30 20:53:33 0 [ERROR] /u01/app/mysql/product/mariadb-10.3.18/bin/mysqld: unknown variable 'defaults-group-suffix=mysqld3'
2019-10-30 20:53:33 0 [ERROR] Aborting

Still not working ? Hum, now after some further analysis of the perl code especially the perl routine “start_mysqlds” we could identify the real problem.

While, writing this article we found someone already reported that bug MDEV-20728 !  Thanks to him

The fix is directly available on the MariaDB GitHub repository

Good luck 🙂

Let’s work together

Ready to operate at
the next level?

Tell us about your challenge. We’ll bring the depth, the expertise, and the Swiss precision.

Jérôme Witt

Jérôme Witt

Jérôme Witt leads the entire Oracle consulting team in Basel, having started his consulting career in 2008. He specializes in database and infrastructure management, Oracle high availability, backup and recovery, and performance tuning, alongside open-source technologies (Linux/Unix), Perl, Shell, and Windows PowerShell, with a recent focus on automation using Ansible. He holds Oracle 12c/11g Certified Professional, Oracle Certified Expert Tuning (OCE), and ITIL V3 Foundation certifications, and leads the Oracle DBA Essentials, Multitenant, and Ansible workshops. Prior to dbi services, he was a Consultant at Trivadis in Basel. His industry experience covers pharma, healthcare, banking and financial services, energy, and automotive.View Author posts

19 posts since January 2011

Leave a Comment

Your email address will not be published. Required fields are marked *