mySQL よく使うコマンド

データベース作成

キャラクタセットを指定してデータベースを作成

CREATE DATABASE データベース名 CHARACTER SET utf8;

ユーザ権限

グローバル権限

GRANT all ON *.* TO user1@localhost IDENTIFIED BY 'password';

ON *.* とすると、すべてのデータベースに対して権限を付与できます。

データベース権限

GRANT all ON database1.* TO user1@localhost IDENTIFIED BY 'password';

ON データベース名.* とすることで、特定のデータベースに対して権限を付与できます。

ユーザーの設定について

・アカウント名の構文は 'user_name'@'host_name' です。
・ユーザー名のみで構成されるアカウント名は、'user_name'@'%' と同等です。たとえば、'me''me'@'%' と同等です。

公式mySQLのマニュアルから抜粋

メモ:mySQLのセキュリティは、ユーザ名、ホスト名、パスワードで管理

テーブル

テーブル作成

CREATE TABLE users (

id int(11) unsigned NOT NULL auto_increment,

username varchar(100)  NOT NULL,

password varchar(100)  NOT NULL,

name varchar(100) default NULL,

email varchar(100) default NULL,

PRIMARY KEY (id)

)DEFAULT CHARSET=utf8;

カラムの追加

ALTER TABLE testTableName ADD colA tinyint AFTER endDate;

データベース接続

MySQLサーバに接続 (1)

$ mysql -uユーザ名 -p データベース名

Enter password: [パスワード]

MySQLサーバに接続 (2)

$ mysql --user=ユーザ名 --password=パスワード データベース名

 

日付型

date年月日(時刻なし)
datetime年月日時刻
datetimestamp特別な理由がない限り使わない

リストア

gz圧縮されたファイルを、リストア

zcat mysql_backup.sql.gz | mysql -uUserName -pPassword DatabaseName

デーモンの停止

service mysql stop

タイムゾーン

タイムゾーンの確認

show variables like '%time_zone%';

タイムゾーンの設定

set global time_zone='+00:00'

バックアップ

mysqldump --single-transaction -u [ユーザ名] -p [データベース名] > [出力ファイル名]

— single-transaction ある時点のスナップショットからバックアップすることで、バックアップ中にテーブルロックさせない。InnoDBに限る。

コメント

タイトルとURLをコピーしました