0

我有一个大约 300mb 的 mysql 数据库,但不幸的是我无法使用 phpmyadmin 将此文件导入我的网络主机,而且我没有 shell 访问权限。

我尝试了以下替代方案

MySQLDumper

大转储

但可以将其插入数据库。

数据库已上传到 .sql 格式的文件夹。是否可以创建一个 php 脚本来读取 .sql 文件并执行查询?

使用 mysqldump 转储了 sql 文件。

下面是格式。(请不要说我删除了一些行,因为有这么多)

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);

作为一个临时的,您可以要求您的主机为您运行命令,大多数“好”主机会帮助您解决这个问题。

于 2012-12-05T19:08:40.960 回答