序文 この記事では主にMySQLでよく使われるツールに関する関連コンテンツを紹介し、皆さんの参考と学習のために共有します。早速、詳しい紹介を見てみましょう。 1. mysql(クライアント接続ツール) データベースに接続するために最も頻繁に使用されるクライアント ツールの構文は次のとおりです。 mysql [オプション] [データベース] ここで、options は、mysql の利用可能なオプションを指します。一度に 1 つ以上書き込むことも、まったく書き込まないこともできます。database は、接続されたデータベースを指します。一度に 1 つだけ書き込むことも、まったく書き込まないこともできます。書き込まない場合は、接続が成功した後に「use database」コマンドを使用して操作するデータベースを入力する必要があります。 1. 接続オプション オプションはさまざまな方法で表現できます。たとえば、次のようになります。 # 3つの方法はすべて可能です shell> mysql -u root シェル>mysql -uroot シェル> mysql -user=root 1. 接続オプション
通常、ローカル環境では、便宜上、設定ファイル my.cnf で現在のユーザーとパスワードを設定できます。設定後、mysql を直接実行してデータベースに接続できます。 [クライアント] ユーザー=root パスワード=000000 ポート = 3306 ソケット = /tmp/mysql.sock デフォルトの文字セット = utf8mb4 設定後、mysql を実行するだけです。 zj@bogon:~$ mysql MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは19です ... リモート サーバーにログインするには、アドレスとポートを指定する必要があります。 シェル>mysql -h 192.168.10.10 -P 3306 -uroot -p 注:正式な運用環境では、セキュリティ上の理由から、通常、root を使用してデータベースを直接操作するのではなく、アプリケーション アカウントを作成し、適切な権限を付与する必要があります。デフォルトのポート (3306) は通常使用されず、オペレーティング システムの空いているポートに変更できます。 2. クライアントの文字セットオプション --default-character-set=文字セット名 このオプションは、サーバー文字セット オプションとして、my.cnf の [mysqld] グループでも設定できます。同様に、クライアント文字セット オプションとして、my.cnf の [mysql] グループで設定することもできます。これにより、mysql ツールを使用してデータベースに接続するたびに、このクライアント文字セットが自動的に使用されるようになります。もちろん、mysql コマンドラインでクライアントの文字セットを手動で指定することもできます。 シェル> mysql -u ユーザー -default-character-set=文字セット これは、mysql クライアントが正常に接続した後に実行するのと同じです。 名前の文字セットを設定します。 3. 実行オプション -e, --execute=name // SQL 文を実行して終了する このオプションを使用すると、MySQL クライアントで SQL ステートメントを直接実行できるため、一部のバッチ スクリプトに特に便利です。 zj@bogon:~$ mysql mysql -e "ユーザーからユーザー、ホストを選択" +-----------+------------+ | ユーザー | ホスト | +-----------+------------+ | ルート | 127.0.0.1 | | mysql.sys | ローカルホスト | | ルート | ローカルホスト | +-----------+------------+ この方法では、セミコロン (;) で区切って複数の SQL ステートメントを連続して実行できます。 4. 書式設定オプション
「-E」オプションは、MySQL で SQL ステートメントを実行した後に「G」を追加するのと似ており、-e と一緒に使用されることが多いです。 2. myisampack (myisam テーブル圧縮ツール) myisampack は、myisam ストレージ エンジンのテーブルを非常に高い圧縮率で圧縮できるテーブル圧縮ツールです。これにより、圧縮されたテーブルは、圧縮前よりもはるかに小さなスペースを占めるようになります。ただし、圧縮されたテーブルは読み取り専用テーブルになり、DML 操作は実行できなくなります。 3. mysqladmin (MySQL 管理ツール) mysqladmin は管理操作を実行するためのクライアント プログラムです。サーバーの構成や現在のステータスを確認したり、データベースを作成したり削除したりすることができます。その機能は MySQL クライアントの機能と非常に似ていますが、主な違いは、いくつかの管理機能に重点を置いていることです。 使用する構文: shell> mysqladmin [オプション] コマンド [コマンドオプション]... 次のコマンドを実行できます。 create databasename 新しいデータベースを作成します debug ログにデバッグ情報を書き込むようにサーバーに指示します drop databasename データベースとそのすべてのテーブルを削除します Extended-status サーバーから拡張ステータスメッセージを表示します flush-hosts キャッシュされたすべてのホストをフラッシュします flush-logs すべてのログをフラッシュする flush-status ステータス変数をクリアする flush-tables すべてのテーブルをフラッシュする flush-threads スレッドキャッシュをフラッシュする flush-privileges 許可テーブルを再ロードします (reload と同じ) kill id,id,... mysql スレッドを強制終了します パスワード [新しいパスワード] 現在の形式で古いパスワードを新しいパスワードに変更します ping mysqldが生きているか確認する processlist サーバー内のアクティブなスレッドのリストを表示します リロード 許可テーブルを再ロードする 更新 すべてのテーブルをフラッシュし、ログファイルを閉じて開きます シャットダウン サーバーを停止する ステータス サーバーからの短いステータスメッセージを表示します start-slave スレーブを起動する stop-slave スレーブを停止する 変数 利用可能な変数を出力します バージョン サーバーからバージョン情報を取得する 例: zj@bogon:/usr/local/mysql/bin$ mysqladmin -uroot -p シャットダウン パスワードを入力してください: 4. ログ管理ツール サーバーによって生成されたバイナリ ファイルはバイナリ形式で保存されるため、これらのファイルのテキスト形式を確認する場合は、mysqlbinlog ログ管理ツールを使用します。 使用方法は次のとおりです。 shell> mysqlbinlog [オプション] ログファイル1 ログファイル2... 多くのオプションがあります:
1. 例の準備: 新しいログを作成し、新しいデータベース t1 と t2 を作成し、それぞれ新しいテーブル test1 と test2 を作成します。 MySQL [(なし)]> マスターをリセットします。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) MySQL [(なし)]> テーブル t1(id int、name varchar) を作成します。 エラー 1046 (3D000): データベースが選択されていません MySQL [(なし)]> マスターをリセットします。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) MySQL [(なし)]> データベース t1 を作成します。 クエリは正常、1 行が影響を受けました (0.04 秒) MySQL [(なし)]> データベース t2 を作成します。 クエリは正常、1 行が影響を受けました (0.02 秒) MySQL [(なし)]> t1 を使用します。 データベースが変更されました MySQL [t1]> テーブル test1(id int, name varchar(30)) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.11 秒) MySQL [t1]> test1 に値 (1,'zj') を挿入します。 クエリは正常、1 行が影響を受けました (0.14 秒) MySQL [t1]> test1 に値 (2,'zj2') を挿入します。 クエリは正常、1 行が影響を受けました (0.02 秒) MySQL [t1]> t2 を使用します。 データベースが変更されました MySQL [t2]> テーブル test2(id int,name varchar(30)) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.02 秒) MySQL [t2]> test2に挿入します。t1.test1から*を選択します。 クエリは正常、2 行が影響を受けました (0.03 秒) 記録: 2 重複: 0 警告: 0 MySQL [t2]> t1.test1 から * を選択します。 +------+------+ | ID | 名前 | +------+------+ | 1 | じゅう | | 2 | zj2 | +------+------+ セットに2行(0.02秒) MySQL [t2]> test2 から * を選択します。 +------+------+ | ID | 名前 | +------+------+ | 1 | じゅう | | 2 | zj2 | +------+------+ セット内の 2 行 (0.00 秒) 2. パラメータを追加せずにすべてのログを表示する 注意:対象ファイルにアクセスする権限が必要です。 zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 [sudo] zjのパスワード: /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 1 に設定します*/; /*!50003 @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0 に設定*/; 区切り文字 /*!*/; # 4時 #170920 20:44:49 サーバー ID 1 end_log_pos 123 CRC32 0x42fd5a4d 開始: binlog v 4、サーバー v 5.7.18-log が 170920 20:44:49 に起動時に作成されました ...... テーブル test2 を作成します (id int,name varchar(30)) //*!*/; # 1366 で #170920 20:50:29 サーバー ID 1 end_log_pos 1431 CRC32 0x18a95938 Anonymous_GTID last_committed=6 シーケンス番号=7 @@SESSION.GTID_NEXT を 'ANONYMOUS'/*!*/ に設定します。 # 1431で #170920 20:50:29 サーバー ID 1 end_log_pos 1509 CRC32 0x2fa8bd6c クエリ thread_id=4 exec_time=0 error_code=0 タイムスタンプを 1505911829/*!*/ に設定します。 始める //*!*/; # 1509で #170920 20:50:29 サーバー ID 1 end_log_pos 1622 CRC32 0x77ce6f3b クエリ thread_id=4 exec_time=0 error_code=0 タイムスタンプを 1505911829/*!*/ に設定します。 test2に挿入 t1.test1から*を選択 //*!*/; # 1622年 #170920 20:50:29 サーバー ID 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29 専念 /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* mysqlbinlog によって追加されました */ /*!*/; 区切り文字 ; # ログファイルの終了 /*!50003 COMPLETION_TYPE を @OLD_COMPLETION_TYPE に設定*/; /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 0 に設定します*/; 3. -dオプションを追加して、t2データベースの操作ログのみを表示します。 zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -d t2 /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 1 に設定します*/; /*!50003 @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0 に設定*/; ...... タイムスタンプを 1505911829/*!*/ に設定します。 test2に挿入 t1.test1から*を選択 //*!*/; # 1622年 #170920 20:50:29 サーバー ID 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29 専念 /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* mysqlbinlog によって追加されました */ /*!*/; 区切り文字 ; # ログファイルの終了 /*!50003 COMPLETION_TYPE を @OLD_COMPLETION_TYPE に設定*/; /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 0 に設定します*/; 4. -oオプションを追加して、コマンドの最初の20行を無視します。 zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 1 に設定します*/; /*!50003 @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0 に設定*/; 区切り文字 /*!*/; # 4時 #170920 20:44:49 サーバー ID 1 end_log_pos 123 CRC32 0x42fd5a4d 開始: binlog v 4、サーバー v 5.7.18-log が 170920 20:44:49 に起動時に作成されました # 警告: このバイナリログは使用中か、適切に閉じられていません。 ロールバック/*!*/; バイナリログ' wWLCWQ8BAAAAdwAAAHsAAAABAAQANS43LjE4LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAADBYsJZEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAACgoKKioAEjQA AU1a/UI= '/*!*/; # 1509で #170920 20:50:29 サーバー ID 1 end_log_pos 1622 CRC32 0x77ce6f3b クエリ thread_id=4 exec_time=0 error_code=0 `t2`/*!*/ を使用します。 タイムスタンプを 1505911829/*!*/ に設定します。 @@session.pseudo_thread_id=4/*!*/ を設定します。 @@session.foreign_key_checks=1、@@session.sql_auto_is_null=0、@@session.unique_checks=1、@@session.autocommit=1/*!*/ を設定します。 @@session.sql_mode を 1436549152/*!*/ に設定します。 @@session.auto_increment_increment=1、@@session.auto_increment_offset=1/*!*/ を設定します。 /*!\C utf8mb4 *//*!*/; @@session.character_set_client=45、@@session.collation_connection=45、@@session.collation_server=45/*!*/ を設定します。 @@session.lc_time_names=0/*!*/ を設定します。 @@session.collation_database=DEFAULT/*!*/ を設定します。 test2に挿入 t1.test1から*を選択 //*!*/; # 1622年 #170920 20:50:29 サーバー ID 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29 専念 /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* mysqlbinlog によって追加されました */ /*!*/; 区切り文字 ; # ログファイルの終了 /*!50003 COMPLETION_TYPE を @OLD_COMPLETION_TYPE に設定*/; /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 0 に設定します*/; 5. -r オプションを追加して、上記の結果をファイル resultfile に出力します。 zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -r ./logfile zj@bogon:/usr/local/mysql/bin$ sudo more ./logfile /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 1 に設定します*/; /*!50003 @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0 に設定*/; ... 6. 結果には多くのコンテンツが表示され、乱雑になっています。上記のコンテンツをシンプルに表示するには、-s オプションを追加します。 zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -s /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 1 に設定します*/; /*!50003 @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0 に設定*/; 区切り文字 /*!*/; ロールバック/*!*/; `t2`/*!*/ を使用します。 タイムスタンプを 1505911829/*!*/ に設定します。 @@session.pseudo_thread_id=999999999/*!*/ を設定します。 @@session.foreign_key_checks=1、@@session.sql_auto_is_null=0、@@session.unique_checks=1、@@session.autocommit=1/*!*/ を設定します。 @@session.sql_mode を 1436549152/*!*/ に設定します。 @@session.auto_increment_increment=1、@@session.auto_increment_offset=1/*!*/ を設定します。 /*!\C utf8mb4 *//*!*/; @@session.character_set_client=45、@@session.collation_connection=45、@@session.collation_server=45/*!*/ を設定します。 @@session.lc_time_names=0/*!*/ を設定します。 @@session.collation_database=DEFAULT/*!*/ を設定します。 test2に挿入 t1.test1から*を選択 //*!*/; 専念 /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* mysqlbinlog によって追加されました */ /*!*/; 区切り文字 ; # ログファイルの終了 /*!50003 COMPLETION_TYPE を @OLD_COMPLETION_TYPE に設定*/; /*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 0 に設定します*/; 7. 5:00:00~5:01:00の間のログを表示するには、「--start-datetime --stop-datetime」オプションを追加します。 zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-datetime="2017/09/30 05:00:00" --stop-datetime='2017/09/30 05:01:00' 開始日と終了日のいずれか一方のみ入力できます。開始日のみを記述した場合、範囲は開始日からログの終了日までであることを意味し、終了日のみを記述した場合、ログは指定された終了日まで始まることを意味します。 8. --start-position=# および --stop-position=# は日付範囲に似ていますが、範囲をより正確に表現できます。 sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-position=4 --stop-datetime=100 5. mysqlcheck (myisam テーブルメンテナンスツール) mysqlcheck ツールは、MyISAM テーブルをチェックおよび修復できるほか、テーブルを最適化および分析することもできます。実際、MySQL ツールのチェック、修復、分析、最適化の機能が統合されています。 mysqlcheck を呼び出す方法は 3 つあります。 シェル> mysqlcheck [オプション] db_name [テーブル] シェル> mysqlcheck [オプション] --database DB1 [DB2 DB3...] シェル> mysqlcheck [オプション] --all-database オプションの共通オプションは次のとおりです。
デフォルトのオプションは -c (チェックリスト) です。 例: 1. チェックリスト zj@bogon:/data/mysql$ mysqlcheck -c t2 t2.test1 正常 t2.test2 正常 2. 修理テーブル zj@bogon:/data/mysql$ mysqlcheck -r t2 t2.テスト1 注意: テーブルのストレージエンジンは修復をサポートしていません t2.test2 正常 test1 テーブルのストレージ エンジンは innodb であり、修復をサポートしていません。 3. 分析表 zj@bogon:/data/mysql$ mysqlcheck -a t2 t2.test1 正常 t2.test2 正常 4. テーブルを最適化する zj@bogon:/data/mysql$ mysqlcheck -o t2 t2.テスト1 注: テーブルは最適化をサポートしていないため、代わりに再作成 + 分析を実行します。 ステータス: OK t2.テスト2 6. mysqldump (データエクスポートツール) mysqldump クライアント ツールは、データベースをバックアップしたり、異なるデータベース間でデータを移行したりするために使用されます。バックアップ コンテンツには、テーブルを作成またはロードするための SQL ステートメントが含まれます。 mysqldump を呼び出す方法は 3 つあります。 mysqldump [OPTIONS] database [tables] //単一のデータベースまたはデータベース内のいくつかのテーブルをバックアップしますmysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] //指定された1つ以上のデータベースをバックアップしますmysqldump [OPTIONS] --all-databases [OPTIONS] //すべてのデータベースをバックアップします 1. 接続オプション
例: シェル>mysqldump -h192.18.10.10 -p3306 -uroot -p テスト > test.sql 2. 出力コンテンツオプション
デフォルトでは、両方のパラメータが自動的に追加されます。
3. 出力形式のオプション --compact オプションは出力を簡潔にし、デフォルト オプションのさまざまなコメントを除外します。 root@bogon:/usr/local/mysql/bin# ./mysqldump --compact t2 emp > emp.sql root@bogon:/usr/local/mysql/bin# emp.sql の詳細 /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; テーブル `emp` を作成します ( `id` int(11) NOT NULL デフォルト '0', `name` varchar(10) デフォルト NULL, `context` テキスト、 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; `emp` に値 (1,'a','a'),(2,'b','b') を挿入します。 -c または --complete-insert オプションを使用すると、出力ファイル内の挿入ステートメントに、デフォルトでは含まれていないフィールド名が含まれるようになります。 root@bogon:/usr/local/mysql/bin# ./mysqldump -c --compact t2 emp > emp.sql root@bogon:/usr/local/mysql/bin# emp.sql の詳細 /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; テーブル `emp` を作成します ( `id` int(11) NOT NULL デフォルト '0', `name` varchar(10) デフォルト NULL, `context` テキスト、 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; `emp` (`id`, `name`, `context`) に VALUES (1,'a','a'),(2,'b','b') を挿入します。 -T オプションは、指定されたデータ テーブル内のデータを、単純なデータ テキストとテーブル作成 SQL の 2 つのファイルにバックアップします。このオプションは、表示用に指定された形式でデータをエクスポートするために、次のオプションと組み合わせて使用されることがよくあります。
例: t2 データベースの emp テーブルを、単純なデータ テキスト ファイルとテーブル作成 SQL ファイルの 2 つのファイルにエクスポートし、現在のパスの下の bak ディレクトリに保存します。 1. バックアップディレクトリを作成する root@bogon:/usr/local/mysql/bin# mkdir を戻します 2. t2データベースのempテーブルをbakディレクトリにバックアップします。 root@bogon:/usr/local/mysql/bin# ./mysqldump t2 emp -T ./bak 3. bakディレクトリを確認し、2つのファイルを見つける root@bogon:/usr/local/mysql/bin# ls ./bak emp.sql emp.txt 4. 2 つのファイルの内容を確認します。.sql で終わるものはテーブルの作成とデータ挿入のための SQL で、.txt で終わるものはテーブルデータです。 root@bogon:/usr/local/mysql/bin# 続き ./bak/emp.sql -- MySQL ダンプ 10.13 Distrib 5.7.18、Linux (x86_64) 用 -- -- ホスト: localhost データベース: t2 -- ------------------------------------------------------ --サーバーバージョン 5.7.18-ログ /*!40101 @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT を設定します */; /*!40101 @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS を設定します */; /*!40101 @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION を設定します */; /*!40101 名前をutf8mb4に設定 */; /*!40103 @OLD_TIME_ZONE=@@TIME_ZONE を設定します */; /*!40103 TIME_ZONE='+00:00' を設定します */; /*!40101 @OLD_SQL_MODE=@@SQL_MODE、SQL_MODE='' を設定します */; /*!40111 @OLD_SQL_NOTES=@@SQL_NOTES、SQL_NOTES=0 に設定 */; -- -- テーブル `emp` のテーブル構造 -- `emp` が存在する場合はテーブルを削除します。 /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; テーブル `emp` を作成します ( `id` int(11) NOT NULL デフォルト '0', `name` varchar(10) デフォルト NULL, `context` テキスト、 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 TIME_ZONE=@OLD_TIME_ZONE を設定します */; /*!40101 SQL_MODE を @OLD_SQL_MODE に設定します */; /*!40101 CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT を設定します */; /*!40101 CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS を設定します */; /*!40101 COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION を設定します */; /*!40111 SQL_NOTES=@OLD_SQL_NOTES を設定します */; -- ダンプは 2017-09-21 12:07:38 に完了しました root@bogon:/usr/local/mysql/bin# 続き ./bak/emp.txt 1aa 2 bb 4. 文字セットオプション mysqldump によってエクスポートされたデータの文字セットは、mysqld の起動時のデフォルトの文字セットを使用します。テーブルの文字セットがデフォルトの文字セットでない場合、エクスポートされたデータに文字化けが発生する可能性があります。したがって、エクスポートする場合は、まずテーブルの文字セットを決定し、エクスポート時に文字セットを指定する必要があります。 シェル> mysqldump -uroot --compact --default-character-set=utf8 t2 emp > emp.sql 5. その他の一般的なオプション -F --flush-logs (バックアップ前にログをフラッシュする) このオプションを使用すると、バックアップ前に古いログが閉じられ、新しいログが生成されます。これにより、リカバリ時に新しいログから直接やり直しを開始できるため、リカバリプロセスが大幅に容易になります。 -l --lock-tables (すべてのテーブルに読み取りロックを追加) バックアップ中にデータが更新されないようにし、バックアップされたデータの一貫性を保つために使用できます。-F オプションと一緒に使用できます。 7. mysqlimport (データインポートツール) mysqlimport は、-T オプションを使用して mysqldump によってエクスポートされたテキスト ファイルをインポートするために使用されるクライアント側のデータ インポート ツールです。 基本的な使い方: シェル> mysqlimport [オプション] db_name textfile1 8. mysqlshow (データベース オブジェクト表示ツール) mysqlshow は、どのデータベース、データベース内のテーブル、テーブル内の列、またはインデックスが存在するかをすばやく見つけるために使用されるクライアント オブジェクト検索ツールです。これは、mysql クライアント ツールと非常に似ていますが、mysql クライアント ツールにはない機能がいくつかあります。 方向: シェル> mysqlshow [オプション] [db_name [tbl_name [col_name]]] オプションが指定されていない場合は、デフォルトですべてのデータベースが表示されます。 一般的なオプション: 1. --count (データベースとテーブルの統計情報を表示) データベースが指定されていない場合は、各データベースの名前、テーブル数、レコード数が表示されます。 データベースを指定した場合、指定したデータベースの各テーブル名、フィールド数、レコード数が表示されます。 特定のデータベース内の特定のテーブルを指定すると、そのテーブルのフィールド情報が表示されます。 2. -k または --keys (指定されたテーブル内のすべてのインデックスを表示) このオプションは、指定されたテーブルのテーブル構造と、指定されたテーブルの現在のインデックス情報の 2 つの部分を表示します。 3. -i または --status (テーブルのステータス情報を表示する) 9. perror(エラーコード表示ツール) MySQL を使用すると、さまざまなエラーが発生する可能性があります。これらのエラーの一部は、ファイルやディレクトリが存在しないなど、オペレーティング システムによって発生し、一部はストレージ エンジンの不適切な使用によって発生します。これらのエラーには通常、「error: #」または「Errcode: #」のようなコードがあり、「#」は特定のエラー番号を表します。 perror の役割は、これらのエラー コードの詳細な意味を説明することです。 perror [オプション] [エラーコード [エラーコード]] zj@bogon:/usr/local/mysql/bin$ perror 30 OS エラーコード 30: 読み取り専用ファイルシステム zj@bogon:/usr/local/mysql/bin$ perror 60 OS エラー コード 60: デバイスがストリームではありません zj@bogon:/usr/local/mysql/bin$ perror 30 60 OS エラーコード 30: 読み取り専用ファイルシステム OS エラー コード 60: デバイスがストリームではありません 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: CocosCreator MVCアーキテクチャの詳細な説明
>>: Linuxのテキスト処理コマンドsortの詳細な説明
Mysql は、高性能なデータ ストレージ サービスを提供する主流のオープン ソース リレーショナル...
目次シナリオ: サーバーデータベースを毎日定期的にバックアップする必要がある1. まずバックアップス...
この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...
目次概要遅延読み込みとは何ですか?最適化を開始するビジネスモジュールを分割する遅延読み込みルート構成...
デフォルトでは、MySQLの文字タイプは大文字と小文字を区別しません。つまり、name='A...
鉛Web ページ上の一般的な三角形の一部は、画像やフォント アイコンにする必要なく、CSS を使用し...
スタックフローからの回答:単に<br>だけで十分です。その他の形式は、XHTML との互...
目次1. インストール2.APi 3. react-beautiful-dnddemo 3.1dem...
Like は中国語で「好き」を意味しますが、MySQL データベースに適用される場合、Like は、...
1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...
目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...
1. 同時実行性同時実行性は OLTP データベースの最も重要な機能ですが、同時実行性にはリソース...
Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...
目次1. 組み込みオブジェクトの紹介1.1 数学オブジェクト1.2 数学における方法1.3 日付オブ...
MVCC MVCC (Multi-Version Concurrency Control) は、マル...