您的位置:

关于sh脚本操作mysql数据库的信息

本文目录一览:

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