0

私は約300mbのmysqlデータベースを持っていますが、残念ながらphpmyadminを使用してこのファイルをWebホストにインポートできず、シェルアクセスがありません。

私は以下の選択肢を試しました

MySQLDumper

bigdump

しかし、それをデータベースに挿入することができます。

データベースは.sql形式のフォルダーにアップロードされています。.sqlファイルを読み取ってクエリを実行するphpスクリプトを作成することは可能ですか?

SQLファイルはmysqldumpを使用してダンプされました。

以下はフォーマットです。(私がいくつかの行を削除したことに注意してください。

DROP TABLE IF EXISTS `prime_lands`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `hotels` (
  `hotel_id` int(11) DEFAULT NULL,
  `chain_id` int(11) DEFAULT NULL,
  `chain_name` varchar(100) DEFAULT NULL,
  `brand_id` int(11) DEFAULT NULL,
  `brand_name` varchar(100) DEFAULT NULL,
  `hotel_name` varchar(100) DEFAULT NULL,
  `hotel_formerly_name` varchar(100) DEFAULT NULL,
  `hotel_translated_name` varchar(100) DEFAULT NULL
...........
)

-- Dumping data for table `prime_lands`
--

LOCK TABLES `prime_lands` WRITE;
/*!40000 ALTER TABLE `prime_lands` DISABLE KEYS */;

INSERT INTO `prime_lands` VALUES (1,421,'Samed Resorts Group',921,'Samed Resorts Group','Sai Kaew Beach Resort','','Sai Kaew Beach Resort',.......................)

....................................
4

1 に答える 1

2

動作するはずです:

$run=   exec ('mysql -u username -p password database_name < filename.sql ', $out);
var_dump($run);
var_dump($out);

デバッグに適している可能性があります:

$out = shell_exec('mysql -u username -p password database_name < filename.sql');
var_dump($out);

1回限りとして、コマンドを実行するようにホストに依頼できる場合があります。ほとんどの「素敵な」ホストがこれを支援します。

于 2012-12-05T19:08:40.960 に答える