Am 27.09.2013 09:30, schrieb Vladimir Skubriev:
Здраствуйте.Объясните пожалуйста почем из 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 то все ОК странно что именно из скрипта не работает соединение. [email protected]:/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
от какого user работает mysqld? должет от mysql -- .. Developer forum http://wiedergold.org/forum/index.php -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

