nginx+uwsgi+django2.2+python3.6+

2019-05-24  本文已影响0人  邪恶的奥伯伦

mysql 用docker,docker pull mysql
django用最新的2.2
python ubuntu18.04自带的3.6

django的mysql驱动选择mysqlclient 不选pyMySQL是因为需要改python代码,docker里改麻烦。

直接安装 mysqlclient 会报错OSError: mysql_config not found
需要先安装依赖:
ubuntu:

sudo apt-get install libmysqlclient-dev
if libmysqlclient-dev not exists, try 
apt-get install -y default-libmysqlclient-dev

yum:

yum install mysql-devel

MacOS:

brew install mysql-client
#mysql-client is not on the `PATH` by default
export PATH="/usr/local/opt/mysql-client/bin:$PATH"
#openssl is not on the link path by default
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
#Then I could pip wheel mysqlclient / pip install mysqlclient successfully

启动django 报错django.db.utils.OperationalError: (2002, "Can't connect to local MySQL

server through socket '/var/run/mysqld/mysqld.sock' (2)")
需要把mysql host 从localhost 改成127.0.0.1

或者

如果是docker-compose启动的db需要在 host = [docker-compose DB service name]

字符集设置为utf8
修改db字符集 alter database ss_db default character set utf8;
修改表字符集 alter table auth_permission convert to character set utf8;

上一篇 下一篇

猜你喜欢

热点阅读