Category Archives: Linux

LTSからのdo-release-upgrade

/etc/update-manager/release-upgrades の中の
Prompt=lts

Prompt=normal
に変更

Posted in Linux | LTSからのdo-release-upgrade はコメントを受け付けていません。

mount –bind の /etc/fstab

mount –bind /mnt/old /mnt/new
の場合、/etc/fstab に
/mnt/old /mnt/new none bind

おまけ、wordpressで承認していないコメントをデータベースから消すには
DELETE FROM `wp_comments` WHERE `comment_approved` = ’0′

Posted in Linux | mount –bind の /etc/fstab はコメントを受け付けていません。

border-radius

border: 1px solid #008800;
border-radius: 7px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;

IE8までは非対応(四角のまま)
IE9はOK, IE10はものが無くてテストしてない。
FireFox 3.6で大丈夫だから火狐はOKかな。
Chrome いまの奴は大丈夫っぽい。

Posted in Linux | Tagged | border-radius はコメントを受け付けていません。

memo

apt-get update
apt-get install apache2
apt-get install mysql-server
apt-get install mysql-client
apt-get install bind9
apt-get install emacs
(cd /usr/local/bin; ln -s /usr/bin/emacs mule )
mule /etc/hostname

shutdown -rf now
apt-get install ntp
ntpq -p

Posted in Linux | memo はコメントを受け付けていません。

MySQL の character set まとめ

現在設定されてる charset の確認方法

mysql> show variables like 'cha%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

ubuntuでMySQLを普通にapt-getで入れた状態だとこんな感じ。

設定変更

“SET NAMES UTF8;” というクエリを発行すると、
character_set_client, character_set_connection, character_set_results をutf8 に
切り替えることが出来る。
アプリケーションから DB接続直後にこのクエリは昔は定番だったけども
セキュリティ上の問題があるので現在は非推奨、つかぶっちゃけ使用禁止。
http://blog.ohgaki.net/set_namesa_mcb_asc

php だったら mysqli_set_charset( $db, “utf8” ); とか、
“SET NAMES”を使わずに専用の api からやること。

my.conf

上記対応をしても character_set_server や character_set_database は変わらずに
Latin1 のまま。
/etc/mysql/my.cnf を編集して、mysqld のところに

character-set-server=utf8               # ここを追加 by sayoko
skip-character-set-client-handshake     # これも

以上を追加。そして MySQL を再起動。
※ my.cnfの書式 mysql 5.3あたりで変わってるので要確認。
ubuntuのは Ver 5.1.49-1ubuntu8.1-log for debian-linux-gnu on x86_64 ((Ubuntu))
だったりする。

もう一度確認

mysql> show variables like 'cha%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

ここまでやっても character_set_database だけは latin1 のまま。
これは既存のデータベースがすでに latin1で作成されているので。
データが少ない初期状態のうちなら、データベースを新規に作り直した方が早い。

create table bbs (
       postno          int unsigned auto_increment not null,
       ...
       msg             varchar(1024),
       addr            char(128),
       PRIMARY KEY(postno)
) default character set utf8;

こんな感じで create table する段階で utf8指定する。
もちろん create database の段階で指定してもいい。

すでにあるDBは

alter database (db-name) character set utf8

Posted in Linux | 2 Comments