本文目錄一覽:
mysql是用的.sh寫的腳本,執行後提示沒有命令
在Shell中執行mysql的腳本,這裡介紹比較容易使用的一種方法
首先寫好sql的腳本,後綴為.sql,比如
sql_file.sql:內容如下
#這是SQL的腳本
create table if not exists test_sql(id int(10),name varchar(20));
insert into test_sql values(1,’正餐’);
select * from test_sql;
很簡單的創建、插入、查詢
之後shell的腳本,內容如下
#!/bin/bash #這是執行SQL的腳本,傳入數據庫表,和SQL文件名即可
name=$1
file_name=$2
cd /opt/lampp/bin ./mysql -uroot -p123456 EOF
use ${name};
source ${file_name};
EOF
./mysql -uroot -p123456是進入mysql的命令,前面的路徑可以改成自己的絕對路徑
EOF EOF 中間可以寫出任意的mysql腳本
其中,如果要執行某個.sql的命令,直接用 source 腳本.sql 即可執行該腳本上面的命令,這裡使用的是source sql_file.sql
此外,如果在mysql中需要執行shell腳本
可以在EOF中 ./mysql -uroot -p123456EOF \! sh shell.sh EOF
前面加上 !\ +linux中執行的shell命令即可
如何使用shell腳本每天自動備份mysql數據庫
mysql備份用自帶的備份工具mysqldump
每天自動執行用cron工具,把mysql的備份命令放在.sh文件裏面
.sh文件放在/etc/cron.daily目錄,就會每天自動執行了。
Linux 怎麼shell腳本定時備份mysql數據庫
每天定時備份mysql數據庫任務,刪除指定天數前的數據,保留指定天的數據;
需求:
1,每天4點備份mysql數據;
2,為節省空間,刪除超過3個月的所有備份數據;
3,刪除超過7天的備份數據,保留3個月里的
10號
20號
30號的備份數據;
#創建shell文件
vim
backup_mysql.sh
mysqldump
-uroot
-p123456
–all-databases
/data/dbdata/mysqlbak/`date
+%Y%m%d`.sql
find
/data/dbdata/mysqlbak/
-mtime
+7
-name
‘*[1-9].sql’
-exec
rm
-rf
{}
\;
find
/data/dbdata/mysqlbak/
-mtime
+92
-name
‘*.sql’
-exec
rm
-rf
{}
\;
#創建定時任務
crontab
–e
4
*
*
*
/data/dbdata/backup_mysql.sh
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/238570.html