我正在尝试将参数从bash脚本传递到mysql脚本。bash脚本是
#!/bin/bash
for file in `ls *.symbol`
do
path=/home/qz/$file
script='/home/qz/sqls/load_eval.sql'
mysql -u qz -h compute-0-10 -pabc -e "set @pred = '$path'; source $script;"
done
load_eval.sql是
use biogrid;
load data local infile @pred into
我在Windows机器上使用MySQL innodb version 5.7.10 'MySQL Community Server (GPL)'。如果我从MySQL工作台运行它,下面的脚本运行得很好:
DROP PROCEDURE IF EXISTS procedure1;
DELIMITER //
CREATE PROCEDURE procedure1(IN pageSize BIGINT)
BEGIN
SELECT * FROM table1 LIMIT pageSize;
END //
DELIMITER ; -- note that there
我正在为ETL构建一个Kettle转换--一个大的文本文件,这个转换是可以的,但是加载的过程非常慢,我知道Kettle有一个名为MySQL散装装载器的函数,但是只在Linux上工作,我正在工作在环境中。
我想在转换后使用来自MySQL的LOAD DATA INFILE,我尝试使用Execute Sql脚本,但是启动一个“您的SQL语法中有错误”错误,直接在MySQL中脚本执行得很好。
有人知道我是否可以在Kettle中使用LOAD DATA INFILE,或者对从Kettle加载MySQL中的大型文本文件有更好的想法。
谢谢:)
我有3个sql脚本(11.sql、12.sql和13.sql),它们包含存储过程(或) DML语句,必须依次按升序执行。我可以通过bash脚本来完成这个任务。
for sql_file in `ls *.sql`
do
echo "Output of the $sql_file as below..."
mysql --defaults-file=/home/sri/myfile.txt -v --safe-updates=1 << EOFMYSQL
USE sampledb;
SOURCE $sql_file;
EOFMYSQL
但
我写了一个数据库迁移PHP脚本,它循环一系列SQL文件并执行它们的内容。它应该有助于自动化项目的setupd和更新。现在我得到的错误如下:
mapCoursesToSport.sql: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER |
DROP PROCEDURE IF EXISTS mapCoursesToSport|
CREATE PROCE
我正在尝试用PHP脚本将CSV导入到MySQL表中。此SQL命令成功地将CSV文件导入SQL表中:
mysql> LOAD DATA LOCAL INFILE 'property_re_1.csv'
-> REPLACE INTO TABLE `markers`
-> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
-> LINES TERMINATED BY '\n' IGNORE 1 LIN
当我尝试通过shell脚本在mysql中执行多行SQL时:
mysql -uroot -ppass mydb <<<EOF
SELECT * INTO OUTFILE 'table.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM mytable limit 1;
EOF
我得到一个语法错误:
ERROR 1064 (42000) at line 1: You hav
我有两份文件。它们都能工作。第一个是case调度器脚本,它每xx次运行第二个脚本(不是太快,不能排除这种情况)。当执行第二个脚本时,我得到了这个错误:
./sql.py: 2: ./sql.py: import: not found
./sql.py: 4: ./sql.py: import: not found
./sql.py: 5: ./sql.py: import: not found
./sql.py: 7: ./sql.py: ROOT: not found
./sql.py: 8: ./sql.py: tempixy: not found
./sql.py: 9: ./sql.p
嗨,我有一个脚本来分区一些mysql数据库。我们正在从5.5升级到5.6。在测试脚本时,我注意到在新的5.6版本中,mysql返回Warning: Using a password on the command line interface can be insecure.,解决这个问题的最好方法是什么?我读到了一个变通方法是2>/dev/null,但如果发生退出代码或任何错误,我将无法获得它们。有没有其他方法可以做到这一点。下面是有问题的代码行:
MYSQL_RESULT=`echo "SET sql_log_bin=0;SET @pdb='$DB',@ptab