報錯 raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)


django執行遷移生成表

python manage.py migrate

報錯

raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc)

原因:Django2.1不再支持MySQL5.5,必須5.6版本以上

解決方法:

1.對django降級

2.對mysql升級

mysql升級:

(1)升級之前,最好將數據庫的數據備份一下

mysqldump -uroot -p'jianshu.com' --all-databases > all_databases.sql

(2)下載源配置(ubuntu用apt-get來完成升級)

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

會彈出彈窗選擇

(3)更新

sudo apt-get update

(4)安裝

sudo apt-get install mysql-server

(5)升級

sudo mysql_upgrade -u root -p

注:升級時可能會報錯

Error: Failed while fetching Server version! Could be due to unauthorized access

依網上方法,依然不能upgrade成功

chown -R mysql /var/lib/mysql
mysql_upgrade -u root -p

然后試了一下直接進入mysql:

mysql -u root -p

竟然報錯了:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/r

然后用了https://blog.csdn.net/heatdeath/article/details/78907563第一種方法就解決了

1.#ps -A|grep mysql
   顯示類似:
  1829 ?        00:00:00 mysqld_safe
   1876 ?        00:00:31 mysqld
  2.#kill -9 1829
  3.#kill -9 1876
  4.#/etc/init.d/mysql restart
  5.#mysql -u root -p

再次,升級:

sudo mysql_upgrade -u root -p

成功!

查看mysql版本

mysql --version


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM