mysqldump的使用_MySQL

May 31, 2016 am 08:48 AM

mysqldump

mysql 提供了msyqldump 工具来导出数据库。

大致搜索了下网上的文章大都是出自一篇文章,内容繁多而杂。大多数都没有用到。

整理了一下自己用到过和觉得有用一些选项,记录于下。

mysqldump的基本使用格式为 :

mysqldump -hhost -Pport -uuser -ppassword  dbname > xxxx.sql

host port可以不填,host默认localhost port默认为3306

以下为选项

--all-database,-A 导出全部该连接上全部数据包括创建数据库,创建表, 数据和存储过程

mysqldump -uroot -p -all-database > my.sql 

--databases,-B 导出多个数据库的数据 使用这个选项sql文件中会有CREATE DATABASE

mysqldump -uroot -p --databases A B C > my.sql

mysqldump -uroot -p A > my.sql (这个不会有CREATE DATABASE语句)

--no-data, -d 只导结构

--no-create-info,-t 只导数据

--routines,-R 额外导出存储过程和函数(只使用这个选项还会生成其他表的信息)

如果只想导出存储过程和函数那么:

mysqldump -uroot -p --routines --no-data --no-create-info A> procedure.sql

导出的存储过程包含有DEFINER的信息,如果移植到其它机器上可能会有权限问题。

--extended-insert,-e 导出数据时使用一个多值的INSERT 语句,就是只会生成一条语句(默认)

--skip-extended-insert 和上一条相反,每一行一个INSERT 语句。

--complete-insert,-c 导出的INSERT语句会有字段名字,当表增加了列的时候比较好用

--add-locks 对导出的INSERT语句增加锁表的句子(默认开启)。像这样: 

LOCK TABLE  xxxx 

INSERT INTO xxxx VALUES yyyy

UNLOCK TABLE  xxxx

--skip-add-locks 上一条相反,不加锁定句子。

--add-drop-database 在创建数据库句子前 添加DROP DATABASE句子

--add-drop-tables 在创建表句子前添加DROP TABLE句子(默认)

--quick,-q 取消缓冲,直接输出到标准输出。 在导比较大的表需要加上。可以加快导出速度。

--single-transaction 在对支持事务的引擎(InnoDB)在导出之前提交事务以锁定全表。

--lock-tables 在不支持事务的引擎(MyISAM)在导出之前如果要锁定全表用这个选项。(也支持InnoDB,只是对于支持事务的引擎建议使用--single-transaction)

--hex-blob 用16进制的形式导出二进制数据


额外选项:

--no-defaults 如果在WIN上运行mysqldump时报错 unkown option '--no-beep' 可以加上这个选项。linux上没有这个问题。(原因没有深究,应该是某个配置文件里有这个选项,需要去掉)

--triggers 触发器,个人没有使用过, 使用方法同 --routines,这里就不提及。

以上就是最经常使用的选项.

(linux上或者在WIN上不报错可以省略 --no-defaults选项)

导出一个完整的数据库结构:

mysqldump  --no-defaults -uroot -p --add-drop-database --no-data --routines -B A > my.sql

导出一个完整数据库结构和数据:

mysqldump --no-defaults -uroot -p --add-drop-database --routines --skip-extended-insert --skip-add-locks --quick --hex-blob -B A > my.sql

另外一个的就是备份整个数据库:

mysqldump --no-defaults -A > my.sql


P.S.

以上语句都没有锁表,需要看情况增加锁表选项。





このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLでインデックスを使用するよりも、フルテーブルスキャンがいつ速くなるのでしょうか? MySQLでインデックスを使用するよりも、フルテーブルスキャンがいつ速くなるのでしょうか? Apr 09, 2025 am 12:05 AM

完全なテーブルスキャンは、MySQLでインデックスを使用するよりも速い場合があります。特定のケースには以下が含まれます。1)データボリュームは小さい。 2)クエリが大量のデータを返すとき。 3)インデックス列が高度に選択的でない場合。 4)複雑なクエリの場合。クエリプランを分析し、インデックスを最適化し、オーバーインデックスを回避し、テーブルを定期的にメンテナンスすることにより、実際のアプリケーションで最良の選択をすることができます。

INNODBフルテキスト検索機能を説明します。 INNODBフルテキスト検索機能を説明します。 Apr 02, 2025 pm 06:09 PM

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

Windows 7にMySQLをインストールできますか? Windows 7にMySQLをインストールできますか? Apr 08, 2025 pm 03:21 PM

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

INNODBのクラスターインデックスと非クラスターインデックス(セカンダリインデックス)の違い。 INNODBのクラスターインデックスと非クラスターインデックス(セカンダリインデックス)の違い。 Apr 02, 2025 pm 06:25 PM

クラスター化されたインデックスと非クラスター化されたインデックスの違いは次のとおりです。1。クラスター化されたインデックスは、インデックス構造にデータを保存します。これは、プライマリキーと範囲でクエリするのに適しています。 2.非クラスター化されたインデックスストアは、インデックスキー値とデータの行へのポインターであり、非プリマリーキー列クエリに適しています。

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQLユーザーとデータベースの関係 MySQLユーザーとデータベースの関係 Apr 08, 2025 pm 07:15 PM

MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

See all articles