# Paths which are pruned from updatedb database -PRUNEPATHS="/tmp /var/tmp /root/.ccache" -PRUNEPATHS="${PRUNEPATHS} /var/cache /mnt/share/backup" +PRUNEPATHS="/tmp /var/tmp /root/.ccache /var/cache /mnt/share/backup"
2010-07-25
/etc/updatedb.conf の修正の例
バックアップのディレクトリを除外できていなかった。
2010-07-16
dev-libs/gmp の再インストールの例
閲覧
削除
エラーになる。
バイナリのインストール
PORTAGE_BINHOSTは
再インストール
確認
手動で削除(--oneshotを付け忘れた場合)
http://tinderbox.dev.gentoo.org/default-linux/x86/dev-libs/
http://theoutsideofparr.blogspot.com/2009_05_01_archive.html
$ lv /var/lib/portage/world
削除
$ sudo emerge -Cav dev-libs/gmp
エラーになる。
$ sudo emerge --update --deep --newuse --verbose --tree --with-bdeps=y --ask world
バイナリのインストール
$ sudo PORTAGE_BINHOST=http://tinderbox.dev.gentoo.org/default-linux/x86/ emerge -avgK dev-libs/gmp
PORTAGE_BINHOSTは
$ grep ^CHOST /etc/make.confの場合。
CHOST="i686-pc-linux-gnu"
再インストール
$ sudo emerge --oneshot -av dev-libs/gmp
確認
$ equery belongs dev-libs/gmp
手動で削除(--oneshotを付け忘れた場合)
$ sudo vi /var/lib/portage/world
http://tinderbox.dev.gentoo.org/default-linux/x86/dev-libs/
http://theoutsideofparr.blogspot.com/2009_05_01_archive.html
2010-07-11
my.cnfの追記の例
[mysql]
デフォルトの文字コード
[mysqld]
デフォルトの文字コード
SELECT CHAR_LENGTH('全角の文字'); がおかしいが気にしない場合 default-character-set=binary をいろんな[xxx]に書いとけば良い。文字列関連がおかしくてもいいのであれば早くなるかもしれない。
例えば、
latin1は特殊な値ではなく文字コードなので、例えばsjisをeuc-jpとして扱うと文字化けするのと同じようなミスです。
関係ないですが
http://www.php.net/manual/ja/function.mysql-set-charset.php
/var/lib/mysqlのディレクトリを変更
接続数
myisam用の重要な値。msqyl専用のmyisam専用のサーバーの場合 5~9割
index無しソート
内部データ。エラーがログに出る。増やす。出る。増やす。
手順
http://dsas.blog.klab.org/archives/50860867.html
mymemcheck を鵜呑みにする。
http://linux.mini13i.gotdns.org/?MySQL%2F%BA%C7%C5%AC%B2%BD%2F%A5%B5%A1%BC%A5%D0%A5%D1%A5%E9%A5%E1%A5%BF
他にも沢山解説サイトがあるので読む。
http://dev.mysql.com/doc/refman/4.1/ja/innodb-start.html
そして上記などの公式サイトの説明を読む。
mysqlクラスターには関係ない。
デフォルトの文字コード
default-character-set=utf8タブで入力の補完。ディストリによってはデフォルト (mysql -u xxx --no-auto-rehash で確認)
auto-rehash
[mysqld]
デフォルトの文字コード
default-character-set=utf8必ずutf8のデータが来る場合。こないとバックアップ、リストア時に悲惨かもしれない。
SELECT CHAR_LENGTH('全角の文字'); がおかしいが気にしない場合 default-character-set=binary をいろんな[xxx]に書いとけば良い。文字列関連がおかしくてもいいのであれば早くなるかもしれない。
skip-character-set-client-handshake例えばもし5.0.xxの低いバージョンから5.0.xxの高いバージョンにアップしてリストアできなくなり、実はlatin1のテーブルにutf8,sjis,eucjpなどのlatin1以外を入れていたぜ、ということであれば、該当する低いバージョンのソースかrpmなどを探して他のどこかにインストールしてリストアして成功して再度binary指定でバックアップして、などやれば助かるかもしれません。
例えば、
show create table tablename;であれば特に文字コードについてマニュアルを読むべきです。
CREATE TABLE `tablename` ... CHARSET=latin1
latin1は特殊な値ではなく文字コードなので、例えばsjisをeuc-jpとして扱うと文字化けするのと同じようなミスです。
関係ないですが
http://www.php.net/manual/ja/function.mysql-set-charset.php
注意: 文字セットを変更するにはこの方法を使うことを推奨します。 mysql_query() で SET NAMES .. を実行する方法はお勧めできません。どこかでsjisのバックスラッシュに関するドライバの設定云々と読んだような気がします。
//mysql_query("set names xxx");
mysql_set_charset("xxx");
/var/lib/mysqlのディレクトリを変更
datadir = /mnt/share/mysqlCREATE TABLE ... ENGINE=InnoDB ... 指定無しのデフォルト値
default_table_type = innodbdatadirのbinlogを10日後に消す
expire_logs_days = 10
接続数
max_connections = 80管理(rootなど)用に残す
max_user_connections = 72mysqlの中のプロセスの作成が再利用される。
thread_cache_size = 32普通のアプリのタイムアウト。バッチ処理の場合に伸ばす。SET wait_timeout=86400;SET GLOBAL と書くと変えられる場合は戻さないとずっとそのままです。
wait_timeout = 30SQL文の長さのMAX
net_buffer_length = 16K
myisam用の重要な値。msqyl専用のmyisam専用のサーバーの場合 5~9割
key_buffer_size = 128Mテーブルごとのfopenの保存する数。1024以上の場合制限解除(/etc/security/limits.conf). 1ユーザー1テーブルとかの場合、リリース後であれば祈る。
table_cache = 256たぶんmyisamのselect専用のキャッシュ
query_cache_size = 32M
index無しソート
sort_buffer_size = 8Mmyisam用?
myisam_sort_buffer_size = 8Mランダムリード
read_rnd_buffer_size = 4M連続リード
read_buffer_size = 4Mindex無しjoin
join_buffer_size = 2M
内部データ。エラーがログに出る。増やす。出る。増やす。
innodb_additional_mem_pool_size = 16M重要な値。msqyl専用のinnodb専用のサーバーの場合 5~9割
innodb_buffer_pool_size = 2048Mテーブルのファイルばらばら。管理の利点、サイズ増えすぎない。
innodb_file_per_table = truecommit時にディスク書き込み
innodb_flush_log_at_trx_commit = 1バッファリングの重複をoff
innodb_flush_method = O_DIRECTログのメモリ
innodb_log_buffer_size = 16Mログのファイル (/var/lib/mysql/ib_logfile0,1)バージョンによって変更後にリスタートでエラーor変化しない。変化させたい場合は消してからリスタート。
innodb_log_file_size = 64Mログのファイル数 (/var/lib/mysql/ib_logfile0,1)
innodb_log_files_in_group = 2
手順
http://dsas.blog.klab.org/archives/50860867.html
mymemcheck を鵜呑みにする。
http://linux.mini13i.gotdns.org/?MySQL%2F%BA%C7%C5%AC%B2%BD%2F%A5%B5%A1%BC%A5%D0%A5%D1%A5%E9%A5%E1%A5%BF
他にも沢山解説サイトがあるので読む。
http://dev.mysql.com/doc/refman/4.1/ja/innodb-start.html
そして上記などの公式サイトの説明を読む。
$ mysqladmin variables未設定時のデフォルト値がわからないので見る。
mysqlクラスターには関係ない。
登録:
投稿 (Atom)