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

推薦する

Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法

1. ポート 80 が占有されているかどうかを確認します。通常、ポート 80 は Apache サー...

vue-tableは追加と削除を実装します

この記事では、vue-table の追加と削除の具体的なコードを参考までに紹介します。具体的な内容は...

Reactはいくつかの方法でパラメータを渡します

目次親コンポーネントと子コンポーネント間でパラメータを渡すルーティングパラメータステータスの改善コン...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

MySql インデックスを表示および最適化する方法

MySQL はハッシュ インデックスと Btree インデックスをサポートしています。 InnoDB...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

フィールドの文字セットの違いによる MySQL のインデックス失敗の解決策

インデックスとは何ですか?なぜインデックスを作成するのですか?インデックスは、列に特定の値を持つ行を...

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...

MySQLの共同クエリ最適化メカニズムの詳細な説明

目次MySQL フェデレーテッド クエリ実行戦略。実行計画フェデレーテッドクエリオプティマイザーMy...

vue3+TypeScript+vue-routerの使い方

目次使いやすいプロジェクトを作成するvue-cli 作成ヴィートクリエイションvue-routerを...

PHP クラスにおける static と self の違いの簡単な分析

メソッドが定義されているクラスに応じて、現在のクラスへの静的参照を取得するには、self:: または...

CSS シャドウアニメーションの最適化のヒント

このテクニックは、この記事から来ています - シルキーでスムーズなパフォーマンスでボックスシャドウを...

外部ネットワークアクセスを許可するためのMysql5.6の設定手順の詳細を共有する

最近、MySQL 5.6 を導入しましたが、デフォルトでは MySQL はローカル サービスのみを許...

MySql キャッシュ クエリの原理とキャッシュ監視およびインデックス監視の概要

クエリキャッシュ1. クエリキャッシュの動作原理クエリ ステートメントを実行する前に、MySQL は...

Reactでファイルパスエイリアスを素早く設定する方法

React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。F...