DjangoをMySQLに対応させるには、以下の手順を行います。簡潔に、かつ確実に動くように整理しました。
✅ 手順一覧
① MySQLをインストール
すでにMySQLがインストール済みならスキップOKです。
Ubuntuの場合(例):
sudo apt install mysql-server
② Django用MySQLドライバをインストール(必須)
pip install mysqlclient
補足: mysqlclientは公式推奨。Cで書かれており高速。<br>
エラーが出る場合は以下のようなパッケージを先に入れる必要あり(Ubuntuの場合):
sudo apt install python3-dev default-libmysqlclient-dev build-essential
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config
(https://pypi.org/project/mysqlclient/)
③ MySQLにデータベースを作成
MySQLに入って、Django用のDBとユーザーを作る:
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
④ Django設定ファイルを修正(settings.py)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}
⑤ マイグレーションの実行(Django側)
python manage.py makemigrations
python manage.py migrate
🚨 注意点
mysqlclientがうまく入らない場合 → 代替で PyMySQL も使用可能(ただし非公式)
Windowsの場合、MySQL Connector/Cのインストールが必要になることがあります
utf8mb4 を使うことで絵文字なども保存可能(推奨)
0 件のコメント:
コメントを投稿