특정 mysql 데이터베이스를 내보내려고 할 때 크기가 크게 다릅니다.

특정 mysql 데이터베이스를 내보내려고 할 때 크기가 크게 다릅니다.

상당히 오래된 CentOS-Bash "공유 서버" 환경에서 다음 명령을 실행했습니다.

current_date="$(date +%F-%T)"
db_user_name_and_db_name="db-username_db-name"
war="$HOME/public_html" # Web Application Root

mkdir -p "${war}/mediawiki_general_backups"

내 질문은 PHPMyAdmin GUI에서 관련 데이터베이스(모든 테이블)를 빠르게 내보내면 파일을 얻는다는 것입니다 .sql.43MB.
그러나 아래와 같이 CLUI 명령을 통해 동일한 데이터베이스를 내보내면 파일이 생성됩니다 .sql.23MB:

mysqldump \
-u "${db_user_name_and_db_name}" \
-p "${db_user_name_and_db_name}" \
> "${war}/mediawiki_general_backups/${db_user_name_and_db_name}-${current_date}.sql"

이 차이점을 어떻게 설명해야 할지 모르겠습니다.

답변1

빠른 테스트를 수행하려면 PhpMyadmin에서 테이블을 내보내고 터미널에서 다음 명령을 사용하십시오.

mysqldump -u $UserName -p database table > /tmp/table.sql

그런 다음 텍스트 편집기를 사용하여 두 개의 SQL 파일을 열면 차이점을 즉시 인식할 수 있습니다. 많은 주석과
PHPMyAdmin에서 데이터를 내보내는 방식을 인식합니다. INSERT예를 들어:

내보낸 SQL에는 다음 헤더가 있습니다.

-- phpMyAdmin SQL Dump
-- version 4.0.10.20
-- https://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 10, 2019 at 03:48 AM
-- Server version: 5.1.73-log
-- PHP Version: 5.3.3

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!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 */;

덤프된 SQL에는 다음 헤더가 있습니다.

-- MySQL dump 10.13  Distrib 5.1.73, for redhat-linux-gnu (x86_64)
--
-- Host: localhost    Database: testing
-- ------------------------------------------------------
-- Server version   5.1.73-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 */;

관련 정보