mysqlをインストールしたら、DBを作成する。
mysql> create database HISTORY character set utf8;
いったん抜けて、バックアップしたファイルを以下のように指定してインポート
mysql -u root -p HISTORY < HISTORY.backup
あっという間。
このブログを検索
2015/05/17
2014/02/09
logをmysqlのテーブルにする
perlで書いたcgiでログ解析をしているのだが、現在持っているログを全部読むとcgiがタイムアウトしてしまう。
件数は13万件弱である。
そこで、毎回毎回テキストを全部読んで数えるのは面倒くさいので、
mysqlにDBとして登録してしまえば、と思ってやってみた。
mysqlは別のことで使ったことがあって、
dbを作ってテーブルを作ってそこにperlでレコードを登録する、
という一連のことはやったことがあった。
それを流用してログを登録していると、エラーが発生した。
それは、シングルクォーテーションがデータ区切りとして認識されてしまうために起きていた。
シングルクォーテーションは二つ続けて書くことでエスケープできるようなので、ログファイルのシングルクォーテーションを探してそのようにした。
そんなにたくさんはないので一個ずつ直した。
今回はそれでいいのだが、ゆくゆくはアクセスがあった時点でそのつどログをdbに書こうと思っている。
このログとはいわゆる「掲示板」のようなCGIで、アクセス数は日に数件程度なのでそれでよいのだ。
でも、シングルクォーテーションがあったらそれを2個にするようにいちいちしなければならないのは、ちょっとイヤだな。
とりあえずできた。
12万件を登録するのはけっこう時間がかかった。30分くらい?
select文でいろいろ検索してみる。一発だ。
件数は13万件弱である。
そこで、毎回毎回テキストを全部読んで数えるのは面倒くさいので、
mysqlにDBとして登録してしまえば、と思ってやってみた。
mysqlは別のことで使ったことがあって、
dbを作ってテーブルを作ってそこにperlでレコードを登録する、
という一連のことはやったことがあった。
それを流用してログを登録していると、エラーが発生した。
それは、シングルクォーテーションがデータ区切りとして認識されてしまうために起きていた。
シングルクォーテーションは二つ続けて書くことでエスケープできるようなので、ログファイルのシングルクォーテーションを探してそのようにした。
そんなにたくさんはないので一個ずつ直した。
今回はそれでいいのだが、ゆくゆくはアクセスがあった時点でそのつどログをdbに書こうと思っている。
このログとはいわゆる「掲示板」のようなCGIで、アクセス数は日に数件程度なのでそれでよいのだ。
でも、シングルクォーテーションがあったらそれを2個にするようにいちいちしなければならないのは、ちょっとイヤだな。
とりあえずできた。
12万件を登録するのはけっこう時間がかかった。30分くらい?
select文でいろいろ検索してみる。一発だ。
2013/01/09
mysql
mysqlを使って、perlでcgiを作って、勉強半分・実用半分で使ってみた。
この日記は技術的なことをメモしておくのに使っているが、
mysqlに関しては特に難しいことがなく、検索すればなにもかもわかってしまうので、
あらためてここに記すことがほとんどない。
この日記は技術的なことをメモしておくのに使っているが、
mysqlに関しては特に難しいことがなく、検索すればなにもかもわかってしまうので、
あらためてここに記すことがほとんどない。