如何使用shell脚本访问mysql数据库?
有没有一种方法可以使用shell脚本访问MySQL数据库? 要在多个表上执行选择和插入操作吗如何使用shell脚本访问mysql数据库?,mysql,database,shell,Mysql,Database,Shell,有没有一种方法可以使用shell脚本访问MySQL数据库? 要在多个表上执行选择和插入操作吗 如果您能提供一些示例代码就太好了,因为我对脚本编写还不熟悉。此链接似乎包含了您想要的信息 您可以从shell脚本中使用。实际上,我是用Perl实现的。我编写了一个能够访问MySQL数据库的Perl脚本 我所要做的就是在Perl脚本中包含以下内容: # PERL MODULES USING use DBI; use DBD::mysql; 但只要确保这些模块安装正确即可。我不知道怎么做,因为我的系统管
如果您能提供一些示例代码就太好了,因为我对脚本编写还不熟悉。此链接似乎包含了您想要的信息
您可以从shell脚本中使用。实际上,我是用Perl实现的。我编写了一个能够访问MySQL数据库的Perl脚本 我所要做的就是在Perl脚本中包含以下内容:
# PERL MODULES USING
use DBI;
use DBD::mysql;
但只要确保这些模块安装正确即可。我不知道怎么做,因为我的系统管理员帮我做了
您可以这样访问数据库:
# MYSQL CONFIG VARIABLES
$platform = "mysql";
$host = "<your db server ip>";
$database = "<db name>";
$org_table = "<table name>";
$user = "<username>";
$pw = "<password>";
# DATA SOURCE NAME
$dsn = "dbi:$platform:$database:$host:$port";
# PERL DBI CONNECT
$connect = DBI->connect($dsn, $user, $pw);
试试这个
#!/bin/bash
echo "show all tables"
mysql -uroot -p'password' dbname<<EOFMYSQL
show tables;
EOFMYSQL
echo "Count of all records"
mysql -uroot -p'password' dbname<<EOFMYSQL
select count(*) from tbname;
EOFMYSQL
#/bin/bash
echo“显示所有表”
mysql-uroot-p'password'dbname例如,在数据库dbname
的表tablename
中选择所有名称
字段,并将所有名称重定向到/tmp/all_name.txt
#!/bin/sh
mysql -uuser_name -puser_pwd -h10.10.10.10 -A --default-character-set=utf8 \
-e "select name from dbname.tablename;" > /tmp/all_name.txt
注意,-uuser\u name
not-u user\u name
,-puser\u pwd not-p user\u pwd
@ishimwe为什么我们要添加好的答案来使用
#!/bin/bash
echo "show all tables"
mysql -uroot -p'password' dbname<<EOFMYSQL
show tables;
EOFMYSQL
echo "Count of all records"
mysql -uroot -p'password' dbname<<EOFMYSQL
select count(*) from tbname;
EOFMYSQL
#!/bin/sh
mysql -uuser_name -puser_pwd -h10.10.10.10 -A --default-character-set=utf8 \
-e "select name from dbname.tablename;" > /tmp/all_name.txt