タグ

mysqlに関するkazu_levis501のブックマーク (51)

  • MySQLやSSDとかの話 その後 | GREE Engineering

    こんにちわ。せじまです。 すべての基は monitoring だと考えてるので、イマドキのウェアラブルデバイスいろいろ買っていろいろ計測してるんですが、最近のデジタルガジェット面白いなぁ21世紀感パないと感心しまくってる今日このごろです。 ちょうど一年くらい前、 MySQL User Conference Tokyo 2015 で MySQLSSDとかの話 前編を、 GREE Tech Talk #9 で MySQLSSDとかの話 後編を、お話させていただきました。 その後どうなったの?ということで、後日談をまとめさせていただきました。(今回はMySQL成分それほどありません) 忙しい人のために三行でまとめると 以前の試みはわりとうまくいきました。 SSDの大容量化がさらに進んでますし、前回の経験を活かして、HDD積んだサーバの構成変更しました。 次のステージとしては、1ラックあたり

    MySQLやSSDとかの話 その後 | GREE Engineering
  • MySQLでカラム名にcurrent_timeを使ってはいけない - interlude

    表題のままなんだけど、where句で'current_time'というカラムに対して比較演算子を用いて抽出しようとしたけど期待される結果が出なくておかしいな?と思って調べたところcurrent_timeは予約語なんですね。。来はカラム名に使わないのがベターなんですが、使用してしまった場合はSQL文書く際にバッククォートで囲うとエスケープしてくれます。 誤 SELECT * FROM test_table WHERE current_time > 0 正 SELECT * FROM test_table WHERE `current_time` > 0 予約後は以下に一覧があるのでご参考まで。intervalとか危ないですね。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 9.3 予約語

    MySQLでカラム名にcurrent_timeを使ってはいけない - interlude
  • MySQLに重大な脆弱性見つかる、パッチ存在せずデフォルトで影響

    攻撃に利用された場合、root権限で任意のコードを実行され、サーバを制御される可能性が指摘されている。 米Oracle傘下のオープンソースデータベース「MySQL」に未解決の脆弱性が見つかったとして、セキュリティ研究者が9月12日に概略やコンセプト実証コードを公開した。サイバー攻撃に利用された場合、root権限で任意のコードを実行され、サーバを制御される可能性が指摘されている。 研究者のDawid Golunski氏が公開した情報によれば、MySQLの脆弱性は複数発見され、、中でも特に深刻な1件については、リモートの攻撃者がMySQLの設定ファイルに不正な内容を仕込むSQLインジェクション攻撃に利用される恐れがある。 この脆弱性は、MySQLの最新版を含む5.7系、5.6系、5.5系の全バージョンに、デフォルトの状態で存在する。現時点でOracle MySQLサーバの脆弱性修正パッチは存在

    MySQLに重大な脆弱性見つかる、パッチ存在せずデフォルトで影響
  • https://jp.techcrunch.com/2016/08/21/20160819mysql-founder-tries-a-new-software-licensing-model/

    https://jp.techcrunch.com/2016/08/21/20160819mysql-founder-tries-a-new-software-licensing-model/
  • MySQLからAmazon Auroraへの移行は体育会系だった

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます スマートフォンがインターネットのエンドポイントとして中心的な役割を果たす時、ECサイトも否応がなく最適化が必要だ。多くの人がスマートフォンでモノを買う時代に、単にサイトをスマートフォン対応にするだけではなく、チャットを使って接客したり、ユーザーに合わせたクーポンを発行したりすることで、受け身ではなく積極的に利用者を引きつけようとするサービス「Flipdesk」を開発しているのがSocketである。 Flipdeskはサイトにコードを埋め込むだけでチャットやおすすめ、クーポンなどを提示。ユーザーの滞留時間やコンバージョンなどを上げる仕掛けをECサイトなどに提供するサービスだ。サイトへの訪問者をCookieによって識別し、行動パターンなどか

    MySQLからAmazon Auroraへの移行は体育会系だった
  • 第2回 MySQLにはじめてのデータを入れてみる | gihyo.jp

    MySQLをインストールしたはいいけれど、何のデータを入れようか思い付かない……ランダムデータだと練習する気にならなくて……公式のサンプルデータベースは英語で面白くない……あなたのMySQL、お漬物になっていませんか? 今回は、勉強用にMySQLに放り込むための(誰にでも手に入りそうで、意味がそれなりにわかりそうな)データをいくつか紹介します。飽くまでSQLの勉強用としてのデータですので、ストレステストに使うような類のデータではありませんので悪しからず。 デモンストレーション環境について この回ではMySQLのインストールについては触れません。 この回で利用している環境は、CentOS 6.6にMySQL Yum Repositoryを導入し、執筆時点で最新のmysql-community-server-5.6.26-2.el6.x86_64をyumコマンドで以下の通りインストールしてあり

    第2回 MySQLにはじめてのデータを入れてみる | gihyo.jp
  • 第1回 MySQLの利用に役立つ情報源 | gihyo.jp

    MySQLを使ったアプリ開発や運用に関しての情報は、WebサイトやMySQLに詳しい方が書いたブログ、書籍など様々なところから手に入れることができます。MySQLの新しいバージョンの機能から、APIの仕様やコマンドのオプションの意味、実運用時に役立つTipsなど幅広い情報のありかをご紹介していきます。 日MySQLユーザ会による日語での情報発信 1998年にメーリングリストでの情報交換を開始し、2000年には現在の名称である日MySQLユーザ会(略称:MyNA=MySQL Nippon Association)として、日でのMySQLの普及やユーザ間のコミュニケーションを図るための活動を行っています。技術情報の交換や質問、イベントのお知らせなどが行われているメーリングリストに登録することで入会となります。MySQLサーバのマイナーバージョンアップのお知らせが掲載されているほか、国内

    第1回 MySQLの利用に役立つ情報源 | gihyo.jp
  • 第10回(最終回) クラウド環境によるスケールアウト構成 | gihyo.jp

    クラウド環境におけるMySQL Webシステムから業務システムなど様々な領域でいろいろなクラウド環境の利用が広がっています。クラウド環境でのMySQLは、データベースサービス型クラウドとして提供される形態をはじめ、クラウドサービスの構成情報や認証の管理に利用されるケースやクラウドサービス上でのアプリケーションで利用されるケースなど、多様な導入例が見られます。多くのクラウド関連技術はWebシステムで利用されている技術から発展しており、WebシステムでデファクトスタンダードとなっているMySQLをクラウドでも活用することは自然な流れと言えます。 クラウド環境でMySQLを導入することで、クラウドサービスが持っている構成拡張の機能を利用してスケーラビリティを確保できることもあります。ただしこの場合でも動的に追加されたMySQLサーバに対するアプリケーションからのアクセス方法の定義などが課題なり得

    第10回(最終回) クラウド環境によるスケールアウト構成 | gihyo.jp
  • 第8回 MySQLのレプリケーション構成 | gihyo.jp

    第8回はMySQLの代表的なスケールアウト構成であるレプリケーション機能について解説します。 レプリケーションとは データベースでのレプリケーションは、多くの場合データを複数のサーバで保持することで、処理性能の拡張性や耐障害性の向上を狙いとしています。レプリケーションによってデータの複製が作成されることにより、1台のサーバに障害が発生した場合でもデータを失うリスクが削減できるほか、システムを継続利用できる可能性が高まります。さらに複数のサーバにデータが複製されている場合は、データ参照処理を分散できる利点があります。 MySQLサーバのレプリケーション機能は2000年5月にリリースされたMySQL 3.23.15から実装されており、MySQLサーバの中でも初期から含まれている機能の一つとなっています。 参考URL C.3.46 Changes in Release 3.23.15 (08 M

    第8回 MySQLのレプリケーション構成 | gihyo.jp
  • 第7回 MySQLのスケールアップおよびスケールアウト構成 | gihyo.jp

    データベースはディスクへのアクセスを頻繁に行うことが多いため、ストレージの性能がボトルネックになっている場合にはストレージをハードディスクからフラッシュベースのストレージに換えることも有用になります。オラクル製フラッシュストレージのSun Flash Accelerator F80 PCIe Cardを利用するためのLinuxMySQLのチューニング例は下記の資料を参照してください。 URL:http://www.oracle.com/us/technologies/linux/linux-and-mysql-optimizations-wp-2332321.pdf ただし将来的に求められるハードウェアスペックに合わせたサーバを事前に用意することは、初期投資が大きくなることを意味します。高いスペックのサーバを用意したにも関わらず、サービスが想定よりも利用されない場合には無駄な投資となって

    第7回 MySQLのスケールアップおよびスケールアウト構成 | gihyo.jp
  • 第5回 MySQLチューニング(4) SQLチューニング基礎 | gihyo.jp

    スロークエリログの出力フォーマット スロークエリログはデフォルトではログファイルに出力されます。log_outputをTABLEに設定すると、mysqlデータベースのslow_logテーブルに出力されます。カンマ区切りで「FILE,TABLE」と設定すると、slow_logテーブルとログファイルの両方に出力されます。なお、log_outputは一般ログ(General Log)とスロークエリログの両方に影響しますので注意してください。 slow_logテーブルはCSVストレージエンジンを利用しているため、CSV形式のデータファイルをコピーして各種のツールで集計も可能です。テーブルに出力している場合のmysqldumpslowに類似した集計は下記のSQL文で可能です。 図2 mysql.slow_logテーブルからmysqldumpslow同等の集計を行うSQLmysql> SELECT

    第5回 MySQLチューニング(4) SQLチューニング基礎 | gihyo.jp
  • YouTubeがMySQLをスケールアウトする「Vitess」をオープンソースで公開。Kubernetesに対応

    YouTubeがMySQLをスケールアウトする「Vitess」をオープンソースで公開。Kubernetesに対応 Google Cloud Platformのブログに投稿された記事「Scaling MySQL in the cloud with Vitess and Kubernetes」で、Vitessは次のように説明されています。 At YouTube, we went on that journey as we scaled our MySQL deployment, which today handles the metadata for billions of daily video views and 300 hours of new video uploads per minute. To do this, we developed the Vitess platform,

    YouTubeがMySQLをスケールアウトする「Vitess」をオープンソースで公開。Kubernetesに対応
  • 第4回 MySQLチューニング(3) パフォーマンススキーマ | gihyo.jp

    パフォーマンススキーマとは パフォーマンススキーマはMySQL 5.5から実装された性能統計情報に関するメタデータを格納するスキーマです。MySQL 5.5ではメタデータ取得のオーバーヘッドが大きく、番運用時に利用することは推奨していませんでしたが、MySQL 5.6ではオーバーヘッドが大幅に改善されデフォルトで有効となっています。 パフォーマンススキーマは性能統計情報を記録するストレージエンジンの一種として実装されており、performance_schemaスキーマのテーブルに格納された処理のレイテンシ(ピコ秒単位)やデータのバイト数、ソースでの位置、オブジェクトのデータなどに対してSQLでアクセス可能です。MySQLサーバのソースコード中にある“⁠instrumentation point⁠”(または“⁠instrument⁠”と表現される)にて「イベント」毎の処理時間や処理データ量

    第4回 MySQLチューニング(3) パフォーマンススキーマ | gihyo.jp
  • 第3回 MySQLチューニング(2) 設定項目と稼働状況の確認 | gihyo.jp

    稼働中のMySQLサーバのパラメータ確認-SHOW VARIABLESコマンド SHOW VARIABLESコマンドでは現在のパラメータを確認できます。SHOW VARIABLESコマンドの出力内容はLIKEやWHEREで絞り込むこともできます。パラメータ名がわかっている場合には、「⁠SELECT @@パラメータ名;」で値の確認も可能です。 図1 SHOW VAIRABLESコマンドの実行例 mysql> SHOW VARIABLES LIKE 'char%'; mysql> SHOW VARIABLES WHERE Value = 'ON'; mysql> SELECT @@character_set_server; ここでの注意すべきポイントが2点あります。 MySQLサーバ起動時の設定ではなく現在有効なパラメータが表示される デフォルトでは現在の接続で有効なパラメータが表示され、他の

    第3回 MySQLチューニング(2) 設定項目と稼働状況の確認 | gihyo.jp
  • 第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社

    UNIX系OSではvmstatやiostat、sar、top、mpstatなどのコマンドラインツール、WindowsではリソースモニタがOSに付属しているほか、オープンソースのGUIツールとしてはNagiosやCacti, Hinemosなどが利用できます。 MySQLサーバ内部での処理状況の確認は、SHOW STATUSコマンドを基として、MySQL WorkbenchのパフォーマンスレポートやMySQL Enterprise Monitorなどが利用できます。これらのコマンドやツールの詳細は別途解説いたします。 ベンチマークテスト 構築したシステムが要件を満たしていることを検証するためにベンチマークテストを行います。MySQLのサポートエンジニアで“⁠漢(オトコ)のコンピュータ道⁠”で知られる奥野氏は「テストをしないことはリスクがあるということです。つまり、ベンチマークテストをしない

    第2回 MySQLチューニング(1) MySQLチューニング,その前に:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
  • 第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp

    連載では、現在MySQLを利用していて、チューニングやより大規模な環境に向けた構成の拡張を体系的に説明することを目的としています。MySQLのこれまでの開発と最新の動向から、チューニングやスケールアップ/スケールアウトの注意点を解説します。 第1回である今回は、MySQLのアーキテクチャをこれまでの開発の歴史と併せて解説します。 黎明期 MySQLの最初期のバージョンは1994年に開発され、1995年に公開されています。公開当初は独自のライセンスを採用していましたが、2000年にGPL v2を採用し、商用ライセンスとのデュアルライセンスモデルを採用しました。また、MySQLの代表的な機能の1つでもあるレプリケーションも2000年に実装されており、Webシステムとの相性の良さや構成の柔軟さから数多くのWebシステムで以前からMySQLが採用される理由にもなっています。 2001年にGA(G

    第1回 MySQLにおける開発の歴史と最新動向 | gihyo.jp
  • MySQLユーザのためのMySQLプロトコル入門#3 | GREE Engineering

    みなさん連休はどうでしたか?私はというものずーっと家に引きこもってcloudbitでsshアクセスできるようにしたりして遊んでいました。 今日の記事ではMySQL Serverに対してコマンドを発行して結果を取得していきます。 基的にコマンドの実行の流れを最小で追ってみよう、という趣旨なので細かい分岐やエラーハンドリングなどは省いていますのであしからず。 Select Queryを投げてみよう Queryの実行はMySQLサーバーに対してCOM_QUERYコマンドを送信すると結果が帰ってきます。 大まかなシーケンスとしてはdev.mysql.comに記載の通りとなっています。図でいうと一番左の分岐です。Select Queryを実行するだけですので、ProtocolText::Resultsetが帰ってくることが期待できそうですね。 簡単な図にするとこんな感じの順番でデータがやってきます

    MySQLユーザのためのMySQLプロトコル入門#3 | GREE Engineering
  • MySQLユーザーのためのMySQLプロトコル入門#2 | GREE Engineering

    前回の記事ではInitial PacketまでParseしました。今回はAuth Response Packetを作って認証までやってみましょう Handshake Response Packet 認証の一連の流れはhttp://dev.mysql.com/doc/internals/en/connection-phase.htmlに書いてあるので図をさらっと眺めつつ行きます。 ServerからInitial Packetを受け取った後に、ClientがHandshake Response Packetを作ってServerに送信すれば認証結果が返されます。 毎度のごとくdev.mysql.comからデータの定義の説明を参照するんですが、if文が入っていて分かりづらいので認証を通すために必要な部分だけを抜粋してみました: 4 capability flags, CLIENT_PROTOCOL

    MySQLユーザーのためのMySQLプロトコル入門#2 | GREE Engineering
  • MySQLユーザーのためのMySQLプロトコル入門 | GREE Engineering

    さいきんMySQLユーザーのためのほげほげ、みたいなのが巷で流行しているようなので暇つぶしがてらに読んでいるMySQLプロトコルについて書いてみようかと思います。 いやまぁ、こういうプロトコルが読めるからといってすごく役立つということは全くないんですが、お酒の席のネタにできたり、高速、簡単、無料で試せるRDS MySQLからRedshiftへのデータ同期に出てくるようなreplicationをいじったツールとかのメンテが容易にできるかもしれなかったり、俺mysqldだぜ、みたいな事ができたり、なんかよくわからないけどちょっとハッピーになれそうですね! 今日は手始めにMySQLmysql clientがどういう通信をしているのか見ていき、実際にInitial Handshake Packetをparseしてみるところまでをやってみます。 Max OSXでのセットアップ 普段homebrew

    MySQLユーザーのためのMySQLプロトコル入門 | GREE Engineering
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』