상당히 오래된 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 */;