当前位置:首页 » 编程语言 » linux执行mysqlsql脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

linux执行mysqlsql脚本

发布时间: 2023-02-26 11:21:45

① 如何执行一个mysql的sql脚本文件

基本步骤如下:
一、创建包含sql命令的sql脚本文件
文件中包含一系列的sql语句,每条语句最后以;结尾,假设文件名为ss.sql,文件内容示例如下(使用“--”进行注释):--创建表create table 表名称(Guid Varchar(38) not null primary key,
Title Varchar(255),
) TYPE=InnoDB;--在表A中增加字段Status
alter table A add Status TinyInt default '0';--在表A上创建索引
create index XX_TaskId_1 on A(Id_);
--在A表中添加一条记录
Insert into A (Id,ParentId, Name) values(1,0,'名称');
--添加、修改、删除数据后,有可能需要提交事务
Commit;二、执行sql脚本文件方法一 使用cmd命令执行(以windows为例,unix或linux的在其类似的控制台下运行)
格式:【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
示例:D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql注意事项:1、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
2、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:
“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】
3、如果需要将执行结果输出到文件,可以采用以下模式
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql>d:\dd.txt
方法二 进入mysql的控制台后,使用source命令执行
1、进入mysql控制台
D:\mysql\bin\mysql –uroot –p123456 -Dtest
2、执行sql脚本文件

② 如何执行一个mysql的sql脚本文件

基本步骤如下: 1、创建包含sql命令的sql脚本文件 文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下: --创建表,使用“--”进行注释 create table 表名称(Guid Varchar(38) not null primary key, Title Varchar(255), ) TYPE=InnoDB; --在表A中增加字段Status alter table A add Status TinyInt default '0'; --在表A上创建索引 create index XX_TaskId_1 on A(Id_); --在表A中添加一条记录 Insert into A (Id,ParentId, Name) values(1,0,'名称'); --添加、修改、删除数据后,有可能需要提交事务Commit;2、执行sql脚本文件 方法一 使用cmd命令执行(windows下,unix或linux在的其控制台下) 【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例: D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql注意:A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略 B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】 方法二 进入mysql的控制台后,使用source命令执行

③ linux中怎么从mysql中导出sql脚本

首先你需要一个mysql的帐号,比如root/root
然后mysqlmp -uroot -proot 数据库名 > db_name.sql
这样你的数据库就导成sql脚本了

如果解决了您的问题请采纳!
如果未解决请继续追问!

④ linux 怎么执行sql

要看你有没有设数据库bin目录的环境变量 如果设置了就直接可以用,如果没设置你就:
1.切换工作目录到mysql(或其他数据库产品)下,用root用户执行 sudo bin/mysqld_safe --user root &(这个符号表示从后台启动)
2.然后再切换到bin目录下工作 执行./mysql -u 用户名 -p
3.终端会提示你输入密码

⑤ linux shell脚本执行mysql mysql数据库在远程服务器上

方法一、适合所有格式的mysql数据库,通过对数据库导出导进写个脚本定时执行:
1.导出整个数据库 mysqlmp -u 用户名 -p 数据库名 > 导出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc > /存放路径/wcnc.sql
2.导出一个表 mysqlmp -u 用户名 -p 数据库名 表名> 导出的文件名 mysqlmp -u wcnc -p smgp_apps_wcnc users> /存放路径/wcnc_users.sql
3.导出一个数据库结构 mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/存放路径/wcnc_db.sql
定义:
-d 没有数据
--add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库 常用source 命令 进入mysql数据库控制台:
如mysql -u root -p mysql>use 数据库

方法二、针对mysql数据表格式为MyISAM的
假如数据文件在/var/lib/mysql
那么直接写个脚本
cp -r /var/lib/mysql /备份到的文件夹路径

隔机备份用rsync增量,或定时完整备份。

⑥ 如何在linux中执行sql文件

如何在linux中执行sql文件
第一种方法:
在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < F:\hello world\niuzi.sql (注意路径不用加引号的!!) 回车即可.
第二种方法:
在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source F:\hello world\niuzi.sql (注意路径不用加引号的)
或者 \. F:\hello world\niuzi.sql (注意路径不用加引号的) 回车即可.

⑦ 求一个linux下的shell脚本执行mysql的sql语句,但老是 不成功....大神帮忙啊...

