MySQLを思い出す

データベースの論理構造

MySQLサーバ
  +- database1
   +- table1
  +- database2
   +- table1
   +- table2
   ...

「データベース」は、Oracle Database における「スキーマ」のイメージか。

ユーザ

mysql」データベースの「user」テーブルで管理される。
権限は、{データベース×対象オブジェクト×操作}の組み合わせで指定する。
全ての権限を持つユーザを作るコマンドは下記の通り。(※grantだが、これでユーザ自体も作成される)

grant all on *.* to user01 identified by "pwduser01" with grant option;

ストレージエンジン

テーブルの物理的な管理方法、と考えて良さそう。以下の2つが主要。

MySQLコンソールの基本コマンド

MySQLコンソールの起動
mysql -u root -p
MySQLコンソールの終了
quit
データベースの切替
use データベース名
各種一覧の表示
#構文イメージは show <対象>s [from <対象>]; で、以下は例。
show databases;
show tables;
show columns from <テーブル名>;
SQLの表示
#構文イメージは show <対象命令>; で、以下は例。
show create table <テーブル名>;
ユーザ管理
#①ユーザ作成
#grant <権限> on <データベース名>.<テーブル名> to <ユーザ名> identified by "<パスワード>";
#※権限の選択肢:{ALTER,CREATE,DELETE,DROP,INDEX,INSERT,SELECT,UPDATE,ALL}
grant SELECT on database1.* to user01 identified by "user01";

#②パスワード変更
#set password for <ユーザ>@<ホスト>=password('<パスワード>');
set password for user01@localhost=password('user01changed');

#③ユーザ削除
#※mysql.userテーブルから削除し、権限情報を最新化する
DELETE FROM mysql.user WHERE user='user01';
flush privileges;
トランザクション制御
#①トランザクションの開始(※明示的に開始しないと、命令毎にコミットされる)
start transaction;

#②コミット
commit;

#③ロールバック
rollback;

エクスポート

mysqldumpツールでSQLファイル形式(クリエイト文とインサート文)でエクスポートできる。

mysqldump -u <ユーザ名> --password='<バスワード>' <データベース名> > <ファイル名>

参考文献

Java+MySQL+Tomcatで始めるサーバーアプリケーション開発入門

Java+MySQL+Tomcatで始めるサーバーアプリケーション開発入門