MySQL リモート マシンはデータをインポートおよびエクスポートし、テーブルをロックするか、一部のデータまたはテーブル全体をロックしません

黄舟
リリース: 2017-03-02 16:39:38
オリジナル
2882 人が閲覧しました

最近 mysql を使用していると、単純なものでは、navigate を使用して結果を直接エクスポートすることができますが、多くの場合、マシンはリモート側にあり、オンラインであるためです。次に、ジャンプ後に mysql にリンクできない場合、navigate はこの方法でエクスポートできません。インターネット上のいくつかの記事を検索して、mysql のインポートとエクスポートについて以下のようにまとめました。データベースをエクスポートします

mysqldump -h 127.0.0.1  -u name -p  dbname >name.sql
ログイン後にコピー
データベース dbname 127.0.0.1 を name.sql ファイルにエクスポートします



2. データベースの特定のテーブルをエクスポートします

mysqldump -h 127.0.0.1  -u username -ppassword  dbname tablename >name.sql
ログイン後にコピー
IP 127.0.0.1 でデータベース dbname をエクスポートします内部の tablename テーブルが name.sql ファイルにエクスポートされます



3 番目に、データベースの特定のテーブルで特定の条件を満たすデータをエクスポートします

mysqldump -h 127.0.0.1  -u username -ppassword  dbname tablename  --where="id>10 limit 10000" >name.sql
ログイン後にコピー
上記の 1 と 2 は、すべてのテーブルに属しているか、すべてのライブラリがエクスポートされますが、データのこの部分だけが特定の条件を満たす場合、

はデータベース dbname の tablename テーブルから id > 10 のデータを 100 個取り出します。 . 、name.sql ファイルにエクスポートします


4. テーブルをロックせずにデータベース内のテーブルをエクスポートします

mysqldump -h 127.0.0.1  -u username -ppassword --single-transaction dbname  tablename>name.sql
ログイン後にコピー
たとえば、エクスポート時にテーブルをロックする権限がない場合があります。読み取り専用権限しか持っていないため、テーブルをロックする権限がない可能性が非常に高いです。この時点では、テーブルをロックせずにエクスポートするために --single-transaction を追加するだけです

上記はデータベース テーブルをロックします。 1、2、3、このコマンドを追加します。これにより、テーブルをロックせずにデータをエクスポートするという目的を達成できます


5. データをエクスポートせずに、データベース内の特定のテーブルのテーブル構造をエクスポートします

mysqldump -h 127.0.0.1  -u username -ppassword --single-transaction -d dbname  tablename>name.sql
ログイン後にコピー
データをエクスポートするのではなく、テーブル構造を完全にコピーして作成したい場合など、さまざまな方法が使用できます。データベースに直接接続し、show create table tablename コマンドを使用してテーブル作成ステートメントを取得できます。テーブル構造のみをエクスポートする場合は、-d を追加します。



6. 構造をエクスポートせずにデータベース内の特定のテーブルのデータをエクスポートします

mysqldump -h 127.0.0.1  -u username -ppassword --single-transaction -t dbname  tablename>name.sql
ログイン後にコピー
テーブル構造ではなくデータのみをエクスポートしたい場合は、-t を使用して目的を達成できますこの文を使用する本来の目的は、ビューの作成を表示する権限がないため、データをエクスポートできるかどうかを確認することだけであることがわかりました。無理だったので、もう一度考えて、後で使えるように再度マークしました



7. インポートするデータベース

use dbname;
set names gbk;
source /d1/name/name.sql;
ログイン後にコピー
データをインポートするときは、データベースに接続してソースを使用するだけです. Before エンコード形式を gbk や utf-8 などに設定すると中国語の文字化けがなくなります

8. mysql.user に認可


(ユーザー,パスワード) 値(" name",password("password"));

上記は、mysql リモート マシンからのデータのインポートとエクスポート、テーブルのロックまたはロックなし、データの一部または全体に関する内容です。詳細については、PHP 中国語 Web サイト (www. php.cn)!



*.* のすべての権限を "name"@'%' IDENTIFIED BY ' に付与しますパスワード';


権限をフラッシュ;


'test_の権限を表示グループ'@'%';

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート