[MDEV-9335] service start fails with timeout on system using systemctl (tarball install) Created: 2015-12-28 Updated: 2016-01-22 Resolved: 2016-01-22 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Platform Debian |
| Affects Version/s: | 10.1.10 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Ryan RAJKOMAR | Assignee: | Unassigned |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Debian Jessie (8.2) |
||
| Description |
|
Note : my file in /etc/init.d/ is called mariadb_10_1_10_main When running sudo service mariadb_10_1_10_main start ,
returns :
Once start has timeout-ed,
returns :
Although the server has correctly been started (I can conenct using the socket or tcp connection), it would ssem that the provided script in support-files (mysql.server) may not be up to date for systemd usage or that another version of the file designed for systemd should be provided as well |
| Comments |
| Comment by Ryan RAJKOMAR [ 2015-12-28 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
FYI : this issue only happens on a system installed from scratch with Debian Jessie : system upgraded from Wheezy seem to keep using the "old way" and the issue mentionned in Also, the issue did not occur with MySQL 5.6 on a similar system (Debian 8.2, with everything configured the same way and mysql installed also from tarball) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-01-10 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Please describe step-by-step how you configure the service upon installation from the binary tarball. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ryan RAJKOMAR [ 2016-01-12 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Here is the process I followed (intially provided by a MySQL DBA to me and I then adapted it to the mariadb install) Requirements (these were installed prior to all the following depending on which version I was trying to install) :
>> save and close
>> save and close
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thank you for the full description. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ryan RAJKOMAR [ 2016-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hello, Thank you for the time you took to checkout this issue but I'm afraid there might be also something else : I tried to run the command "manually" by executing :
>> Error with user/pass (I disabled login without password)
>> Error with user/pass (I disabled root login without password)
>> Worked (I typed password when prompted) It would seem that we can't disable root login without password without the process breaking which is bad IMO. That being said how can I make the process use the right socket (right my.cnf file) without changing too much (using a customizeable port/socket is a requirement in my case). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
First, I don't really know what you mean by "disable root login without password". I'll take a wild guess that you mean setting an empty password for local root and will further write under this assumption. Of course you can do everything with your logins and passwords as long as you do it right, MySQL and MariaDB are not different in this regard, as long as you do it right. I already told you above that you need to point your mysqladmin at the exact cnf file, but you pointed it at the socket instead. It's not the same thing (and you didn't even use --no-defaults. (Of course, the other reason could be that you didn't run FLUSH PRIVILEGES after updating mysql.user table, but for the sake of sanity I'll assume that you did, or that you used SET PASSWORD rather than a direct update). The environment that you are trying to use is what they usually call 'advanced setup', and should only be used if one has solid understanding of MySQL configuration, otherwise it's just too error-prone. Basic problems like the one above can happen any unlucky day, no matter whether you are currently running MariaDB or MySQL. You should be able to solve them on the fly. It seems that you need to involve the DBA who wrote instructions for you into your setup process, especially since apparently they didn't bother to actually try their own instruction even once, otherwise the problem with wait_for_ready would have become obvious. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ryan RAJKOMAR [ 2016-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
As I explained before the process was given to me for a mysql server but since mariadb advertises everywhere that all config options working for mysql would work for mariadb I thought the script would work the same (and aside from this part it does). After looking carefully for differences, it seems the issue come from the fact that mariadb waits for a pingback while mysql looks for the pid file being created. After adding --defaults-file= {path}to themysqladmin command in wait_for_ready it did indeed work. |