用Django写网站,放到SAE上,然后数据库链接总是报错invalid literal for int() with base 10

用Django写网站,放到SAE上,然后数据库链接总是报错invalid literal for int() with base 10,第1张

这个是代码问题啦,意思是你的字符串无法转换成整数。本地的数据库配置因该为类似MYSQL_PORT = '3306',而线上则为:MYSQL_PORT = saeconstMYSQL_PORT,端口值是一个变量

step 1:

修改你的django project目录下的settingspy 文件至如下所示:

其中,'NAME' 对应的 ‘db_name' 是你事先使用mysql

的命令行提示符创建的数据库名称。注意:在django使用数据库之前,你必须先创建出数据库,否则会报错。'USER'对应的'username'

还有 'PASSWORD' 对应的‘passwd'

就是你在mysql中创建的用户名和密码。如果你有多个的话,随便填一个就好。'HOST'和'PORT'默认都可以不填。

题外话: 使用用户名和密码登录mysql的方法

首先,你需要进入 mysql/bin的目录下,也可以在bash_profile中设置环境变量:

PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5622/bin/

再在prompt输入 mysql -u username -p, 回车后再输入 passwd即可

step 2:

然后,在managepy路径中使用python managepy syncdb 试试,结果会提示你错误找不到 MySQLdb 这个module, 为什么呢, 因为 python managepy syncdb 命令是这样工作的:

1 在project目录的settingspy的INSTALLED_APPS元组中找到可能需要更新的APP。

2 找到每一个APP目录中的modelspy (关系定义文件),并针对变化在数据库中进行更新。

说了这么多,前面那个错误 找不到 module MySQLdb 是什么意思啊 ?

先给个图,再解释:

因为在modelspy中定义关系使用的是python,而真正在数据库中 *** 作形成model当然一定要用sql语句,所以必须要有一些功能模块

来把python语句转化成sql语句。如果你使用sqlite的话,由于sqlite和转化模块都已经由python内置了,所以直接使用不会发生错

误。但是 ”mysql语句的转化模块“ 就需要你手动加载了,这些模块放在 MySQL-python 中。

我是使用pip 安装的:

安装了之后,再使用 python managepy syncdb就OK啦。

我使用的系统是 OS X,下面是 mysql 默认的安装路径

/usr/local/Cellar/mysql/5622/

如果你想知道你的数据库文件是放在哪里的,你可以查看mysql_config文件中的ldata变量,这个变量的值就是 默认的数据库文件夹存储的路径。 我的系统中,mysql_config的完整路径是 :

/usr/local/Cellar/mysql/5622/bin/mysql_config

错误代码 1045

Access denied for user 'root'@'localhost'

(using password:YES)

如果你的mysql也出现以上这种提示,

建议你逐个字看完我这篇文章再按以下方法来尝试解决问题

这是mysql数据库很多时候出现的问题, 网上流传很多解决办法 有人按照那些方法, 还真可以把问题解决了; 但也有很多人按那些方法解决不了问题!

而这个中原因, 就是没有对症下药!!!

网上的那些方法, 很多都没有明确指出是什么版本的mysql, 所以导致问题者不能对症下药

出现这个问题, 通过停止/重启 mysql 服务, 是可以解决的, 这个是最简单的办法! 对于不懂得什么叫做"停止/重启mysql服务"的人来说,

这个最简单的办法就是把服务器主机进行重新启动(就是把你的电脑进行重新启动)

以上是方法A! (这个方法适合任何版本的mysql)

以下是方法B:(方法仅适用于MySQL4026 版本!!! (我估计,

40的其他版本应该也可以的))

网上也有说, 就是对root进行重改密码 对于网上流传的改密码方法, 也是可行的 请参考以下:

DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改

格式:mysqladmin -u用户名 -p旧密码 password

新密码

例:给root加个密码ideacmblog

首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令

mysqladmin

-uroot password ideacmblog

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

D:\php\MySQL\bin>mysqladmin -uroot password

ideacmblog回车后ROOT密码就设置为ideacmblog了

但是, 请注意了, 以上方法仅适用于MySQL4026

版本!!! (我估计, 40的其他版本应该也可以的)

方法C:

好了, 扯了那么多, 以上的两个方法都不是我本人测试过的, 本人不对真实性负责!

而现在我说一下本人亲自试过的方法, 以供参考:

话说今天, 我的服务器所有php及使用了mysql数据库的网站, 均挂掉了! 无法打开,

并有以下提示:

错误代码 1045

Access denied for

user 'root'@'localhost' (using password:YES)

一开始我也是不断搜索google(我本人不喜欢百度!),

去找寻解决的办法 看了很多, 也参照执行了, 事实上也是解决不了问题 后来我想到了是版本的问题, 不同的mysql版本,

解决办法是不一定一样的!!记住

我的mysql版本是: 5022

(mysql-essential-5022-win32)

今天一整天, 那些php网站均罢工 到今晚才有时间上去服务器继续寻找方法, 但仍然解决不了

最后, 我决定把mysql卸掉重新安装!

卸载很快, 而且不需要重新启动计算机

于是, 继续进行安装

第一步:

打开这个mysql-essential-5022-win32exe文件;

第二步: 见到窗口d出, 并点击 Next>

进入下一步;

第三步: 选择 Custom 项, 并点击

Next> 进入下一步;

第四步: 到这一步要注意了, 点击

Change 选择你原安装mysql的目录; 选择后, 继续点击Next> 进入下一步;

第五步: 点击 Install

进行安装

安装至下一步, 会提示你进行注册, 选择最后一项, 即跳过注册,

进入下一步正式完成安装

安装完成后, 继续d出一个窗口, 提示你是不是立刻进行配置,

选择 Next

选择Standard Configuration继续点击

Next 进入下一步

这一步里, 把上面那行的勾去掉, 只在 Include

PATH 那行打勾, 继续点击 Next 进入下一步

在这一步, 点击中间的"Ex"那顶,

接着配置完毕!

这时候, 你去看看你的mysql正常了没有

!!

这样就ok了!!!

以上就是关于用Django写网站,放到SAE上,然后数据库链接总是报错invalid literal for int() with base 10全部的内容,包括:用Django写网站,放到SAE上,然后数据库链接总是报错invalid literal for int() with base 10、django怎么使用本机mysql数据库、Eclipse建立Django项目连接MySQL数据库报错,如图,请问该怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10127765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存