Negativ
30-07-2007, 13:08
Задача:
Необходимо выполнять sql запрос каждые сутки для оптимизации одной из таблиц.
Что делаю:
скрипт
#!/bin/sh
my='/usr/local/bin/mysql --user=root --password=pass base
SQLS='--execute=/usr/local/rc.d/mysql/scripts/opt_user_stats.sql;'
$my $SQLS
запускаю. Mysql:
./empty_user_stats.sh
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL server version for the right syntax to use n
ear '/usr/local/rc.d/mysql/scripts/opt_user_stats.sql' at line 1
содержимое opt_user_stats.sql:
OPTIMIZE TABLE "user_stat";
Причем в интерактивном режиме данный sql запрос выполняется.
Как реализовать? Где ошибка?
Раскопал дальше.
#!/bin/sh
my='/usr/local/bin/mysql --user=root --password=pass base'
path='/usr/local/rc.d/mysql/scripts/opt_user_stats.sql'
$my < $path
В opt_user_stats.sql
OPTIMIZE TABLE user_stat;
Ошибка:
./empty_user_stats.sh
./empty_user_stats.sh: cannot open /usr/local/rc.d/mysql/scripts/opt_user_stats.sql: No such file or directory
Оказывается mysql может прочитать файл только из корня. Сделал симлинк в корне на файл и все заработало.
Соответственно вопрос, почему не mysql не может прочитать файл из /usr/local/rc.d/mysql/scripts ?
Необходимо выполнять sql запрос каждые сутки для оптимизации одной из таблиц.
Что делаю:
скрипт
#!/bin/sh
my='/usr/local/bin/mysql --user=root --password=pass base
SQLS='--execute=/usr/local/rc.d/mysql/scripts/opt_user_stats.sql;'
$my $SQLS
запускаю. Mysql:
./empty_user_stats.sh
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL server version for the right syntax to use n
ear '/usr/local/rc.d/mysql/scripts/opt_user_stats.sql' at line 1
содержимое opt_user_stats.sql:
OPTIMIZE TABLE "user_stat";
Причем в интерактивном режиме данный sql запрос выполняется.
Как реализовать? Где ошибка?
Раскопал дальше.
#!/bin/sh
my='/usr/local/bin/mysql --user=root --password=pass base'
path='/usr/local/rc.d/mysql/scripts/opt_user_stats.sql'
$my < $path
В opt_user_stats.sql
OPTIMIZE TABLE user_stat;
Ошибка:
./empty_user_stats.sh
./empty_user_stats.sh: cannot open /usr/local/rc.d/mysql/scripts/opt_user_stats.sql: No such file or directory
Оказывается mysql может прочитать файл только из корня. Сделал симлинк в корне на файл и все заработало.
Соответственно вопрос, почему не mysql не может прочитать файл из /usr/local/rc.d/mysql/scripts ?