mysql startprobleme --> /tmp dir rechteverstellung
Hallo
Ich hatte hier ein Problem welches ich zwar lösen konnte, ich aber
nicht weiss weshalb es passiert ist. Vielleicht kann mir jemand bei
der Analyse helfen?
Entschuldigung erstmal für das lange posting, aber um es analysieren
zu können hab ich mal alle notwendigen infos reingetan...
Gestern lief mysql noch normal, heute morgen lief er nicht mehr:
****************************************************
Starting MySQL atabase server: mysqld...failed.
Please take a look at the syslog.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
****************************************************
Im Syslog hab ich den ersten Fehler betreffend mysql um 01.30 heute
nacht gesehen (mysqld: innodb: error konnt in tmp nicht schreiben:...)
****************************************************
Mar 3 00:05:01 xeservices /USR/SBIN/CRON[2223]: (root) CMD (/usr/bin/php /usr/local/sitebuilder/htdocs/clearguests.php > /dev/null 2>&1)
Mar 3 00:09:01 xeservices /USR/SBIN/CRON[2226]: (root) CMD ( [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm)
Mar 3 00:15:01 xeservices /USR/SBIN/CRON[2237]: (root) CMD (/root/adminscripts/getinfo.sh >/dev/null 2>&1)
Mar 3 00:15:01 xeservices /USR/SBIN/CRON[2238]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Mar 3 00:17:01 xeservices /USR/SBIN/CRON[2271]: (root) CMD ( run-parts --report /etc/cron.hourly)
Mar 3 00:30:01 xeservices /USR/SBIN/CRON[2273]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Mar 3 00:39:01 xeservices /USR/SBIN/CRON[2277]: (root) CMD ( [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm)
Mar 3 00:45:01 xeservices /USR/SBIN/CRON[2287]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Mar 3 01:00:01 xeservices /USR/SBIN/CRON[2291]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Mar 3 01:09:01 xeservices /USR/SBIN/CRON[2295]: (root) CMD ( [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm)
Mar 3 01:15:01 xeservices /USR/SBIN/CRON[2306]: (root) CMD (/root/adminscripts/getinfo.sh >/dev/null 2>&1)
Mar 3 01:15:01 xeservices /USR/SBIN/CRON[2307]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Mar 3 01:17:01 xeservices /USR/SBIN/CRON[2340]: (root) CMD ( run-parts --report /etc/cron.hourly)
Mar 3 01:30:01 xeservices /USR/SBIN/CRON[2343]: (root) CMD (/root/adminscripts/backupdb.sh)
Mar 3 01:30:01 xeservices /USR/SBIN/CRON[2344]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Mar 3 01:30:01 xeservices mysqld[827]: 060303 1:30:01 InnoDB: Error: unable to create temporary file; errno: 13
Mar 3 01:30:01 xeservices last message repeated 185 times
****************************************************
Es liefen folglich ein paar Cron jobs. Die /opt/psa... cronjobs wurden
von plesk bei der Installation erstellt.
/root/adminscripts/backupdb.sh ist ein shellscript fürs backup der
db's welches ich gestern abend erstellt habe...es sieht so aus:
****************************************************
#!/bin/bash
DB_USER="sepp"
DB_PW="hoschi"
BACKUP_PATH=/daten/dbdumps
_touchcmd=/bin/touch
_tempfile=/root/adminscripts/mail.tmp
_rcpt="support@tirolerhut.com"
_errorspez='1'
DBS=`mysql -u$DB_USER -p$DB_PW -rBse "show databases"`
for i in $DBS
do
mysqldump --quote-names --add-drop-table -u$DB_USER -p$DB_PW $i > $BACKUP_PATH/DATABASE-$i.sql 2>/dev/null
if [ $? != '0' ]; then
$_touchcmd $_tempfile
_subject="BACKUP_ERROR"
echo "Fehler beim Dumping der mysql Datenbanken....bitte manuell kontrollieren:" >> $_tempfile
echo $i >> $_tempfile
mail -s $_subject $_rcpt < $_tempfile
rm -f /root/adminscripts/mail.tmp
_errorspez='0'
fi
done
if [ $_errorspez = '1' ]; then
$_touchcmd $_tempfile
_subject="BACKUP_SUCCESSFULL"
echo "DB Dumps auf xeservices.xmedia.ch erfolgreich erstellt" >> $_tempfile
mail -s $_subject $_rcpt < $_tempfile
rm -f /root/adminscripts/mail.tmp
fi
****************************************************
Es handelt sich also wirklich um ein einfaches Dumping der
DB's...trotzdem hab ich das Gefühl vom zeitlich Ablauf her das dies
der Verursacher des Problems sein könnte. Die Dumps wurden allerdings
erfolgreich erstellt und sind vorhanden im backup pfad..
Um Mysql wieder starten zu können musste ich die Rechte auf tmp anpassen. Als
mysql nicht startet ergabe ein "ls -lad" folgenden Output:
drwxr-xr-x 5 10007 4001 1024 2006-03-03 09:47 .
drwxr-xr-x 22 root root 4096 2006-02-28 16:04 ..
drwxrwxrwt 2 root root 1024 2006-03-02 16:41 .ICE-unix
drwxr-xr-x 2 root root 12288 2006-02-28 16:01 lost+found
-rw-r--r-- 1 root root 929 2006-03-03 07:00 psadump.2006-03-03.07.log
drwxrwxrwt 2 root root 1024 2006-03-02 16:41 .X11-unix
Man bemerke die oberste Zeile...ich hab also ein:
chown root.root /tmp/.
chmod 777 /tmp/.
gemacht....und mysql lief wieder (unter dem "mysql" user).
Was passiert ist scheint also klar zu sein. Die Rechte von . in tmp
ware verstellt/defekt...ich seh bloss allerdings keinen
Verursacher...mein backupdb.sh script macht ja nichts in tmp dir...
grüsse + thx für entwelche tipps
Reply to: