Forum Webscript.Ru
Общие => Базы данных => Тема начата: AZone от 20 Декабря 2002, 20:54:50
-
Вопрос: у меня есть следующие данные - имя базы, имя пользователя, пароль и имя хоста (кажется, в этом случае лучше использовать IP хоста. Я прав?). Также имеется файл *.sql - кторый является back-up\'ом. Так вот, как мне его установить на сервер, обладая только этими данными? (то есть нет ни phpMyAdmin, ни другого аналога, вообще больше ничего нет).
Буду очень благодарен за быстрый ответ.
-
Шелл есть?
-
Ничего нет. И на сервере ничего нет. То есть я могу использовать только то, что можно установить на мой компьютер. И я ничего не умею, кроме как в phpMyAdmin нигде больше не ходил и командной строкой не пользовался и вообще любитель жалкий...
Помогите!
-
Дамп базы большой?
-
Дамп... Что это?
-
Файл - *.sql большой?
-
#!/usr/bin/perl
#########################
# Chs [url]http://chs.now.at[/url] #
# loadmsql.cgi #
#########################
use strict;
use CGI qw(param);
use CGI::Carp qw(fatalsToBrowser);
use DBI;
sub DBconnect()
{
my $db_host = "localhost";
my $db_name = "wakka";
my $db_user = "root";
my $db_pass = "";
my $dbh;
if ($db_user ne \'\')
{
$dbh = DBI-> connect("DBI:mysql:database=$db_name;host=$db_host",$db_user,$db_pass,{RaiseError=>1});
}
else
{ $dbh = DBI-> connect("DBI:mysql:database=$db_name;host=$db_host",{RaiseError=>1});
}
return $dbh;
}
$| = 1;
print "Content-type:text/plain\\n\\n";
my $file = param(\'file\');
open(INP, "< ".$file) || die($!);
my $dbh = DBconnect();
my $cmd = "";
while()
{
next if (m/^#/);
if (m/;/)
{
my @parts = split(/;/);
$cmd .= shift @parts;
#exec sql
print "Executed:".$cmd."\\n" if ($dbh-> do($cmd));
$cmd = shift(@parts) || "";
}
else
{
$cmd .= $_;
}
}
close INP;
print "Done.\\n";
Значит так - вот скрипт, который закачает базу.
В нем нужно поменять настройки в DBconnect:
my $db_host = "localhost";
my $db_name = "wakka";
my $db_user = "root";
my $db_pass = "";
Хост, имя базы, пользователь, пароль.
Файл закачать вместе со скриптом на сервер
и вызвать скрипт http://myhost/cgi-bin/loadmsql.cgi?file=out.sql
-
ух-ты, а на PHP такое сть?
-
Великолепно, но на хостинге запрещено использование CGI скриптов для меня... Может, и правда на PHP есть?
Кстати, файл = 1MB
-
На PHP - это к PHP-стам.:))
Может напишет кто.:)
-
ОК. А других методов нет?
А вот это что:
$sql = explode(";", implode("", file("./mysql_schema.".$sqlEx)));
for ($i = 0; $i < count($sql); $i++) mysql_query($sql[$i]) or die(mysql_error());
?
-
А вот это что:
Это кусок кода на PHP, который загоняет дамп в твою БД