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構文

推薦する

HTTPS の有効化に関する経験の共有

国内のネットワーク環境が悪化し続ける中、さまざまな改ざんや乗っ取りが後を絶たず、サイト全体をHTTP...

nginxで静的リソースを公開する方法

ステップ準備した静的リソースファイルを指定されたフォルダに配置しますnginx 設定ファイルを変更す...

VUE+Canvasはデスクトップピンボールブロック破壊ゲームのサンプルコードを実装します

誰もがピンボールやレンガ崩しのゲームをプレイしたことがあるでしょう。左と右のキーを使用して、下にある...

初心者向けウェブサイト構築チュートリアル: 10 日間でウェブサイトの構築方法を学ぶ

10 日間のチュートリアルでは、最も理解しやすい言語を使用し、最も基本的なことから始めて、誰もが W...

実用的な MySQL + PostgreSQL バッチ挿入更新 insertOrUpdate

目次1. 百度百科事典1. MySQL 2. PostgreSQL 3. MySQL に対する Po...

MySQLが正常にインストールされたかどうかを確認する方法

MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...

CentOS8 で MySQL 8.0 をインストールしてデプロイする方法

MySQL 8 の公式バージョン 8.0.11 がリリースされました。公式発表によると、MySQL ...

Linux DMAインターフェースの知識ポイントの詳細な説明

1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...

mysql5.7 のエンコーディングを utf8mb4 に設定する方法

最近、問題に遭遇しました。モバイル端末の絵文字や一部の絵文字は 4 バイトですが、UTF-8 は 3...

17の広告効果測定の解釈

1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...

dockerでビルドしたnacos1.3.0の実装

1. nacosデータベースを再開します。データベース名nacos_configユーザー名とパスワー...

XHTML と CSS によるオブジェクト指向プログラミング

<br />XHTML と CSS がオブジェクト指向だったらよかったのに。 。太陽は北...

Nginx プロセス管理とリロードの原則の詳細な説明

プロセス構造図Nginx はマルチプロセス構造です。マルチプロセス構造は、次のような Nginx の...

この記事ではCSSの組み合わせセレクターの使い方を説明します

CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...

Dockerはコンテナポートバインディングのローカルポートを実装します

今日、イメージを起動した後、HTTP リクエスト経由でアクセスできないという小さな問題が発生しました...