タグ

triggerに関するmuddydixonのブックマーク (4)

  • gh-ost:GitHubのMySQL向けオンライン・スキーマ・マイグレーションツール | POSTD

    日、 gh-ost のオープンソース・リリースを発表します。GitHubの、トリガーレスなMySQL向けオンライン・スキーマ・マイグレーション・ツールです。 gh-ost は、MySQLテーブルの修正が必要な、進行中の継続的なプロダクション変更に伴って私たちが直面する問題に答えるために、ここ数ヶ月で開発されました。 gh-ost は、負担が小さく、制御しやすく、監査しやすく、操作が簡単なソリューションを提供することによって、現在のオンライン・テーブル・マイグレーションのパラダイムを様変わりさせます。 MySQLテーブルのマイグレーションは、よく知られた問題で、2009年からはオンライン・スキーマ変更ツールによって対処されてきました。ハイペースで成長するプロダクトに伴って、データベース構造の変更が必要になります。列やインデックスなどの追加・変更・削除は、デフォルトのMySQLの動作を妨げる

    gh-ost:GitHubのMySQL向けオンライン・スキーマ・マイグレーションツール | POSTD
  • MySQL のトリガで mruby を実行する | harasou.github.io

    先日会社で「mysql のテーブルと、プロセス上の共有メモリを連携させたい」って話が出たとき、トリガで外部プログラムが実行できればいけるのでは?と思ったので、調べてみた。 MySQL で外部コマンドを実行するにはmysql で外部コマンドを実行するには system が使える。 mysql> system uname -a Linux cent6 2.6.32-504.16.2.el6.x86_64 #1 SMP Wed Apr 22 06:48:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux ただ、これはターミナル上からとかでないと使えない。 調べてみると、mysql には UDF(User Defined Function) という仕組みがあって、自作関数を作成することができるらしい。これは、C や C++ で書いて共有ライブラリ(.so)を作成

  • MySQL のトリガからシェルスクリプトを実行する - akishin999の日記

    久々の更新。 MySQL の特定のテーブルのデータ変更を検知して実行したい処理があったので、トリガを使ってなんとか出来ないか調べてみました。 system 関数を使う 最初 system 関数(\!) を使ってできそうな以下の記事を見つけました。 MySQL :: Re: Can triggers call SYSTEM? http://forums.mysql.com/read.php?99,170973,236208#msg-236208 が、mysql client 上からは上手く動くものの、アプリからの DB 変更に反応してくれず・・・。 ちょっと調べてみると以下のような記事がありました。 Using the following DOES NOT work! \! /bin/ls >> /log/yourlog.txt The !\ (bang or exclamation poi

    MySQL のトリガからシェルスクリプトを実行する - akishin999の日記
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 25.3 トリガーの使用

    トリガーとは、テーブルに関連付けられ、そのテーブルに対して特定のイベントが発生するとアクティブ化される名前付きデータベースオブジェクトのことです。 トリガーを使用する場合には、テーブルに挿入する値のチェックを実行したり、更新にかかわる値の計算を実行したりする場合があります。 トリガーは、関連付けられたテーブルでステートメントが行の挿入、更新、または削除を行なったときにアクティブ化するように定義されます。 これらの行操作がトリガーイベントになります。 たとえば、行は、INSERT または LOAD DATA ステートメントで挿入でき、挿入トリガーは挿入された行ごとにアクティブ化します。 トリガーは、トリガーイベントの前または後のどちらかでアクティブ化するように設定できます。 たとえば、テーブルに挿入される各行の前、または更新される各行のあとでトリガーをアクティブ化させることができます。 My

  • 1