Hatena::ブログ(Diary)

やきにくとくにきや このページをアンテナに追加 RSSフィード Twitter

ブログを移転しました

2013-11-26 ブログを移転しました

今後はこっちでもうちょっと頻度を上げてチラシの裏を書いて行きたいと妄想してます。

やきにくとくにきやの移転先はこちら

2013-11-25

MySQLのmy.cnfでinnodb_log_file_sizeを変更したら怒られた


MySQLのmy.cnfでinnodb_log_file_sizeを変更したら怒られた

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes

要は
innodbのログファイルサイズを変更しようとおもったけど既にあるログファイルとサイズ違うよ?

ってことらしい



安全に止めてやった上で、既存のログファイルを削除する

削除するのはib_logfile10とib_logfile1の二つ

mysql -u root -e'SET GLOBAL innodb_fast_shutdown=0;'
/etc/rc.d/init.d/mysqld stop
rm -f /var/lib/mysql/data/ib_logfile0
rm -f /var/lib/mysql/data/ib_logfile1
/etc/rc.d/init.d/mysqld start

すると新たにログファイルを作って立ち上げてくれる


後、ib_logfileは
/var/lib/mysql/dataにあったり/var/lib/mysqlにあったりしたので、
ちゃんと今使ってるディレクトリを確認すべし

2013-11-22

ログのローテートとかに便利なファイルを空にするコマンド

CentOSでファイル空にするのはどうやってやるんだろう?

と思って調べたところ「:」を挿入することで空になるそうだ


こんな感じ
>||
:> foo.log
||<



手作業でログのローテートしたりする時に便利
>||
cp /var/log/nginx/error.log /var/log/nginx/error.log.201311221833
:> /var/log/nginx/error.log
||<


2013-07-22

simplexml_load_fileで属性を取得する

simplexml_load_fileを使っていて

<entry>
  <media url="http://hogehoge/fuga.jpg" type="image/jpeg"/>
</entry>

からurl部分を取りたい時は

$entry->media->attributes()->url

と言う感じで取れる。

2013-07-13

MySQL5.5をソースから入れつつmroonga3を入れる

URLを参照しながらやったけど、バージョンが違ったり微妙にうまくいかなかったりしたのでメモ。
CentOS6.4にそのままコピペして流す自分用だったり。


# MySQL
# http://d.hatena.ne.jp/takjoe/20120109/1326052894
# http://kamip.jp/mysql/mysql5-5-28-%E3%82%92%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%8B%E3%82%89%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

cd /usr/local/src/
groupadd mysql
useradd -r -g mysql mysql
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
tar zxvf mysql-5.5.32.tar.gz
cd mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \
-DMYSQL_DATADIR=/var/lib/mysql/data \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_unicode_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLE_DTRACE=0 \
-DENABLE_GCOV=1 \
-DWITH_DEBUG=0 \
-DENABLE_DEBUG_SYNC=0

make
make install

cd /usr/local/mysql-5.5.32/
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql --datadir=/var/mysql/data
chown -R root .
chown -R mysql /var/mysql/data
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld



# mroonga
# http://d.hatena.ne.jp/takjoe/20120109/1326114952
# http://y-ken.hatenablog.com/entry/mroonga-create-function

yum -y install pkgconfig
cd /usr/local/src
wget http://packages.groonga.org/centos/groonga-repository-1.0.1-0.noarch.rpm
rpm -ivh groonga-repository-1.0.1-0.noarch.rpm
yum -y install groonga
yum -y install mecab-ipadic
cd /usr/local/src/
wget http://packages.groonga.org/source/mroonga/mroonga-3.05.tar.gz
tar zxvf mroonga-3.05.tar.gz
cd mroonga-3.05

./configure \
--with-mysql-source=/usr/local/src/mysql-5.5.32 \
--with-mysql-config=/usr/local/mysql-5.5.32/bin/mysql_config \
--with-default-parser=TokenMecab
make
nake install
service mysqld restart
/usr/local/mysql-5.5.32/bin/mysql

ここからMySQLのコマンド

INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';
show variables like 'mroonga_%';
show engines;

use test;
CREATE TABLE diaries (
  id INT PRIMARY KEY AUTO_INCREMENT,
  content VARCHAR(255),
  FULLTEXT INDEX (content) COMMENT 'parser "TokenMecab"'
) ENGINE = groonga COMMENT = 'engine "innodb"' DEFAULT CHARSET utf8;
INSERT INTO diaries (content) VALUES ("明日の天気は晴れでしょう。");
INSERT INTO diaries (content) VALUES ("明日の天気は雨でしょう。");

f:id:kunikiya:20130713200504p:image

Connection: close