【问题标题】:MySQL dump not inserting complete data [duplicate]MySQL转储未插入完整数据[重复]
【发布时间】:2020-06-07 22:07:57
【问题描述】:

在我的本地 PC(Windows、WAMPserver)上,我的转储脚本 (PHP) 运行良好:

$createBackup = '"' . $dumpLoc .'" --host='.$dumpHost.' --user='.$myName.' --password="'.$myPass.'" '。 $dbName。 '.$table_name.' >> '.$sqlFile;
系统($createBackup);

但在生产服务器上(也有 Windows,使用 PHP/MySQL)它不会转储实际的数据库,只是转储开头的参数,例如:

-- MySQL dump 10.13  Distrib 5.7.19, for Win64 (x86_64)
--
-- Host: *****    Database: ********
-- ------------------------------------------------------
-- Server version   5.7.23-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

...没有必需的

DROP TABLE IF EXISTS `logins`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `logins` ( *** ), etc.

我不认为这是内存问题(我们只谈论 280 行,而不是每行中的大量数据)。

.sql 文件已正确创建,只是不包含数据,而在本地计算机上,一切正常。

我实际上是从 2 个不同的数据库和每个数据库的 3 或 4 个表中转储的。但即使我将它限制为一个(麻烦的)数据库和一个表,也没有运气。

另一个数据库正在生产服务器上正常转储。

【问题讨论】:

  • 您的用户权限设置是否正确?
  • 转储成功的数据库在权限中有一个额外的通配符条目:用户名:(与%和localhost相同),主机名:(服务器的ip)类型:“wildcard:working_db_name; 权限:全部;格兰特:不。这会是问题吗?
  • 请注意,您应该在传递到命令行的变量上使用escapeshellargs()。这将正确引用和转义值。

标签: php mysql


【解决方案1】:

马克的问题是问题所在。

我尝试使用该通配符条目创建一个新用户,但没有成功。原来是因为ERROR 1396 (HY000): Operation CREATE USER failed for ... 错误。

根据why can't create a new user in mysql?,我删除了用户(即使他们还不存在),刷新了权限,然后我可以添加用户并提供正确的权限。

现在转储按要求工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多