mysql システム管理 サーバの起動 #/etc/init.d/mysql start または mysqld_safe --user=mysql & または mysqld & windowsはサービスで起動 サーバのシャットダウン # /etc/init.d/mysql stop または mysqladmin -u root shutdown windowsはサービスで停止 データベースの表示 mysqlshow mysql> show databases; データベース作成 $ mysqladmin -u root create DB名 または mysql> CREATE DATABASE DB名; データベースへ接続 # mysql [オプション] [データベース] shell> mysql -h ホスト名 -u ユーザ名 -pパスワード DB名 rootユーザのパスワード設定 # mysqladmin -u root password 'rootユーザのパスワード' パスワード変更 mysql> SET PASSWORD FOR ユーザ名@localhost=PASSWORD('ユーザのパスワード'); 権限付与(ユーザが存在しなければユーザ作成もする) mysql> grant delete,insert,references,select,update on DB名.* to ユーザー名 identified by 'パスワード'; 権限取り消し REVOKE 権限 ON テーブル名 FROM ユーザ名; ------------------------------------------------------------------------- mysqldump mysqldump -u root -p DB名 > ./テーブル作成後インサート.sql テーブル定義のみ mysqldump -u root -p DB名 --no-data > ./テーブル作成.sql インサート文のみ mysqldump -u root -p DB名 --no-create-info > ./insert.sql -------------------------------------------------------------------------- 統計情報 SHOW [GLOBAL | SESSION] STATUS 絞込み表示 LIKE SHOW STATUS LIKE 'Up%'; 統計情報の設定 set GLOBAL 設定名=値; サーバの変数を確認 mysql> SHOW VARIABLES; 文字コードをEUCに設定 my.cnf に default-character-set=ujis エラーログ データディレクトリ中の「ホスト名.err」ファイルを参照 mysqlコマンドの基本操作 DB名 testに接続 # mysql test Welcome to the MySQL monitor. Commands end with ; or \g. Type 'help;' or '\h' for help. Type '\c' to clear the buffer mysql> mysqlの終了 mysql > exit または mysql > \q mysqlのヘルプ mysql > help; バージョン表示 mysql> select version(); 入力のキャンセル \c mysql> SELECT -> USER() -> \c mysql> DBへの移動 mysql> use DB名 Database changed テーブル名表示 mysql> show tables; テーブル構造表示 mysql> DESCRIBE テーブル名 または mysql> show fields from テーブル名; データのロード # mysql --local-infile=1 -u root DB名 mysql> load data local infile "./テキストファイル名.txt" into table テーブル名; Query OK テキストファイル名の内容がテーブルに読み込まれる. テキストファイルはタブ区切りでテーブル構造(列数)と同じ事。 バッチ処理 shell$ mysql < batch-file mysqlプロンプトからバッチファイル呼び出し mysql> source batch-file; 実行結果をファイルに出力 mysql データベース名 > ファイル名 SQL文を入力 実行中のプロセスを確認 mysql> SHOW PROCESSLIST; ユーザ変数 SELECT @変数名:=MIN(列名) FROM テーブル名; SELECT * FROM テーブル名 WHERE 列名=@変数名; 例えば、100番目から20個だけ表示させたい場合 mysql> select * from XXXテーブル limit 99,20; テーブル作成 例 mysql> create table test ( -> id int, -> text text ); Query OK, 0 rows affected (0.10 sec) mysql> desc test -> ; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | text | text | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) cygwin環境のPHPでMySQL