CentOS7に開発用のLAMP環境を作りました。CentOS6との比較する感じで書いています。結果としてPHP5.6 Apache2.4 MySQL5.6の環境になりました。作業環境はMacのVagrantになります。 CentOSのバージョンを確認します。
こんにちは。エンジニアの中山です。 最近、ふるさと納税を初体験しました。 手間がかかりそうという先入観を持っていたのですが、実際にはネットで申し込めて、決済はクレジットカードで、美味しい特産品がすぐに届きました。 こんなに簡単なら、もっと早くから知っていればよかったのにと、知識の大切さを再認識しました。 マネトク!にはそんなお得な情報がたくさんあります。 さて、本題。 サービスが成長してデータベースが大規模化・高使用頻度化してくると、やはり遅いクエリが気になってきます。 対策として、インデックスの工夫、クエリのチューニング、キャッシュ設定、高速なハードウェアへの置き換え等の施策を行うことで、改善をすることができます。 しかし、さらに成長が進むと、それらの手段だけでは足りず、次の手が欲しくなってきます。 高速化する手段の1つとして、パーティショニングが手軽で効果的なので試してみました。 パー
MySQL 5.6での機能強化点(その1) - パフォーマンスと使い勝手を大きく向上 | Think ITに書いてあるようにMySQL 5.6からオンラインでDDLを実行してもレコードのINSERT, UPDATEはできるようになったとあるので、これが本当なのか検証してみた。MySQLにおいてレコード数の多いテーブルに対するALTER TABLE文の発行は以前から問題視されていて、pt-online-schema-changeみたいなものを駆使するのが常套手段だった。 検証環境 ConoHa VPS 2GB Ubuntu 14.04 MySQL 5.6.17-0ubuntu0.14.04.1-log my.cnf データはWikipediaのダンプデータのenwiki-20140502-redirect.sql.gz というテーブルを使用。テーブル定義はこんな感じ。 CREATE TABL
MySQLを使っていて、スキーマを変更したい場合はAlterTableを流す必要があります。 すでに稼動しているサービスのスキーマを変更する際に、可能な限り稼働中システムに影響を与えずにスキーマの変更を行いたいです。 理想はオンライン状態を保った状態でAlterTableが全て完了することで、これが実現できれば少なくともスキーマ変更に伴うメンテナンスのためのダウンタイムが発生しません。 これを実現するためには幾つか方法が存在し、制約もあるみたいなので調べてまとめてみました。 その前にAlterTableのこれまでの挙動を調べる オンラインでのスキーマ変更を調べる前に、まずはAlterTableのこれまでの挙動(MySQL5.1まで)について簡単にまとめてみます。これによってオンラインスキーマ変更のために何が問題になっているか?が理解できると思います。 MySQL5.1までのAlterTab
Pythonで主だったデータベースを操作する方法を記述する。 Pythonは2.xと3.x両方でWindows環境で実行している。 また、テストデータは下記のページのT01Prefecture.zipを解凍してテーブルとデータを使うものとする。 PHPプログラミング初心者入門講座 http://php5.seesaa.net/article/61269550.html MySQL 環境 Python2.7 または3.3 MySQL 5.6.15 データベースの設定 テーブル CREATE TABLE `t01prefecture` ( `PREF_CD` int(3) NOT NULL DEFAULT '0', `PREF_NAME` varchar(10) DEFAULT NULL, PRIMARY KEY (`PREF_CD`) ) ENGINE=InnoDB D DELIMITER
ちょっと前になりますが、画面にあるリンクのURL(aタグのhrefの値)を全部なめて、期待するURLになっているかどうかをテストしなくてはならないお仕事がありまして、これは人間のやる仕事ではない!これは機械にやらせる仕事だ!とついカッとなってSelenium関連を調べていたら以下の素晴らしいOSSに巡り逢いました。 ※ え、いまさら?とか言わないで facebook/php-webdriver: A php client for webdriver. これは Facebook様が作っておられる Selenium WebDriverをPHPでラップしているのでPHPからWebブラウザを制御できる と、PHPerには嬉しいものとなっております。 私はこれで気の狂いそうなテストを機械に行なってもらうことに成功しました。 ※ テストを書くのはもちろん大変なんだけど 案件において、上記のテストは仮想
今更だけど MySQL 5.6 ではオンラインDDLの機能が追加されている。今日はこのオンラインDDLについて勉強したことを書いてみる。 MySQL のマニュアル MySQL :: MySQL 5.6 Reference Manual :: 14.11 InnoDB and Online DDL にいろいろ書いてある。いまから書くことはこのマニュアルから得た知識が元になっている。 DDL てなによ? データではなく、テーブル自身を操作するためのSQL文のこと。CREATE, ALTER, DROP, TRUNCATEなど。オンラインDDLではCREATE INDEX, DROP INDEX, ALTER TABLEに適用される。 http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ddl 5.1 までの ALTER TABLE
自分の浅はかな理解だと、Deadlock が起こる理由が説明できないケースに遭遇したので、InnoDB の行レベルロックについて調べてまとめてみました。 「行レベルロックだと、同じ行を更新する場合にしか Deadlock が起こらないんでしょ」と思っているような人が対象です。 また、主に InnoDBのロックの範囲とネクストキーロックの話 - かみぽわーる を参考にさせていただいたので、そちらの内容がすんなり理解できる方には冗長な内容だと思います。 MySQL のバージョンは 5.6.33 です。 サンプルデータ 次の SQL で作成したデータを扱うことにします。 CREATE TABLE `orders` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `product_id` int(10) unsigned NOT NULL, `us
はじめに CentOS6系の標準リポジトリのPHPバージョンは5.3、 CentOS7系の標準リポジトリのPHPバージョンは5.4です。 それ以外のバージョンを使用したい場合は、リポジトリを追加してのインストール作業が必要になります。 今回、PHP5.6, PHP7.0, PHP7.1のインストール手順について記載します。 (※2017-07-23時点の情報です) Yumリポジトリ追加 EPELとRemiリポジトリを追加します。 EPELリポジトリ [CentOS6系] yum install epel-release または rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm [CentOS7系] yum install epel-release または rpm -Uvh http
要件 複数ドメインのメールが受信できる。 メールアドレス毎にUNIX Userは作成しない。 SMTP,POP3,IMAPで外部ネットワークのMUAから送受信可能。 メールの容量制限をユーザ毎に設定可能にする。 MUAでの送信、受信は認証必須。認証はメールアドレス+パスワード STARTTLSで送受信は暗号化する MUAでの送信と受信のパスワードは同じパスワードを使用できる。 概要 MTAはsendmailからpostfixに変更 メール配送はMaildir方式にする。 postfixにバーチャルドメインを設定して、各ドメインからの受信を可能にする。 ドメインとメールアドレスの管理用UIにpostfix Adminを採用 メールアドレス、パスワードの管理はMySQL POP3,IMAPでの受信はdovecotを使用する。 OB25対策をして、通常のプロバイダ接続でも送信可能にする。 構築準
MySQL Performance Blogの翻訳。MySQL 5.6とAmazon RDSの設定パラメータの違いと、その理由について解説する。 過去数年にわたってずっと耳にし続けていて、現在でもよく聞く不満と言えば、Amazon RDSが、MySQLをEC2インスタンスで動かした時と比べて設定の柔軟性がないことだ。と同時に、MySQLインスタンスをチューニングするために非常に重要なパラメータへアクセスできるようにしているという、一貫してAmazonのやってきたことを無視してもいる(所詮、bind_addressをRDSインスタンスで設定することが顧客にとってどの程度関連があるかによる)。 視覚的に見てみよう。 MySQLは、523のオプションを提供している(うち35がNDB関連なのでRDSとは関係ない)。一方で、RDSは(Web UIからは)283のオプションを提供しており、うち58が変
目黒川の桜きれいですね〜(*^^*)…なーんてガラじゃないことを言いたくなるくらい良い咲きっぷりでしたよ、エエ。で、来週末、花見に行くんだけど、まだ散らないでほしいっすねー。 えーっと、久しぶりにMySQLの記事。binlogを使ったリストア手法について。ネットを漁るとMySQLの運用に関する記事は多くヒットするんだけど、障害からのデータリカバリ、特にロールフォワードを扱った記事が思ったより多くない。おれは運が良いのか悪いのかMySQLのデータリカバリをしなければならないような局面に何度か直面しているので、手順について書いてみようかな、と。ここではMySQL〜5.5を対象にしている。直近での最新のメジャーバージョンはMySQL5.6なんだけど、おれはまだ5.6について大して知らない。5.6ならもっとイケてるやりかたがあるかもしれない。あったらいいな。 0. 環境 次のような環境を前提として
あるWeb制作の案件で、サイトにログイン機能を実装することになりました。 動いているサーバはCentOS6、ほぼソフトウェアはデフォルトということなので、PHPのバージョンは5.3ということになります。 パスワードハッシュとして推奨されているアルゴリズムである、Blowfishを簡単に実装するため、PHP5.5以上をインストールすることになりました。 先方への説明を兼ねて、メモみたいなイメージで残しておきます。 パスワードハッシュ 【手順.1】現在のPHPの確認と削除 現在のPHPバージョンを取得 #rpm -qa | grep php php-common-5.3.3-27.el6_5.x86_64 php-gd-5.3.3-27.el6_5.x86_64 php-cli-5.3.3-27.el6_5.x86_64 php-mbstring-5.3.3-27.el6_5.x86_64 p
かじゅある! この記事は、MySQL Casual Advent Calendar 2013 4日目です。 3日目を数秒差で @kamipo さんに取られてしまい*1、ネタかぶったらどうしようとドキドキしていましたが、そのようなことはなくこれでようやく安眠できそうです。 MySQL では、UNSIGNED が使える UNSIGNED は、標準SQL にはないデータ型属性です。*2 通常の INT が -2147483648 から 2147483647 の範囲を表すのに対し、 INT UNSIGNED で定義したカラムは 0 から 4294967295 の範囲となります。 今回は、この UNSIGNED に関する奇妙な挙動のお話。 なお、検証に利用したバージョンは 5.1.69 です。 すでに 5.6 が GA となっている現在からするとやや古いバージョンではありますが、REHL 6.5 で
(最終更新日: 2017/9/25) はじめに production 環境で MySQL 5.6 動かすためのパラメータ設計についてまとめました。この記事がカバーする内容は次のとおりです。 パラメータを設定するスクリプト。 各パラメータにおける変更するかどうかの判断基準。 想定されるメモリの消費サイズを算出してパラメータが妥当かどうか確認する方法。 サービスの状況に応じててきぎ読みかえてください。 【結論】パラメータグループ作成・パラメータ設定のスクリプト 結論として、パラメータグループを作成し、パラメータを設定する aws-cli のスクリプトを置きます。Amazon AWS の Web Console から設定することもできます。 #!/bin/sh # == パラメータグループ作成 aws rds create-db-parameter-group --db-parameter-gr
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く