Linux数据库

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux数据库 >

Django中遇到的mysql问题

来源:网络整理  作者:  发布时间:2020-12-22 22:19
最近在用Django写个网站,连接mysql的时候出现了几个问题,总结一下。 写好setting.py和models.py后,syncdb都没什么问题,...

最近在用Django写个网站,连接mysql的时候出现了几个问题,总结一下。

 

写好setting.py和models.py后,syncdb都没什么问题,在测试后台发表文章的时候就出错了,本来是测试markdown的图片与codelite代码高亮,发现发表后debug模式就报错。

Error:Warning: Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95...' for column 'object_repr' at row 1

 

查了一下发现是mysql的默认编码的问题,照着网上的改了/etc/mysql/my.cnf后不行,在client里加上default-character-set=utf8直接导致mysql启动不起来了,然后在mysqld里写上了default-character-set=utf8,还是不行,于是直接手动修改数据库使用的编码。

ALTER DATABASE pyblog DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

重新删除之前的数据库重新建立数据库遂搞定。

 

昨天关机后发现今天 MySQL重启 报错 Can't connect to local MySQL server through socket

看了下我的/var/run/mysqld和/var/lib/mysqld的目录里都没有mysqld.sock,也没法像网上那样直接ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock软链接过去,然后找到了一个方法在root下。

/usr/bin/mysql_install_db 

 

然后再看/var/run/mysqld/目录下应该就已经有mysqld.sock了。

mysql_install_db 脚本的目的是生成新的MySQL授权表。它不覆盖已有的MySQL授权表,并且它不影响任何其它数据。如果你想要重新创建授权表,首先停止mysqld服务器。

重启mysql然后再python manage.py runserver发现搞定了。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/sql/7579.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Django中遇到的mysql问题

2020-12-22 编辑:

最近在用Django写个网站,连接mysql的时候出现了几个问题,总结一下。

 

写好setting.py和models.py后,syncdb都没什么问题,在测试后台发表文章的时候就出错了,本来是测试markdown的图片与codelite代码高亮,发现发表后debug模式就报错。

Error:Warning: Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95...' for column 'object_repr' at row 1

 

查了一下发现是mysql的默认编码的问题,照着网上的改了/etc/mysql/my.cnf后不行,在client里加上default-character-set=utf8直接导致mysql启动不起来了,然后在mysqld里写上了default-character-set=utf8,还是不行,于是直接手动修改数据库使用的编码。

ALTER DATABASE pyblog DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

重新删除之前的数据库重新建立数据库遂搞定。

 

昨天关机后发现今天 MySQL重启 报错 Can't connect to local MySQL server through socket

看了下我的/var/run/mysqld和/var/lib/mysqld的目录里都没有mysqld.sock,也没法像网上那样直接ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock软链接过去,然后找到了一个方法在root下。

/usr/bin/mysql_install_db 

 

然后再看/var/run/mysqld/目录下应该就已经有mysqld.sock了。

mysql_install_db 脚本的目的是生成新的MySQL授权表。它不覆盖已有的MySQL授权表,并且它不影响任何其它数据。如果你想要重新创建授权表,首先停止mysqld服务器。

重启mysql然后再python manage.py runserver发现搞定了。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/sql/7579.shtml

相关文章

风云图片

推荐阅读

返回Linux数据库频道首页