简单的看了一下
第一,第六行a= awk 'NR==2{print $1}' testsss.log 这里是否没有加``,另外shell下赋值在等号两侧是不允许有空格的,这个不知道是不是你贴在里面显示的错误
第二,$sqlw取出来的应该就已经是id>3的了,那么你在for循环里的判断if [ "$num" -gt "3" ]应该进不去,所以循环里是不会走到if里去的,你可以在if外面打印一下$num的值看看。

⑧ 如何执行一个mysql的sql脚本文件

右键以文本文件的形式打开,里面是记录着可以在mysql里面执行的代码。
要执行sql文件里面的代码,需要打开mysql数据库去执行,新手推荐用软件的形式执行此sql,软件如navicat,sqlyog等。
打开软件并且配置连接数据库的信息后打开,然后创建一个数据库,之后右键数据库选中执行sql,接着选择要执行的sql文件,按提示一步一步走下去即可。
老手推荐使用cmd指令来执行sql,因为速度比较快,首先也是连接上数据库,创建并选择好数据库:
mysql>use
数据库名;
mysql>set
names
utf8;
--设置传输编码,避免中文乱码
mysql>source
d:/xxx.sql;
--
source
文件路径
就这么简单,
然后就等着sql执行完毕即可.

⑨ linux系统下怎么在终端运行sql语句

主要有以下几种方法:
1、将SQL语句直接嵌入到shell脚本文件中
代码如下:

--演示环境
[root@SZDB ~]# more /etc/issue
CentOS release 5.9 (Final)
Kernel \r on an \m
root@localhost[(none)]> show variables like 'version';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| version | 5.6.12-log |
+---------------+------------+

[root@SZDB ~]# more shell_call_sql1.sh
#!/bin/bash
# Define log
TIMESTAMP=`date +%Y%m%d%H%M%S`
LOG=call_sql_${TIMESTAMP}.log
echo "Start execute sql statement at `date`." >>${LOG}

# execute sql stat
mysql -uroot -p123456 -e "
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
quit"

echo -e "\n">>${LOG}
echo "below is output result.">>${LOG}
cat /tmp/temp.log>>${LOG}
echo "script executed successful.">>${LOG}
exit;

[root@SZDB ~]# ./shell_call_sql1.sh
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.

2、命令行调用单独的SQL文件

代码如下:

[root@SZDB ~]# more temp.sql
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
[root@SZDB ~]# mysql -uroot -p123456 -e "source /root/temp.sql"
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.

3、使用管道符调用SQL文件
代码如下:

[root@SZDB ~]# mysql -uroot -p123456 </root/temp.sql
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
#使用管道符调用SQL文件以及输出日志
[root@SZDB ~]# mysql -uroot -p123456 </root/temp.sql >/tmp/temp.log
[root@SZDB ~]# more /tmp/temp.log
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.

4、shell脚本中MySQL提示符下调用SQL

代码如下:

[root@SZDB ~]# more shell_call_sql2.sh
#!/bin/bash
mysql -uroot -p123456 <<EOF
source /root/temp.sql;
select current_date();
delete from tempdb.tb_tmp where id=3;
select * from tempdb.tb_tmp where id=2;
EOF
exit;
[root@SZDB ~]# ./shell_call_sql2.sh
Logging to file '/tmp/temp.log'
id val
1 jack
2 robin
3 mark
Outfile disabled.
current_date()
2014-10-14
id val
2 robin

5、shell脚本中变量输入与输出

代码如下:

[root@SZDB ~]# more shell_call_sql3.sh
#!/bin/bash
cmd="select count(*) from tempdb.tb_tmp"
cnt=$(mysql -uroot -p123456 -s -e "${cmd}")
echo "Current count is : ${cnt}"
exit
[root@SZDB ~]# ./shell_call_sql3.sh
Warning: Using a password on the command line interface can be insecure.
Current count is : 3

[root@SZDB ~]# echo "select count(*) from tempdb.tb_tmp"|mysql -uroot -p123456 -s
3

[root@SZDB ~]# more shell_call_sql4.sh
#!/bin/bash
id=1
cmd="select count(*) from tempdb.tb_tmp where id=${id}"
cnt=$(mysql -uroot -p123456 -s -e "${cmd}")
echo "Current count is : ${cnt}"
exit

[root@SZDB ~]# ./shell_call_sql4.sh
Current count is : 1