データベース

2/3ページ

MySQL で年月日等の日付別に集計する

いまさら月次集計や年毎の集計など 集計をする際は、主にGROUP BYを多く用いる。 YEAR(), MONTH(), DAY(), DAYNAME(), EXTRACT()が便利。 WHERE で条件しぼるんじゃないらしい(ヲイ) 2010-05 2010-06 等で年月別の集計なら、 SELECT EXTRACT(YEAR_MONTH FROM `datetime`) as 'year_month' , SUM(`price`) as price FROM `hoge_table` GROUP BY EXTRACT(YEAR_MONTH FROM `datetime `); とか。(参照ペ […]

centos4.8のphp4.xをyumでphp5.1.6にアップデート

ケース1 すでにyumでphp4がインストール済みのcentos4.8にphp5.1.6をインストールする方法です。 *centosplusリポジトリの追加は行ってある前提です。 # yum --enablerepo=centosplus update php としてもエラーで進まない。 Transaction Check Error: file /etc/my.cnf from install of mysql-libs-5.0.82sp1-1.el4_8 conflicts with file from package mysql-4.1.22-2.el4_8.3 php-pear-1.4 […]

MySQLのINT等の整数型カラム(UNSIGNED)から減算する時に注意

  • 2009.10.29

MySQL4.xでは大丈夫だったけど、MySQL5.xに移行してから起こった出来事。 整数型カラムをUNSIGNEDして利用している時、負の数にならないのをいい事に0から減算して負の数の場合は0と自動で処理してくるものだと思っていた。(MySQL4.x時にはそのように処理されていた。) 本当はプログラム側で処理するべきなのかもしれないけれど、楽してそのようなスクリプトを書いていた。 で、先日MySQL5.xの環境に移行したらデータがおかしくなっていた。 とてつもなく大きな数字となっており???状態。 どうやら、UNSIGNEDしているカラムが0で、そこから1を引くと4294967295のような […]

CentOS5.3 PostfixをMySQL対応にする

2013-01-13追記 MySQL対応のPostfixはCentOS Plusリポジトリを使えばyumでupdate出来るみたい。こっちの方がいいね。 CentOS Plusリポジトリを有効にする # vi /etc/yum.repos.d/CentOS-Base.repo [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://m […]

MySQL DATETIME型へのINDEX注意点

MySQLのDATETIME型へインデックスをつける場合注意が必要。 例えばこんなSQLではインデックスが使用されない。 SELECT * FROM table WHERE datetime LIKE '2009-05-17%' 検索結果は2009-05-17分全てが抽出されるが、フルスキャンがかかる。 この場合、以下のようなSQLが良い。 SELECT * FROM table WHERE date_time BETWEEN '2009-05-17' AND '2009-05-17' + INTERVAL 1 DAY 実行時間計測の例 行数:13,776行 データ:2,935KB インデック […]

PhpMyAdminの導入

  • 2009.02.17

phpmyadminインストール yum install phpmyadmin /usr/share/phpmyadmin にインストールされる。 /usr/share/phpmyadmin/config.inc.phpを編集 $cfg['blowfish_secret']を設定。 /* * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = '*************'; /* YOU MUST FILL IN THIS FOR […]

MySQL(Tritonn)を複数インストール

MySQL4.12が稼働しているサーバにMySQL5.0.67(Ttitonn)をインストールする(MySQL4.12はYUMでインストール済) my.cnf (MySQL4.12) [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_pa […]