Category: ‘MySQL’

MySQL 日付関数

2011年5月30日 Posted by PURGE

■月末日を求める
※MySQL4.0以前

SELECT DATE_SUB(CONCAT(PERIOD_ADD(DATE_FORMAT('2006-12-15', '%Y%m'), 1), '01'), INTERVAL '1' DAY) FROM dual;

※MySQL4.1.1以降

SELECT LAST_DAY('2006-12-15') FROM dual;

MySQL 環境設定

2011年5月30日 Posted by PURGE

■データベースローカル接続

/usr/local/mysql/bin/mysql -D db_name -u hoge -p

■リモート接続

/usr/local/mysql/bin/mysql -D db_name -h hostname -u hoge -p

■データベース変更

USE db_name;

■キャラクタセット変更

SET NAMES sjis;

MySQL ユーザ管理

2011年5月30日 Posted by PURGE

■ユーザ確認

SELCET user, password, host FROM mysql.user;

■ユーザ追加

GRANT ALL ON db_name.* TO hoge@localhost IDENTIFIED BY '*****';
GRANT ALL ON db_name.* TO hoge@'192.168.0.%' IDENTIFIED BY '*****';
GRANT ALL ON db_name.* TO hoge@'192.168.0.6' IDENTIFIED BY '*****';

■権限追加

GRANT ALL ON db_name.* TO hoge@'192.168.0.%' IDENTIFIED BY '*****';

■ユーザ削除

REVOKE ALL ON hoge.* FROM db_name@hostname;
DELETE FROM mysql.user WHERE USER LIKE 'hoge' AND HOST LIKE 'localhost';
REVOKE ALL ON hoge.* FROM db_name@hostname;
DELETE FROM mysql.user WHERE USER LIKE 'hoge' AND HOST LIKE 'hostname';
REVOKE ALL ON mt.* FROM mt@192.168.0.6;
DELETE FROM mysql.user WHERE USER LIKE 'hoge' AND HOST LIKE '192.168.0.6';

■リフレッシュ

FLUSH PRIVILEGES;

MySQL データベース管理

2011年5月29日 Posted by PURGE

■データベース作成

CREATE DATABASE db_name CHARACTER SET utf8;
CREATE DATABASE db_name CHARACTER SET sjis;
CREATE DATABASE db_name CHARACTER SET ujis;

■データベース削除

DROP DATABASE db_name;

■データベース情報表示

SHOW CREATE DATABASE db_name;

■データベース一覧

SHOW DATABASES;

■現在接続中データベース表示

SHOW PROCESSLIST;

Windowsでの、php5.2 で mysql モジュールが読み込めない

2011年4月16日 Posted by PURGE

毎回、Apache と php と MySQLをインストールすると必ずハマる。
今回は、下記構成
Windows XP
Apache2.2
php5.2
MySQL5.0

Apacheについて
一言、Apacheのインストールは問題ない。

phpについて
バイナリWindows用のphp5.2は、msiインストールで行うと、設定ファイルが最低限の構成となってる為、zipファイルのphpをダウンロードして解凍して私用したほうが良い。必要なライブラリも揃っている。
インストーラで行うと、http.conf に下記記述を追加してくれる。

http.conf

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/usr/local/php5.2/"
LoadModule php5_module "C:/usr/local/php5.2/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

但し、具体的なパスは自分で確かめて記述すること。
extension_dir を指定して、コメントアウトを外す

php.ini

extension_dir = "./ext"
extension=php_mysql.dll
extension=php_mysqli.dll

それでもダメな場合は、コマンドラインから php -v を打てば何かのエラーが表示される。
自分は、これで解明できた。

MySQLについて
phpinfo()で、一覧に出てこないのでハマった。
おそらく、上記php.ini に正しく記述すれば問題ないはず。