gpt4 book ai didi

mysql - Bash 脚本 - 错误 1 ​​(HY000) - 从数据库保存表

转载 作者:行者123 更新时间:2023-11-29 23:49:34 24 4
gpt4 key购买 nike

我必须修复一些停止工作的脚本。有 export.sh 脚本,它应该从数据库复制并保存表:

DATAPUMP="/tmp/DataPump/"       # Where tables have to be saved and where the old tables are saved 
TABLELIST="MyShop5TableList" # Where names of tables are saved
DBSOURCE="somedb" # DB name
EXPORTDIR="../export/" # Where copies of tables have to be saved

rm ${DATAPUMP}*.export

for table in `cat ${TABLELIST}`; do
mysql -D ${DBSOURCE} -pPassword << EOF
select * into outfile "${DATAPUMP}${table}.export" from ${table};
EOF
done

cp ${DATAPUMP}* ${EXPORTDIR}

当我尝试运行脚本export.sh时,出现错误消息:

rm: cannot remove '/tmp/DataPump/*.export': No such file or directory.
ERROR 1 (HY000): Can’t create/write to file "/tmp/DataPump/goods.export"(Errcode: 2)
# *and the same ERROR 1 for all other tables*

所以我尝试将 DATAPUMP 目录更改为 DATAPUMP="tmp/DataPump/" (只是开头没有“/”)。文件已被删除,但 ERROR 1 消息仍然出现(现在有点不同):

ERROR 1 (HY000): Can’t create/write to file "var/lib/mysql/tmp/DataPump/goods.export"(Errcode: 2)
# *and the same ERROR 1 for all other tables*

文件路径已更改。我是 bash 脚本的新手,我真的不知道出了什么问题。PS:脚本运行了很长时间...我们不知道发生了什么

最佳答案

我不是 100% 确定,但我敢打赌这是权限。尝试 chown 您正在写入文件的目录。然后运行脚本。

chown -R foo /some/path

这会将/some/path 路径目录的所有权从 root 更改为 foo

关于mysql - Bash 脚本 - 错误 1 ​​(HY000) - 从数据库保存表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25712765/

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