0

データベースをダンプするために、mysql で次のコマンドを実行しています。

mysqldump --login-path=bc --single-transaction --routines my_database > /tmp/my_database

生成されるダンプ ファイルには、変数のみが含まれ、テーブル構造とデータは含まれません。

- MySQL dump 10.13  Distrib 5.6.49-89.0, for Linux (x86_64)
--
-- Host: my_host    Database: my_database
-- ------------------------------------------------------
-- Server version       5.7.35-38-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 */;

--
-- Dumping routines for database 'my_database'
--
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2021-09-23 12:28:51
~

私の同僚は同じホストで同じコマンドを実行しますが、彼のダンプ ファイルは大幅に異なります。私のファイルと同じSET変数が含まれていますが、以下も含まれています。

--
-- Table structure for table `table_1`
--

DROP TABLE IF EXISTS `table_1`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `table_1` (
  `autoinc` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `field1` varchar(30) NOT NULL,
  `field2` varchar(40) NOT NULL,
   ... primary key stuff
   ... unique key stuff
   ... constraints
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `table_1`
--

LOCK TABLES `table_1` WRITE;
/*!40000 ALTER TABLE `table_1` DISABLE KEYS */;
/*!40000 ALTER TABLE `table_1` ENABLE KEYS */;
UNLOCK TABLES;

... etc

/etc/ にある my.cnf ファイルを読んでいましたが、そのファイルには同僚と何も違いはありません。同じ my.cnf ファイルを使用して、同じホストで同じコマンドを実行して、このように異なるダンプ ファイルを作成する方法について、私は非常に混乱しています。

何をすべきか、次に何を試すかについての指示は大歓迎です。これは私が得た限りです。my.cnf ファイル以外のものでしょうか? パーミッションベース?

mysql と統合する Perl の一連の単体テストを書き直す必要があるため、新しいコマンドを試したくありません。私の目標は、ダンプ ファイルが特に構造とデータを除外する原因を突き止めることです。

4

0 に答える 0