2004-01-12 Mon
日付関数
- Reference
SAK Streets - MySQL 編16 - 日付関数、システム日付、切捨、日付差、日付加算、書式
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_16.htm
2003-11-23 Sun
TIMESTAMP 型
- フィールド型と表示フォーマット
| TIMESTAMP(14) | YYYYMMDDHHMMSS |
| TIMESTAMP(12) | YYMMDDHHMMSS |
| TIMESTAMP(10) | YYMMDDHHMM |
| TIMESTAMP(8) | YYYYMMDD |
| TIMESTAMP(6) | YYMMDD |
| TIMESTAMP(4) | YYMM |
| TIMESTAMP(2) | YY |
00-69 の範囲にある年の値は 2000-2069 年とする
70-99 の範囲にある年の値は 1970-1999 年とする
- Reference
MySQL Reference Manual for version 3.23.51. - DATETIME
http://web.kuicr.kyoto-u.ac.jp/manual/mysql/manual.ja_DATETIME.html
2003-11-20 Thu
Can't connect to local MySQL server through socket
- Summary
エラーが発生.
Can't connect to local MySQL server through socket
- Version
| libmysqlclient | 4.0.16-1 |
| mysql-client | 4.0.16-1 |
| mysql-common | 4.0.16-2 |
| mysql-server | 4.0.16-1 |
| mysql-server-shared | 4.0.16-1 |
| php4-mysql | 4.3.3-3 |
- 原因
/etc/mysql/my.cnf を無視して mysql.sock を /tmp/mysql.sock に作ってしまう.
- 対処法
/etc/mysql/my.cnf を変更
[client] socket = /tmp/mysqld.sock [mysqld_safe] socket = /tmp/mysqld.sock [mysqld] socket = /tmp/mysqld.sock
/etc/php4/apache/php.ini を変更
mysql.default_socket = /tmp/mysql.sock
- 再起動
# apachectl stop
# apachectl start
- 結果
良好
- 2005-01-03 追記
/etc/mysql/my.cnf ではなく/etc/my.cnf を変更しなくてはならない[2003-09-12-2] ので,
/etc/mysql/my.cnf の設定を /etc/my.cnf にコピーした.
これにより,mysqld.sock が /var/run/mysqld/mysqld.sock に作られるようになり,うまく動いているようだ.
おそらく,SoftAgency の mysql のパッケージのみの仕様?
- Reference
「Can't connect to local MySQL server through socket」エラーについて
http://www.hi-ho.ne.jp/tsumiki/book_sup2.html
2003-09-21 Sun
PHP の mysql_connect() で Call to undefined function
- Summary
Call to undefined function: mysql_connect()
というエラーが発生する.
- 原因
/etc/php/apache/php.ini
;extension=mysql.so
extension=mysql.so が コメントアウトされていた.
- 対処法
/etc/php/apache/php.ini を
extension=mysql.so
と変更して
# apachectl stop
# apachectl start
で apache 再起動
2003-09-12 Fri
MySQL サーバ,クライアント間のキャラクタセットのマッチ
- 順番
1. クライアントの --default-character-set オプションを見る
2. サーバのキャラクタセットを調べる
3. デフォルトのキャラクタセットを使用する (configure --with-charset=****)
4. キャラクタセットのconfファイルを探す
- 補足
ver. 3.23 の場合
- Reference
Soft Agency - 実践MySQL / MySQLの日本語文字コード対応
http://www.mysql.jp/mysql/TIPS/jp.html
2003-09-12 Fri
MySQL 起動時に文字コード指定
- # mysqld --default-character-set=ujis
- Reference
Soft Agency - 実践MySQL / MySQLの日本語文字コード対応
http://www.mysql.jp/mysql/TIPS/jp.html
2003-09-12 Fri
日本語がうまくソートされない
- 問題
PHP / MySQL で日本語がうまくソートされない
- 原因
MySQL の文字コードの指定がされていない
- 対処法1 : 強引に charset を変更
$ cd /usr/share/mysql/charsets/
# cp latin1.conf ujis.conf
# chown mysql:root ujis.conf
- my.cnf の編集
# vi /etc/mysql/my.cnf
[client] character-sets-dir=/usr/share/mysql/charsets [mysqld] default-character-set=ujis [mysql] default-character-set=ujis
- 結果
ダメ
# cp latin1.conf ujis.conf
あたりが強引すぎな気がする
ujis.conf ないかな?
- 対処法2 : SoftAgency のパッケージを利用する
/etc/apt/sources.listに以下を追加
deb http://www.softagency.co.jp/mysql/Downloads/woody mysql400/ deb http://www.softagency.co.jp/mysql/Downloads/sarge mysql/
を追加
- インストール結果
# aptitude install mysql-server
依存関係問題でダメ
- いったん remove
# aptitude remove mysql-server mysql-client mysql-common
# aptitude install mysql-server mysql-client mysql-common
インストール成功
しかし起動せず.
いったんあきらめ.
- 対処法3 : ソースから ujis.conf だけ抜こう
$ wget ftp://ftp.softagency.co.jp/mysql/tcx/Downloads/mysql-4.0.15.tar.gz
$ tar xzvf mysql-4.0.15.tar.gz
$ cd mysql-4.0.15/
$ ./configure --with-charset=ujis --with-extra-charsets=all
$ make
- 補足
euc-jp なら ujis
shift_jis なら sjis
と読み替えること
- ujis.conf が見つからない
終了
- 対処法4 : もう一回 SoftAgency のパッケージの使用を試みる
/var/log/mysql/mysql.err を見ると /var/run/mysqld が無いとおこられていた.
# mkdir /var/run/mysqld
# chown mysql:mysql /var/run/mysqld
- 設定ファイルが2つ
/etc/mysql/my.cnf ではなく
/etc/my.cnf を変更しなくてはならない
どうやら mysql が unix socket しか open していないようなので
port = 3306 のコメントアウトを取り除く
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld] default-character-set = ujis port = 3306 socket = /var/run/mysqld/mysqld.sock
- 結果
起動成功.
日本語のソートも出来ている.
- Reference
bin5.info - MySQL の勧め
http://bin5.info/useful/php/mysql_01.html
MySQL Reference Manual for version 4.0.12. - 4 データベース管理
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_MySQL_Database_Administration.html#Character_sets
Soft Agency - 実践MySQL / なにから手をつけましょう?
http://www.mysql.jp/mysql/TIPS/begin.html
Soft Agency - 実践MySQL / MySQLのクライアント
http://www.mysql.jp/mysql/TIPS/clients.html
Soft Agency - 実践MySQL / MySQLの日本語文字コード対応
http://www.mysql.jp/mysql/TIPS/jp.html
Soft Agency - MySQL 日本語バイナリ
http://www.mysql.jp/mysql/bin/
たぐちさんぷろじぇくと - postfixのエラー (mysql が unix socket のみを listenしていた)
http://www.taguchi.org/
2003-09-02 Tue
MySQL の基本
- DB作成
$ mysqladmin -u root create DB名
- ユーザ作成
$ mysql -u root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO username@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> \q
$ mysqladmin -u root reload
- MySQL にログイン
$ mysql -u username -p
- テーブル作成
$ mysql -u root DB名 < data.sql
# mysqlshow DB名
2003-06-04 Wed
Secure MySQL Database Design
- Summary
MySQL の安全な運用法
- Reference
http://www.securityfocus.com/infocus/1667