Binary Log File Position Based Replication Configuration Overview
I think most people will agree that downloading RPMs from a website is kind of old fashioned when there are yum repos. After a number of user requests, we have now launched the official yum repos for MySQL. Can’t wait? Neither can I. On a fresh install: Download a setup package for your distribution from http://dev.mysql.com/downloads/repo yum localinstall mysql-community-release-distro-release.no
GROUP BY 句を使用すると、サマリー出力に上位レベル (つまり、上位集計) のサマリー操作を表す追加の行を含めることができる WITH ROLLUP 修飾子が許可されます。 したがって、ROLLUP で単一のクエリーを使用すれば、複数レベルの分析で質問に回答できます。 たとえば、ROLLUP を使用して OLAP (オンライン分析処理) 操作をサポートできます。 sales テーブルに、売上収益性を記録するための year, country, product カラムと profit カラムがあるとします: CREATE TABLE sales ( year INT, country VARCHAR(20), product VARCHAR(32), profit INT ); 年ごとにテーブルの内容を要約するには、次のような単純な GROUP BY を使用します: mysql> SE
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 1 番目のバージョンでは、value=compare_value の場合に result が返されます。2 番目のバージョンでは、true である最初の条件の結果が返されます。一致する結果値がなかった場合は、ELSE のあとの結果が返され、ELSE 部分がない場合は、NULL が返されます。 mysql> SELECT CASE 1 WHEN 1 THEN 'one' -> WHEN 2 THEN 'two' ELSE
mysqlslap は MySQL サーバーのクライアント負荷をエミュレートし、各ステージのタイミングを報告する診断プログラムです。複数のクライアントがサーバーにアクセスしているかのように作動します。mysqlslap は MySQL 5.1.4 以降のバージョンで利用できます。 mysqlslap は以下のように起動してください。 shell> mysqlslap [options] --createや--queryといったオプションは SQL ステートメントを含む文字列やステートメントを含むファイルの特定を許容します。ファイルを特定した場合、デフォルトで各行ごとにステートメントを含んでいなければいけません。(つまり、暗示的なステートメント区切り文字は改行文字になります)。異なる区切り文字を指定するには、--delimiter オプションを使用します。これにより、複数行にわたるステートメ
mysqlslap は MySQL サーバーのクライアント負荷をエミュレートし、各段階のタイミングをレポートする診断プログラムです。 複数のクライアントがサーバーにアクセスしているかのように作動します。 mysqlslap は次のように起動します。 shell> mysqlslap [options] --create または --query などのオプションを使用すると、SQL ステートメントを含む文字列やステートメントを含むファイルを指定できます。 ファイルを指定した場合、デフォルトでは各行に 1 つのステートメントを含んでいなければなりません。 (つまり、暗黙的なステートメント区切り文字は改行文字です。) 異なる区切り文字を指定するには、--delimiter オプションを使用します。これにより、複数行にわたるステートメントを指定したり、1 行に複数のステートメントを配置したりできま
SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント
mysqld_multi は、Unix ソケットファイルや TCP/IP ポートでの接続を待機する複数の mysqld プロセスを管理するためのものです。 サーバーの起動または停止、現在のステータスのレポートを実行できます。 一部の Linux プラットフォームでは、RPM または Debian パッケージからの MySQL インストールに、MySQL サーバーの起動と停止を管理するための systemd サポートが含まれています。 これらのプラットフォームでは、mysqld_multi は不要であるためインストールされません。 systemd を使用した複数の MySQL インスタンスの処理の詳細は、セクション2.5.9「systemd を使用した MySQL Server の管理」 を参照してください。 mysqld_multi は [mysqldN] という名前のグループを my.c
レプリケーションプロセスでは、ソース上の元のテーブルとレプリカ上のレプリケートされたテーブルが異なるストレージエンジンタイプを使用するかどうかは関係ありません。 実際、default_storage_engine システム変数はレプリケートされません。 これは、異なるレプリケーションシナリオに異なるエンジンタイプを利用できるという点で、レプリケーションプロセスにいくつかの利点を提供します。 たとえば、典型的なスケールアウトシナリオ (セクション17.4.5「スケールアウトのためにレプリケーションを使用する」 を参照) では、トランザクション機能を利用するためにソースで InnoDB テーブルを使用しますが、データの読取りのみであるためトランザクションサポートが不要なレプリカでは MyISAM を使用します。 データロギング環境でレプリケーションを使用する場合は、レプリカで Archive
このセクションで、MySQL 5.1 の中でトリガを使用する方法並びにこれらの使用に対する幾つかの制限について説明します。トリガに対する制約に関する追加情報を、 項D.1. 「ストアド ルーチンとトリガの規制」 に掲載します。 トリガは名称を持つ、テーブルに付属するデータベース オブジェクトで、テーブルに対して特定イベントが発生すると有効化されます。幾つかは、トリガに対して、テーブルに挿入すべき値を対象にチェックを実施するか、更新に含まれる値に関して、計算を実行するのに使用されます。 INSERT ステートメント、DELETE ステートメントもしくは UPDATE ステートメントがテーブルに対して実行されると、トリガがテーブルに関連付けられ、定義されて有効化されます。トリガはそのステートメントの前か後にセットして有効化する事ができます。例えば、トリガを、各行をテーブルから削除する前または各
MySQL provides several functions that you can use to perform calculations on dates, for example, to calculate ages or extract parts of dates. To determine how many years old each of your pets is, use the TIMESTAMPDIFF() function. Its arguments are the unit in which you want the result expressed, and the two dates for which to take the difference. The following query shows, for each pet, the birth
MySQL 8.0 より前のビット操作では、符号なし 64 ビット整数引数と結果値 (つまり、符号なし BIGINT 値) のみが処理されます。 他の型の引数の BIGINT への変換は、必要に応じて行われます。 例: 次のステートメントは、符号なし 64 ビット整数として扱われる数値リテラルを操作します: mysql> SELECT 127 | 128, 128 << 2, BIT_COUNT(15); +-----------+----------+---------------+ | 127 | 128 | 128 << 2 | BIT_COUNT(15) | +-----------+----------+---------------+ | 255 | 512 | 4 | +-----------+----------+---------------+ 次のステートメントは、最初
データベース設計者としての役割では、スキーマ、テーブル、およびカラムを編成するもっとも効率的な方法を探します。 アプリケーションコードをチューニングする場合、I/O を最小にし、関連項目をまとめて、データボリュームが増加してもパフォーマンスを高く維持するように、事前に計画します。 効率的なデータベース設計から始めることで、チームメンバーは高性能のアプリケーションコードを簡単に書けるようになり、アプリケーションが発展して、書き換えられても、データベースを持ちこたえさせる可能性が高くなります。
MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. MySQL Workbench is available on Windows, Linux and Mac OS X. Design MySQL Workbench enables a DBA, developer, or data architect to visually design
レプリケーションスレーブサーバーは 2 つのログを作成します。デフォルトでは、これらのログは master.info および relay-log.info という名前のファイルで、データディレクトリ内に作成されます。これらのファイルの名前と場所はそれぞれ、--master-info-file および --relay-log-info-file オプションを使用して変更できます。MySQL 5.6 以降では、適切なオプションでサーバーを起動することで、これらのどちらかまたは両方のログを mysql データベース内のテーブルに書き込むこともできます: --master-info-repository を使用すると、マスター情報ログが mysql.slave_master_info テーブルに書き込まれ、--relay-log-info-repository を使用すると、リレーログ情報ログが
(MySQL 8.0.23 の)CHANGE REPLICATION SOURCE TO ステートメントまたは CHANGE MASTER TO ステートメント (MySQL 8.0.23 の前) を使用して、新しいソースに変更するようレプリカに指示できます。 レプリカは、ソース上のデータベースがレプリカ上のデータベースと互換性があるかどうかをチェックしません。単に、新しいソースバイナリログ内の指定された座標からイベントの読取りおよび実行を開始します。 フェイルオーバーの状況では、グループ内のすべてのサーバーが同じバイナリログファイルから同じイベントを実行するのが一般的であるため、イベントのソースを変更しても、変更を加えるときに注意することで、データベースの構造または完全性に影響を与えないはずです。 レプリカは、バイナリロギングを有効にして実行するようにしてください (--log-bin
注:MySQLの古いバージョン (4.1以前)の TIMESTAMP データの性質は、このセクションで紹介されている物とは様々な面で明らかに違いました。古い TIMESTAMP データをMySQL 5.1 で利用する為に変換するには、その詳細について MySQL 3.23, 4.0, 4.1 リファレンスマニュアル を必ず参照してください。 TIMESTAMP カラムは DATETIME カラムと同じフォーマットで表示されます。言い換えると、表示幅は19文字に決められていて、フォーマットは YYYY-MM-DD HH:MM:SS となります。 MySQLサーバは MAXDB SQLモードが有効な時も実行する事ができます。このモードが有効な状態でサーバが実行された時、TIMESTAMP は DATETIME と同一です。これは、もしテーブルが作成された時にこのモードが有効だと、TIMESTA
mysqlクライアントは、以下の様にインタラクティブに使用されます。 shell> mysql db_name しかし、SQLステートメントをファイルに入れ、mysqlにはそのインプットをフィあるから読み取るように指示することも可能です。そうすることで、実行したいステートメントを含むtext_fileを作成することができます。それから、以下で示されるようにmysqlを起動してください。 shell> mysql db_name < text_file ファイルの最初のステートメントとしてUSE db_nameステートメントを置いた場合、コマンドライン上でデータベース名の特定は不必要になります。 shell> mysql < text_file すでにmysqlが作動中の場合は、sourceか\. command:を使用してSQLスクリプトを実行することができます。 mysql> sourc
もしデータベース ページが破損したら、SELECT INTO OUTFILE を利用してデータベースからテーブルをダンプしたいかもしれません。通常、この方法で取得されたデータは無傷です。そうだとしても、破損によって SELECT * FROM tbl_name ステートメントや InnoDB バックグラウンド操作がクラッシュしたりアサートしたり、または InnoDB 前進復旧がクラッシュしたり、という事が起こります。 しかし、バックグラウンドの操作を防いでいる間に、テーブルをダンプする事ができるように InnoDB ストレージ エンジンの起動を強制する事ができます。例えば、サーバを再起動する前に、オプション ファイルの [mysqld] セクションに次のラインを追加する事ができます: [mysqld] innodb_force_recovery = 4 innodb_force_recov
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く