MySQLデータベースの名前を高速かつ安全に変更する方法(3種類)

MySQLデータベースの名前を高速かつ安全に変更する方法(3種類)

MySQLデータベースの名前を変更する方法

Innodb エンジン テーブルのデータベース名を変更する方法と、MyISAM エンジンを操作する方法。

テーブルが MyISAM エンジンの場合は、データベース ディレクトリに直接移動し、mv を使用してフォルダーの名前を変更できます。 Innodb はまったく受け入れられず、関連するテーブルが存在しないというメッセージが表示されます。

最初の方法: データベースの名前を変更することは非推奨です

データベース名を old_db_name から new_db_name に変更します

これはバージョン 5.1.7 から 5.1.23 で利用可能ですが、公式には推奨されておらず、データが失われるリスクがあります。

2番目の方法: mysqldumpバックアップ

1. 名前を変更する必要があるデータベースを作成します。
2.mysqldumは名前を変更するデータベースをエクスポートします
3. 元の古いライブラリを削除する(本当に必要かどうかを判断する)
もちろん、この方法は安全ですが、データ量が多い場合は時間がかかります。

mysqldump -uxxxx -pxxxx -h xxxx db_name > db_name_dump.SQL #Backupmysqldump -uroot -p123456 -h127.0.0.1 test > test.sql #Backupmysql -uxxxx -pxxxx -h xxxx -e “CREATE DATABASE new_db_name”
mysql -uxxxx -pxxxx -h xxxx new_db_name < db_name_dump.SQL #復元 mysql -uxxxx -pxxxx -h xxxx -e “DROP DATABASE db_name”

3番目の方法: 名前変更テーブルを高速かつ安全に走査する

ここではスクリプトを使います。とても簡単なので、誰でも理解できると思います。

#!/bin/bash
# db_nameデータベース名がnew_db_nameに変更されたと仮定します
# MyISAM はデータベースディレクトリ内のファイルを直接変更できます。mysql_login=mysql -uroot -p123456
olddb="db_name"
newdb="新しいデータベース名"

#$mysql_login -e “データベース$newdbを作成
$mysql_login -e 'データベースが存在しない場合は作成する $newdb'
list_table=$($mysql_login -Nse "information_schema.TABLESからtable_nameを選択
    ここで、TABLE_SCHEMA='$olddb'")
$list_table 内のテーブルの場合;
する
$mysql_login -e "テーブル名を $olddb.$table から $newdb.$table に変更します"
終わり;
#$mysqlconn -e “データベース$olddbを削除”

ここでは、テーブル名を変更するために rename table コマンドを使用しています。ただし、新しいテーブル名の後にデータベース名を追加すると、古いデータベースのテーブルが新しいデータベースに移動されます。したがって、この方法は安全かつ高速です。

最後に、名前の変更の使用方法を添付します

コマンド: テーブルの元のテーブル名を新しいテーブル名に変更します。

例: テーブル名をMyClassからYouClassに変更します
mysql> テーブルの名前を MyClass から YouClass に変更します。

RENAME を実行するときは、ロックされたテーブルやアクティブなトランザクションが存在することはできません。また、元のテーブルに対する ALTER および DROP 権限、および新しいテーブルに対する CREATE および INSERT 権限も必要です。

MySQL は、複数テーブルの名前変更中にエラーが発生した場合、名前が変更されたすべてのテーブルのロールバック名前変更を実行し、すべてを元の状態に戻します。

Mysql: Navicat を使用してスケジュールされたバックアップを実装する

1. 機能説明

データベース内のデータは毎日バックアップする必要があり、問題が発生した場合にはバックアップを適時に復元できます。

2. 実装手順

Navicatを開いてプランをクリックし、新しいバッチジョブをクリックします。

C:\Users\ADMINI~1\AppData\Local\Temp\1581090423440.png

バックアップするデータベースを選択

1581090544692.png

選択して保存をクリック

1581091294049.png

上部のツールバーをクリックしてスケジュールされたタスクを設定します

1581091153168.png

「計画」をクリックし、「作成」をクリックして、実行時間を設定します。

1581091115424.png

1581091396707.png

設定は成功し、データはデフォルトで C:\Users\Administrator\Documents\Navicat\MySQL\servers にバックアップされます。

Navicat でバックアップをクリックしても表示できます。バックアップを復元するには、バックアップ ファイルをクリックして選択します。

バックアップが C:\Users\Administrator\Documents\Navicat\MySQL\servers にあることを確認します。

Navicat でバックアップをクリックしても表示できます。バックアップを復元するには、バックアップ ファイルをクリックして選択します。

1581091790901.png

これで、MySQL データベースの名前を変更する 3 つの迅速で安全な方法についての記事は終了です。MySQL データベースの名前変更の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 年末ですが、MySQL パスワードは安全ですか?
  • MySQLを安全にシャットダウンする方法
  • MySQLプロセスを安全かつ適切にシャットダウンする方法
  • MySQLデータのセキュリティを確保するための提案
  • MySQLインスタンスを安全にシャットダウンする方法
  • MySQL セキュリティ管理の詳細

<<:  Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析

>>:  クリーンなXHTML構文

推薦する

IE をフリーズさせる HTML コード

任意のテキスト エディターを開き、次のコードをコピーして、たとえば SomeFilename.htm...

CSS で background-color を使用して背景画像にマスク効果を追加する 2 つの方法

div で background-color と background-image を同時に設定する...

MySQL ストアド関数の詳細な紹介

目次1. ストアド関数を作成する2. ストアド関数の呼び出し3. 保存された関数を削除する4. スト...

VirtualBox を使用して Linux クラスターをシミュレートする方法

1. ホストMacbookにHOSTをセットアップする前回のドキュメントでは仮想マシンの静的 IP ...

Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼...

暗号化における https の Apache 展開の概要

目次目的実験環境実験原理実験手順1. 独立したCAを生成する2. サーバーの秘密鍵と署名要求ファイル...

Vue の計算プロパティの詳細な説明

目次補間式方法計算された要約する今日は、Vue の計算プロパティについてお話ししましょう。計算プロパ...

MySQL 8.0.22 のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.22のインストールと設定について記録します。具体的な内容は以下のとお...

Nginx を使用してグレースケール リリースを実装する

グレースケールリリースとは、白と黒をスムーズに移行できるリリース方法を指します。 ABテストとは、グ...

IE6 の歪み問題

質問: <form...> の下の <input type="hidde...

Ubuntuの基本設定: openssh-serverのインストールと使用

Ubuntu 17.10 での openssh-server のインストールと使用を記録します。イン...

Zabbix 監視ソリューション - 最新の公式バージョン 4.4 [推奨]

ザビックス2019/10/12 チェンシン参照するhttps://www.zabbix.com/do...

MySQLのカバーインデックスに関する知識ポイントのまとめ

インデックスにクエリする必要があるすべてのフィールドの値が含まれている(またはカバーしている)場合、...

Linux サーバーに SSH パスワードなしでログインする方法

テスト サーバーにログインするたびに、必ず ssh ログインのパスワードを入力する必要があります。ロ...

MySQLトリガーの概念、原理、使用法の詳細な説明

この記事では、例を使用して、MySQL トリガーの概念、原則、および使用方法を説明します。ご参考まで...