[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mysqld_safe 'Can't connect to local MySQL server through socket' from bash



Здраствуйте.

Объясните пожалуйста почем из bash скрипта mysql не соединяется с сервером

Cкрипт останавливается на строке

mysql --socket=/tmp/mysqld_safe.socket < /tmp/mysql_flush_root.sql; if ! [ $? -eq 0 ]; then exit 1001; fi

и пишет:

root@comp:/home/srvadm# /tmp/script
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
mysql stop/waiting
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld_safe.socket' (2)

#!/bin/bash
mysql -u root --password=12345678 mysql -e 'show databases;'
if ! [ $? -eq 0 ]; then
service mysql stop; if ! [ $? -eq 0 ]; then exit 1000; fi; sleep 1
mysqld_safe --skip-grant-tables --socket=/tmp/mysqld_safe.socket --pid-file=/tmp/mysqld_safe.pid >/dev/null &
# chown root:root /tmp/mysqld_safe.socket
# chmod 777 /tmp/mysqld_safe.socket
echo "use mysql;" > /tmp/mysql_flush_root.sql
echo "update user set password=PASSWORD("12345678") where User='root'; " >> /tmp/mysql_flush_root.sql
echo "flush privileges;" >> /tmp/mysql_flush_root.sql
mysql --socket=/tmp/mysqld_safe.socket < /tmp/mysql_flush_root.sql; if ! [ $? -eq 0 ]; then exit 1001; fi
rm /tmp/mysql_flush_root.sql
kill -TERM $(cat /tmp/mysqld_safe.pid); if ! [ $? -eq 0 ]; then exit 1002; fi
else exit 0;
fi


Но если просто из консоли запустить
# mysql --socket=/tmp/mysqld_safe.socket
или даже
# mysql -h 192.168.128.12

то все ОК


странно что именно из скрипта не работает соединение.

root@192.168.1.10:/home/srvadm# netstat -alnp | grep mysql
tcp 0 0 192.168.128.12:3306 0.0.0.0:* LISTEN 19636/mysqld
unix 2 [ ACC ] STREAM LISTENING 2464437 19636/mysqld /tmp/mysqld_safe.socket


root 18762 0.0 0.0 4400 744 pts/1 S 11:16 0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables --socket=/tmp/mysqld_safe.socket --pid-file=/tmp/mysqld_safe.pid mysql 19636 0.1 1.1 795908 90144 pts/1 Sl 11:16 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --open-files-limit=1024 --pid-file=/tmp/mysqld_safe.pid --socket=/tmp/mysqld_safe.socket --port=3306 root 19637 0.0 0.0 4304 664 pts/1 S 11:16 0:00 logger -t mysqld -p daemon.error
root 19750 0.0 0.0 6504 588 pts/1 S+ 11:20 0:00 grep --color=auto mysql



--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


Reply to: