MySQL:チートシート
ログイン
$ mysql -h ホスト -P ポート -u ユーザー名 -p データベース名
-p はパスワード問い合わせ
ポートはデフォルト 3306
データベース名がないとデータベースに接続しない状態になる。(コマンドだけ通る)
mysql コマンドの説明
https://dev.mysql.com/doc/refman/8.0/en/mysql.html
パスワードの設定
code:console
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password here';
古いバージョンで直接書き換える場合
code:console
UPDATE mysql.user SET password = password('your password here') WHERE user = 'user_name';
FLUSH PRIVILEGES;
データベース一覧
https://dev.mysql.com/doc/refman/8.0/en/show-databases.html
code:console
SHOW DATABASES LIKE 'pattern' | WHERE expr
データベースの詳細確認
code:console
SHOW CREATE DATABASE db_name;
データベース作成
https://dev.mysql.com/doc/refman/8.0/en/create-database.html
code:console
CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
utf8mb4_bin を推奨。(コレーションは必要な項目のみに制限すべきもの)
データベース削除
https://dev.mysql.com/doc/refman/8.0/en/drop-database.html
code:console
DROP DATABASE db_name;
データベースのバックアップ
何も指定しないと SQL として出力される。
特定のデータベースのみ
code:console
mysqldump -h ホスト -P ポート -u ユーザー名 -p データベース名 >バックアップファイル名
-p はパスワード問い合わせ
インポート
$ mysql -h ホスト -P ポート <バックアップファイル
ユーザーの作成
code:console
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password';
権限の付与
code:console
GRANT ALL PRIVILEGES ON your_database.* TO 'user_name'@'localhost';
FLUSH PRIVILEGES;