<div dir="ltr">Hi Richard,<div><br></div><div>On my system (mythbuntu 16.04) here's the mysql.service file:</div><div><div><font size="1"><i># MySQL systemd service file</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>[Unit]</i></font></div><div><font size="1"><i>Description=MySQL Community Server</i></font></div><div><font size="1"><i>After=network-online.target</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>[Install]</i></font></div><div><font size="1"><i>WantedBy=multi-user.target</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>[Service]</i></font></div><div><font size="1"><i>User=mysql</i></font></div><div><font size="1"><i>Group=mysql</i></font></div><div><font size="1"><i>PermissionsStartOnly=true</i></font></div><div><font size="1"><i>ExecStartPre=/usr/share/mysql/mysql-systemd-start pre</i></font></div><div><font size="1"><i>ExecStart=/usr/sbin/mysqld</i></font></div><div><font size="1"><i>ExecStartPost=/usr/share/mysql/mysql-systemd-start post</i></font></div><div><font size="1"><i>TimeoutSec=600</i></font></div><div><font size="1"><i>Restart=on-failure</i></font></div><div><font size="1"><i>RuntimeDirectory=mysqld</i></font></div><div><font size="1"><i>RuntimeDirectoryMode=755</i></font></div></div><div><br></div><div>And here's the /usr/share/mysql/mysql-systemd-start file's contents:</div><div><font size="1"><i><br></i></font></div><div><div><font size="1"><i>#!/bin/bash</i></font></div><div><font size="1"><i>#</i></font></div><div><font size="1"><i># Scripts to run by MySQL systemd service</i></font></div><div><font size="1"><i>#</i></font></div><div><font size="1"><i># Needed argument: pre | post</i></font></div><div><font size="1"><i>#</i></font></div><div><font size="1"><i># pre mode  :  try to perform sanity check for configuration, log, data</i></font></div><div><font size="1"><i># post mode :  ping server until answer is received</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>sanity () {</i></font></div><div><font size="1"><i>  if [ ! -r /etc/mysql/my.cnf ]; then</i></font></div><div><font size="1"><i>    echo "MySQL configuration not found at /etc/mysql/my.cnf. Please create one."</i></font></div><div><font size="1"><i>    exit 1</i></font></div><div><font size="1"><i>  fi</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>  if [ ! -d /var/lib/mysql ] && [ ! -L /var/lib/mysql ]; then</i></font></div><div><font size="1"><i>    echo "MySQL data dir not found at /var/lib/mysql. Please create one."</i></font></div><div><font size="1"><i>    exit 1</i></font></div><div><font size="1"><i>  fi</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>  if [ ! -d /var/lib/mysql/mysql ] && [ ! -L /var/lib/mysql/mysql ]; then</i></font></div><div><font size="1"><i>    echo "MySQL system database not found. Please run mysql_install_db tool."</i></font></div><div><font size="1"><i>    exit 1</i></font></div><div><font size="1"><i>  fi</i></font></div><div><font size="1"><i>}</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>pinger () {</i></font></div><div><font size="1"><i>  server_up=false</i></font></div><div><font size="1"><i>  for i in $(seq 1 30); do</i></font></div><div><font size="1"><i>    sleep 1</i></font></div><div><font size="1"><i>    if mysqladmin ping >/dev/null 2>&1; then</i></font></div><div><font size="1"><i>      server_up=true</i></font></div><div><font size="1"><i>      break</i></font></div><div><font size="1"><i>    fi</i></font></div><div><font size="1"><i>  done</i></font></div><div><font size="1"><i>  if [ ! $server_up ]; then</i></font></div><div><font size="1"><i>    echo "MySQL server not started"</i></font></div><div><font size="1"><i>    exit 1</i></font></div><div><font size="1"><i>  fi</i></font></div><div><font size="1"><i>}</i></font></div><div><font size="1"><i><br></i></font></div><div><font size="1"><i>case $1 in</i></font></div><div><font size="1"><i>  "pre")  sanity ;;</i></font></div><div><font size="1"><i>  "post") pinger ;;</i></font></div><div><font size="1"><i>esac</i></font></div></div><div><br></div><div><br></div><div>I don't see anywhere a check to see if sockets are up, unless that's what 'mysqladmin' does, but it's a binary file and I don't know enough about mysql to know what that does. </div><div><br></div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">-- George</div></div>
<br><div class="gmail_quote">On Sun, May 8, 2016 at 6:58 AM, Richard Shaw <span dir="ltr"><<a href="mailto:hobbes1069@gmail.com" target="_blank">hobbes1069@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">What does your mysqld.service or mariadb.service file look like? On Fedora it looks like this:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">[Service]</div><div class="gmail_extra">Type=simple</div><div class="gmail_extra">User=mysql</div><div class="gmail_extra">Group=mysql</div><div class="gmail_extra"><br></div><div class="gmail_extra">ExecStartPre=/usr/libexec/mysql-check-socket</div><div class="gmail_extra">ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n</div><div class="gmail_extra"># Note: we set --basedir to prevent probes that might trigger SELinux alarms,</div><div class="gmail_extra"># per bug #547485</div><div class="gmail_extra">ExecStart=/usr/bin/mysqld_safe --basedir=/usr</div><div class="gmail_extra">ExecStartPost=/usr/libexec/mysql-wait-ready $MAINPID</div><div class="gmail_extra">ExecStartPost=/usr/libexec/mysql-check-upgrade</div><div class="gmail_extra">ExecStopPost=/usr/libexec/mysql-wait-stop</div><div><br></div><div>So not only does it start mysqld but it uses some kind of wait script to presumably wait until it's ready to accept connections before it tells systemd it's "up".</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Richard</div></font></span></div></div>
<br>_______________________________________________<br>
mythtv-users mailing list<br>
<a href="mailto:mythtv-users@mythtv.org">mythtv-users@mythtv.org</a><br>
<a href="http://lists.mythtv.org/mailman/listinfo/mythtv-users" rel="noreferrer" target="_blank">http://lists.mythtv.org/mailman/listinfo/mythtv-users</a><br>
<a href="http://wiki.mythtv.org/Mailing_List_etiquette" rel="noreferrer" target="_blank">http://wiki.mythtv.org/Mailing_List_etiquette</a><br>
MythTV Forums: <a href="https://forum.mythtv.org" rel="noreferrer" target="_blank">https://forum.mythtv.org</a><br>
<br></blockquote></div><br></div>