タグ

MySQLに関するcrazyupのブックマーク (14)

  • MySQL: 意外と知らない?障害発生時の復旧方法について | QK

    障害発生!!!どうする!?でも・・MySQLだと、レプリケーション(スレーブ→マスターの昇格))でほぼなんとかなっちゃうのであまり使われることはないとは思いますが、実はロードフォワード(roll forward)回復もできちゃうんすよwwというほぼ僕のメモです。 表題で「意外と知らない?」なんて書いちゃいましたけど、知らないのはきっと私だけ・・。でも、そんなMySQLのロールフォワード手順をまとめてみました。 ロールフォワードとは、ログファイルに残っているチェックポイント後の処理を再現し、障害直前の状態にまで戻すことができる機能のひとつです。商用DBでは、まず入っているでしょうといった機能です。ORACLEでもSQL SERVERでもIBM DB2でもちゃんと実装しております、IBM DB2のロールフォーワード手順については以前、某F氏が手順をまとめてくれました(http://www.s-

  • MySQL とメモリに関するまとめ - LukeSilvia’s diary

    前回のエントリーデータベースを用いたセッションデータ管理についてで、MySQL とメモリの関係について良く分からない部分があると書きました。 実はここに関する理解はかなり曖昧な部分があって、調査して追記します。とくにメモリ利用量について。mysqld のプロセスが利用できるメモリの上限が、32bit OS の場合は3G 程度ということは、innodb_buffer_pool_size もこの制限を受け、これについての警告が、先に紹介したリファレンスマニュアルのものという理解だけどいいのだろうかというのが1つ。 2 つ目は、この理解があっているとすると、4G 以上のクラスのメモリをつんだサーバをDB サーバとして利用する場合、64 bit OS でないとリソースの有効活用ができないか。それとも、先に書いたとおり、OS レベルのキャッシュとして利用できるから、結果としてデータファイルを読み込む

    MySQL とメモリに関するまとめ - LukeSilvia’s diary
  • MySQL Binlog APIを試してみる - As a Futurist...

    MySQL のレプリケーションは素晴らしい仕組みなのですが、ちょっと凝ったことをしようとするには機能が限られています。特に、MySQL の更新を他のデータストアにマイグレーションしたいような時は、Trigger を使って超頑張るのはイマイチで、バイナリログを使ったレプリケーションの仕組みをそのまま拡張してマイグレーションするようなワーカーを書きたくなるものです。 そんな時に使える便利な API として、Binlog API というものがあります。まだ開発途上ではありますが、期待の持てる API です。 assets.en.oreilly.com/1/event/61/Binary log API_ A Library for Change Data Capture using MySQL Presentation.pdf 試しにどんなもんなのか使ってみました。 追記 2012/07/09

    MySQL Binlog APIを試してみる - As a Futurist...
  • nodeJSでつかえるMySQL ORMのSequelizeを触ってみる

    SequelizeはnodeJSで使えるORM npm install sequelizeでサラッとインストールできます.MySQL体さえ入っていれば,すぐに使えます. 初期化 Sequelize自体は,requireして,必要な情報を与えてnewすれば簡単に初期化できます. var Sequelize = require('sequelize').Sequelize; var Seq = new Sequelize('データベース名', 'ユーザー', 'パスワード'); /* hostとかportを指定するときはこう var Seq = new Sequelize('データベース名', 'ユーザー', 'パスワード', { 'localhost', 3306 }); */ モデルをつくる 最低限のモデルの定義.ここではUserモデルに対して,文字列型のユーザー名を定義しました. va

    nodeJSでつかえるMySQL ORMのSequelizeを触ってみる
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.7.7.29 SHOW PROCESSLIST ステートメント

    SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント

  • Apache mod_dbd設定編

    以前にmod_dbdについてどういうものかを紹介したが、今回はMySQLを用いたmod_dbdの設定方法について説明する。 MySQL用のmod_dbdドライバを利用するにはApache httpd Serverをソースからビルドしなければならない。以前のバージョンのApache httpd ServerのソースコードにはMySQL用のmod_dbdドライバ(apr_dbd_mysql.c)が同梱されていなかったため、別途追加が必要であった。(ダウンロード元はここ。)その原因はライセンスの関係であり、Apache LicenseとGPL(MySQL)が非互換であったためである。確認した限りでは、Apache httpd Server 2.2.6にはapr_dbd_mysql.cは同梱されていない。2.2.8には同梱されていることを確認したので、この間に何らかの対処がなされたものと考えられる

    Apache mod_dbd設定編
  • メモ : MySQL root パスワードをリセットするには

    管理者専用のMySQLアカウントで phpMyAdmin を長らく操作していて、root パスワードが必要になった時、忘れてしまうという事もあるかと思います。件とは関係ありませんが、先日、root パスワードをリセットする羽目になったので、その時のメモです。 注意! phpMyAdmin を導入している場合は、一時的に Web サーバを停止して下さい。また、MySQL のポートは Firewall で閉じるなどの対策は先に講じる必要があります。 作業中に外部から不正アクセスされる可能性があります。 MySQL root パスワードを忘れた場合 ひさしく root権限を使用せず忘れてしまった場合は、権限不要モードで MySQL を起動し、以下の手順で mysql の rootパスワードをリセットする必要があります。 mysql デーモンを停止します。

  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

  • Perlクイックリファレンス - 1部 Perl入門 - [SMART]

    変数は以下のように値を代入したり出力することができます。 # 変数に文字列を代入 $value = "テストです"; # 変数を出力 print $value; 【参照ページ】 変数 配列 複数の値を1つの変数で管理したい場合は、『配列』という変数が最適です。 配列を初期化する場合は、要素をカッコで囲み、各要素毎にカンマで区切ります。 @week = ('日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜'); 配列はインデックスを使って参照します。インデックスは 0から始まるので注意してください。たとえば1番目のデータ "日曜" を呼び出すときは、$week[0]、"月曜"なら $week[1] とします。 # 配列 @week の1番目の要素を表示 print $week[0], "\n"; > 日曜 # 配列 @week の2番目の要素を表示 print $

    Perlクイックリファレンス - 1部 Perl入門 - [SMART]
  • 外部サーバのMySQLに接続を試すの巻

    さて、とある友人からの質問に答える為、自分でも検証をしてみた。 簡単なのに意外とネックだったのでサクっと香ばしいこの・・・ って何の話だっけ?w サーバ1(MySQLクライアント) ⇒ サーバ2(MySQLサーバ) をしたいということ。 まぁ必要なものとして、 サーバ1:MySQLクライアント サーバ2:MySQLサーバ、外部からアクセスできるユーザ て感じ。 mysqlコマンドは「-h」を用いて外部のサーバに接続できることは皆さんもご存知だろう。 mysql -u ユーザ名 -h hostname -p※hostnameサーバのMySQLに「ユーザ名」でアクセスし、パスワード認証(-p)を行う。 まずは、まったく設定変更していないMySQLサーバに外部サーバからmysqlコマンド で接続を試見るとどうなるかみてみましょう。 # mysql -u user -h hostname.com

    外部サーバのMySQLに接続を試すの巻
  • まえがき - イントロダクション - [SMART]

    四角の枠に囲ってある段落で、> というマークは出力行、もしくはコマンドラインを意味します。 例 print "Hello\n"; > Hello 謝辞 インターネットのおかげで無料で勉強でき、プログラムの仕事をするようになりました。とても感謝です。そのお返しという程でもありませんが、勉強の成果を公開することにしました。 この講座に掲載した情報のすべては、インターネットからかき集めたものが大半です。その情報が正しいものかどうかは確かめたのですが、それはちょっと怪しいものですので、間違いや誤解などが含まれている可能性があります。 ということで、ちょっとおかしいなと思ったらご報告お願いします。 次にこの講座にきたときは、ただしい文章が掲載されていると思います、たぶん。

    まえがき - イントロダクション - [SMART]
  • MySQL レプリケーションの設定 - とみぞーノート

    1.2 レプリケーションの動作レプリケーションでは最初にDBの内容を同期させた後、Masterサーバーで実行された更新系のクエリ(UPDATEとか)をSlaveに渡してSlaveでも同じクエリを実行していくことで、DBを同期させている(図1)。 Master側で実行された更新系クエリはバイナリログに蓄えられており、Slave側が接続してきたら、前回の接続からの変更分をSlave側に送信する。Slave側は受け取ったクエリを一旦リレーログに蓄えて順次クエリを実行してDBを同期させていく。リプリケーション動作にはBinlogDump,I/O,SQLの3つのスレッドが連携して動作する。 2.設定手順 (Master-Slave構成) 2.1 Master側の設定の確認Master側ではバイナリログを採取しておく必要があるので、Master側のmy.cnfにlog-binの設定が入っていることを確

  • MySQLでのレプリケーションの設定 - KAWANO's PukiWiki

    レプリケーションとは 通常、データベースを別のサーバに複製することを、「レプリケーション」という。 レプリケーションのメリットは、次のとおり。 データベースのバックアップ データベースの冗長化 サーバの負荷分散 MySQLは標準でレプリケーション機能を備えているが、 その方式は「マスタ-スレーブ方式」で、 データベースの更新を受け付ける「マスタ」と、 マスタから伝搬されたデータを受け付ける「スレーブ」からなる、 一方通行の複製になる。 細かいことは、参照先のページを見ること。 ▲ ▼ 今回の目的 まったく同一構成の2台のマシンがあるので、 1台をマスタ、もう1台をスレーブにして、 データベースのバックアップと冗長化をはかる。 ▲ ▼ レプリケーション用のユーザの作成 スレーブがマスタに接続するための専用ユーザを、マスタで作成する。 与える権限は「REPLICATION」「SLAVE」

  • MacPortでMySQL5+PHP5+Apache2 - suzukyuの勉強日記

    PHP5+SQLite3で足りると思っていたのですが、その用件ではデータベースアクセスにPEAR::DBが使われていて、 [SQLite][PHP] PHPのPEAR::DBSQLite3に未対応 - SumiTomohikoの日記 をみるにSQLite3ではダメみたいです。 ついでなので、MySQL5を入れて環境を構築し直しました。 Mimori's Algorithms Space: macports で php5 + mysql の手順をみてやってみました。参考URLと同じくPEAR等も入れてみた。 従来入れておいたPHP5がバッティングするので、一旦抜く。 $ sudo port uninstall php5 ---> Deactivating php5 5.2.5_3+apache2+macosx ---> Uninstalling php5 5.2.5_3+apache2+m

    MacPortでMySQL5+PHP5+Apache2 - suzukyuの勉強日記
  • 1