Как получить доступ к базе данных MySQL, используя сценарий оболочки? - PullRequest
7 голосов
/ 27 апреля 2011

Есть ли способ получить доступ к базе данных MySQL с помощью сценария оболочки?хотите сделать несколько выборок и несколько вставок в нескольких таблицах?

Было бы здорово, если бы вы могли дать пример кода, так как я новичок в сценариях.

Ответы [ 4 ]

6 голосов
/ 27 апреля 2011

Эта ссылка содержит информацию, которую вы хотите.

http://www.cyberciti.biz/faq/using-mysql-in-shell-scripts/

mysql -u user -p dbnane
4 голосов
/ 10 июля 2013

попробуйте

#!/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
2 голосов
/ 27 апреля 2011

Вы можете использовать инструмент командной строки mysql из своего сценария оболочки.

0 голосов
/ 05 мая 2011

На самом деле, я достиг этого, используя Perl.Я написал Perl-скрипт, который смог получить доступ к базе данных MySQL.

Все, что мне нужно было сделать, это включить это в мой 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);

Теперь предположим, что вы создали строку запроса, а затемхотите выполнить это:

#SELECT THE ORG SHORT NAMES
$select_org = "SELECT id, short_name FROM $org_table";
$org_handle = $connect->prepare($select_org);

$org_handle will have the resultset.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...