第28回「試してみましょう、DB on Flash Storageの効果」(2013/08/29 on しすなま!)
第28回「試してみましょう、DB on Flash Storageの効果」(2013/08/29 on しすなま!)
■■序論 徳丸さんのスライド「いまさら聞けないパスワードの取り扱い方」に見られるように、昨今、ウェブアプリケーションの設計要件として、サーバ内に侵入された場合でもユーザーのパスワードをできるだけ保護すべきという論調が見受けられるようになってきました。 上掲のスライドでは、その手法としてソルトつきハッシュ化を勧めています。しかしながらスライドに書かれているとおり、ソルトつきハッシュには、複雑なパスワードの解読は困難になるものの、単純なパスワードを設定してしまっているユーザーのパスワードについては十分な保護を提供できないという問題があります。そして、多くのユーザーは適切なパスワード運用ができない、というのが悲しい現実です。 ソルトつきハッシュを使った手法でこのような問題が残るのは、ウェブアプリケーションサーバに侵入した攻撃者がユーザーの認証情報をダウンロードして、認証情報をオフライン攻撃するこ
待望のMySQL 5.6が正式にリリースされた。正式版の最初のバージョンは5.6.10である。コミュニティ版(MySQL Community Server)は下記のページからダウンロードできるので、ぜひ今すぐダウンロードして頂きたい。 MySQL Downloads MySQL 5.6のリリースにあわせて、GUIツールであるMySQL Workbenchやドライバも新しいバージョンがリリースされており、MySQL 5.6対応となっている。それらの周辺ソフトウェアもチェックして頂けると幸いである。 新機能について正式版の機能はリリース候補版の頃から特に変更はない。(リリース候補版まで到達したということは、正式版の機能セットは固まったということであり、大きな機能の変更はないことを意味するからだ。)なので新機能については、リリース候補版が出たときに書いたエントリを参照して頂きたい。 漢(オトコ)
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース
今回は敬語で書きます。ちょっと弱気です。深い理由はありません。 間違っているところがあったらビシバシご指摘ください。 やっとInnoDBが使えるMyISAMよりInnoDBのほうが優位な点が多くなってからだいぶ経つのですが、ウチでは夜間のバックアップをOSファイルコピーでやっていたため「MyISAM縛り」がありました。 最近になってmysqldumpを利用するよう変更するなどして、やっと縛りを取り払うことができました。 本格的にInnoDBを使い始めようと思ってるところです。 しかし、ただ単純にALTER TABLEしてしまえばよいわけではありません。 MyISAMからInnoDBへの移行についてはnippondanji氏のブログでも触れられていますが、いくつか注意すべき点があります。 漢(オトコ)のコンピュータ道: MyISAMからInnoDBへ切り替えるときの注意点 1年半以上まえのエ
夏休みまだ取れてないよ~・・・夏終わっちゃうよ~・・・みなさん、こんちには nakamura です。 コンテンツ DB への更新・参照等は日々使うので割りと覚えやすいですが、パフォーマンスチューニング等行う際にテーブルや MySQL 自体のステータスを取得する SQL ってしょっちゅう使うわけではないので結構忘れがちですよね~。今日はその辺りの SQL 文を備忘録も兼ねてまとめてみようと思います。 テーブル関連 テーブルの一覧を取得。 show tables; テーブル構造を取得。 describe table_name; ; describe にはショートカットが用意されています。 desc table_name; CREATE TABLE 文を取得。 show create table table_name; テーブルの状態を取得。 ; 全てのテーブルを表示 show table st
早く沖縄オフィス作ってくれないかなー寒くて仕事にならないよ!みなさんこんにちは nakamura です。 ローンチ後もサイトの運用を受け持っているとどうしても機能追加などで DB のテーブル構成を変えなきゃいけないって事あると思います。データ量がさほど多くなければ問題にならないかもしれませんが、MySQL の ALTER TABLE はテーブル全体に対して書き込みロックをかけてしまうため、サイズの大きなテーブルの場合結構な時間サイトを止める必要が出てきてしまったり。。。いい加減なんとかならないのかよ!と思って探していたら中々いい感じのツールを見つけたので今回はそのご紹介です。 Percona Toolkit pt-online-schema-change は Percona Toolkit という MySQL を使う上での便利機能をまとめたツール群に含まれています。pt-online-sc
よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし
「O'Reilly Japan - 実践ハイパフォーマンスMySQL 第2版」の次のバージョンと言うべき「実践ハイパフォーマンスMySQL 第3版」の「Chapter 8, Optimizing Server Settings.(第8章:サーバー設定の最適化)」の原文が全文無料公開中です。 High Performance MySQL » Sample Chapter http://www.highperfmysql.com/sample-chapter/ コレが表紙 図もちゃんとあり、具体的な項目が多いのでかなり参考にできます。 目次は以下のような感じとなっています。 8. Optimizing Server Settings(サーバー設定の最適化) How MySQL’s Configuration Works(MySQLの設定の仕方) Syntax, Scope, and Dynam
実はいまものすごくハマっている(と言ってものめり込んでいるという意味ではなくてトラブル真っ只中という意味の方です...)ことがありまして、それがプログラムの処理がものすごく遅くなる現象です。気付いたら遅延どころかタイムアウトも出ちゃう有様でして、いったいどうやって対処しようかと悩んでいるところですが、そんなわたしに「DBのデータが断片化してるんじゃね?」というとてもありがたいヒントをくれた方がおりまして、じゃあためしにデータベースのすべてのテーブルのインデックスを再構築してみようということになりました。 テストや実環境で使用しているデータベースサーバーはSQLServer2005 Standard Editionです。 未確認ですが、たぶんSQLServer2008でも大丈夫のはずです。ただし2000の場合はシステムテーブルの表記(sys.databases → sysdatabasesな
データベースの運用で避けられないのが、ロック競合によって起こるシステムトラブルへの対応です。「2時までに終わるはずのバッチ処理が朝になっても終わっていない」とか「負荷が高いわけでもないのにシステムが無応答になっている」といったトラブルが発生したとき、DBエンジニアはそれがロック競合によるものなのかどうかを切り分けて、適切に対処しなければなりません。 これまでInnoDBはロック競合に対してほとんど打つ手がなかったのですが、最近ようやく対処方法がでてきました。今日はその手順を確認していきたいと思います。 前提 今回ご紹介する手順は、MySQLの以下のバージョンを対象にしています。 MySQL 5.1+InnoDB Plugin 1.0 MySQL 5.4 いきなりハードルを上げてしまって申し訳ありませんが、バージョン5.0以下や素の5.1では使えませんのでご注意ください。以降の実行例はすべて
TAB SPACE 個
テーブル:USERTABLE 誕生日カラム:user_birthday ◆年齢を求める select truncate(((curdate() + 0) – (user_birthday + 0)) / 10000, 0) as age from USERTABLE; ◆年代を求める select truncate(((curdate() + 0) – (user_birthday + 0)) / 10000, -1) as age from USERTABLE; ◆年代別合計を求める select truncate(((curdate() + 0) – (user_birthday + 0)) / 10000, -1) as age, count(*) from USERTABLE group by truncate(((curdate() + 0) – (user_birthday +
社内で、SQLインジェクションについてあらためて原理・原則から議論したいねという風潮がにわかに起こったので、ひとまずは叩き台として僕の方でまとめて皆で議論しましょうというわけで、以下のような資料を作成した。 社内勉強会用の資料なのだけど、僕は別にセキュリティに詳しいわけでもないし、ましてやPHPのことは素人なので、外部の識者にレビューしていただいて、できるだけ正しい知識に基づいて議論できればと思い、まずスライドを先行公開することにした。そうしたところ、Twitter上で多数の識者よりいろいろとご指摘いただいて、少くとも決定的におかしな内容にはなっていないものになったようだ。ありがとうございます。 僕らの職務のひとつに「セキュリティ関連」というものも謳われているので、そのあたりの知識普及・基盤整備についても、仕事のひとつとして行っている。先にも書いた通り、僕自身がその点についてよく理解できて
米国で行われているMySQL Connectというイベントで、ついにMySQL 5.6 RC(リリース候補版)が発表された。リリース候補版ということは、これが次の正式版になるということだ。MySQL 5.5は5.1から凄まじい進化を遂げたバージョンであった。だが、MySQL 5.6はさらにそれを上回る進化を遂げている!正直ここまでの進化を誰が予想しただろうか、いや誰も出来なかったであろう。これまで、α版が出たときから何度か新機能について紹介してきたが、今回改めてMySQL 5.6の新機能を振り返ってみようと思う。すべてまとめるともの凄い内容だ。興奮して夜も眠れなくなること請け合いだ。MySQLの進化が止まるのでは?などという心配は吹き飛び、もはやもうちょっと小出しにしなくて良かったのか?と心配してしまうレベルである。 それではMySQL 5.6の新機能について紹介していこう。 InnoDB
2023-03-30 ドメイン外からドメイン ユーザーのパスワードを変更する 2023-02-28 Linux LVM (Logical Volume Manager) まとめ 2022-07-29 Ubuntu 22.04 ネットワーク設定 2021-07-30 dd コマンドによるディスクバックアップ・リストアメモ 2020-03-26 PowerShell で Active Directory グループのCNを変更 2019-12-25 DFSR EventID:4614 初期レプリケーションの実行を待機しています。のままレプリケーションが始まらない事象の対処 2019-10-16 OpenSSL コマンドメモ 2018-05-25 Linux ネットワーク設定対応表(CentOS 6以前) 2018-04-12 Ubuntu で LDAP サーバー 2017-12-22 Windo
クリアネオの特徴 無添加・無着色だから肌が弱い人でも安心 ワキガや嫌な臭いの原因となる菌を殺菌・消毒 お得な定期コースは、購入縛りなし!いつでも解約可能 体臭の悩みは老若男女問わず共通の悩みですが、他人には相談しにくいので1人で悩んでいる人が多いんです。 体臭って、自分でニオイが気になった時は、他の人はもっとクサイと思っています。 もしあなたが、自分でワキガかも…と思うのであれば、周りの人はあなたのニオイに気づいているかも… クリアネオは、そんなワキガ臭や足のニオイなど、イヤーな体臭全般を10秒でカットしてくれるんです。 クリアネオの効果や口コミを調査しましたので徹底解説します。 購入時に特典が付いてくるのでお得 公式サイトはコチラ ※特典は毎月変わるので公式サイトでご確認ください クリアネオはどんな人におすすめ? クリアネオの殺菌率は、なんと99.999%!体臭の悩みを解消してくれるクリ
ちょっと遅めの夏休みをもらって八丈島に行ってきました nakamura です!いい所すぎて危うくそのまま移住するところでした。 データベースの移行をする際みなさんどんな流れで作業しているでしょうか。コマンドラインでダンプを取って、サイズが大きかったら gzip で圧縮して、WinSCP でそれをローカルに落としてきて、それをまた別のサーバにアップロードして・・・・なんて事してたりしませんか? シェルのパイプやリダイレクトをうまく使ってあげれば、この辺りはコマンド一発でいけちゃったりするのです。今日はそんなコマンド例のご紹介です。 実際によく使うコマンドの例を箇条書きで。 とりあえずダンプの結果をそのまま圧縮する。 mysqldump -udb_user db_name -pdb_pass | gzip > db_name.dump.sql.gz 特定の文字列を置換した上で圧縮する。 MT
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く