Django REST framework × MySQLでよく使うコマンド集(覚書)

2024-04-29

Django REST framework

依存パッケージのインストール

pip install -r requirements.txt

データベースのマイグレーション

python manage.py makemigrations app_name
# app_name は、アプリ名

マイグレーションの適用

python manage.py migrate

スーパーユーザーの作成

python manage.py createsuperuser

マイグレーションの一覧を表示

python manage.py showmigrations

Python

仮想接続

  • Mac

    source 仮想環境のパス/bin/activate
  • Windows

    venv\Scripts\activate.bat

仮想を抜ける

deactivate

MySQL

接続

mysql -u user -p
# user には接続するユーザ名

サーバ起動

mysql.server start

サーバ再起動

mysql.server restart

データベース一覧

mysql> SHOW DATABASES;

データベース選択

mysql> USE selectDB;
# selectDB は、選択したいデータベース

テーブル一覧

SHOW TABLES;

ユーザのパスワード設定

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
# root にて実行。user にはユーザ名、localhost には接続元、password はパスワード

ALTER 権限付与

GRANT ALTER ON *.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

権限を確認

SHOW GRANTS FOR 'user'@'localhost';

特定データベースに全権限を付与

GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';
# user にユーザ名、localhost に接続先、database にはデータベース名

代表的な権限:

  1. SELECT: テーブルからデータを選択
  2. INSERT: テーブルに行を追加
  3. UPDATE: 行を更新
  4. DELETE: 行を削除
  5. CREATE: 新しいDBやテーブル作成
  6. DROP: DBやテーブルを削除
  7. ALTER: テーブル構造を変更
  8. GRANT OPTION: 他のユーザに権限を付与

全データベースに全権限を与える

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';

特定のデータベースに、特定の権限を与える

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER 
ON database.* TO 'user'@'localhost';