gpt4 book ai didi

mysql 在登录时挂起

转载 作者:行者123 更新时间:2023-11-29 19:21:49 25 4
gpt4 key购买 nike

我正在使用 InfiniDB(不是自愿的)。当我使用 linux shell 时,我能够很好地连接到数据库:

<user>@<host>:~$ /usr/local/Calpont/mysql/bin/mysql -u <user> -p -h <host>
Enter password: <password>

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1725
Server version: 5.1.39 MySQL Community / Calpont InfiniDB Community 2.2.11-1 Fin al (COSS LA)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use <database_name>
Database changed
mysql>

但是当我使用 bash 脚本时,它会挂起:

<user>@<host>:~$ bash -x /home/aliceell/db_export.sh
+ DB=al05_09
+ export_dir=/tmp/
++ /usr/local/Calpont/mysql/bin/mysql -u <user> -p -h <host> <db_name>
Enter password:

在我输入密码并按“回车”键后,它停止响应。我必须使用 ctrl-C 才能摆脱它。

这是我的代码:

DB=<db_name> 
export_dir="/tmp/"

err_exit()
{
echo -e 1>&2
exit 1
}

mysql_data_dir=$(/usr/local/Calpont/mysql/bin/mysql -u <user> -p -h <host> <db_name>) #it hangs at this stage

if ! (mysqlshow $DB 1>/dev/null); then
echo ERROR: unable to access database
exit 1
fi

echo "connected"

if ! [ -w $export_dir ]; then
echo ERROR: export dir is not writable
exit 1
fi

ExportTable()
{
/usr/local/Calpont/mysql/bin/mysql -u <user> -p -h <host> <db_name>"
SELECT * INTO OUTFILE '/tmp/$T.csv'
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
FROM $T
"
}

/usr/local/Calpont/mysql/bin/mysql -u <user> -p -h <host> <db_name> "show tables" |
while read T; do
echo exporting $T
ExportTable || err_exit
sudo mv $mysql_data_dir/$DB/$T.psv $export_dir/ || err_exit
done

我是 bash 新手,并尝试使用它循环遍历数据库中的所有表并导出它们( similar to this script ),但如果我什至无法连接到数据库,那就没有用了...

预先感谢您的帮助。

最佳答案

您分配给 mysql_data_dir 的命令替换不是交互式运行的,因此 mysql 命令必须运行、生成其输出并在输出返回到之前终止。外壳变量。仔细看看你的linked example (摘录如下)你会看到他的mysql命令就是这种命令行;它包含一个 mysql 命令,该命令被执行并通过管道传送到 awk 命令进行后处理。

mysql_data_dir=$(mysql $myopts "show variables like 'datadir'" | awk '{sub(/\/$/,"");print$NF}')

您需要做的是确定您的“one-liner”mysql 命令是什么,并将其放入您的$() 中。

关于mysql 在登录时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42393182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com