我使用Scrapy和wnat在我的数据库中插入数据。
在我的database.py中有
www.blablabla.com.ar. CNAME 300 blablabla.com.ar.
除了MySQLdb.Error为e: 打印“\ 033 [31mError%d:%s \ 033 [0m”%(e.args [0],e.args 1)
并且在管理器中我想用
连接到mysqldef __init__(self, host='', user='', password='', database=''):
self.__host = 'localhost'
self.__user = 'root'
self.__password = 'mypass'
self.__database = 'drive'
## End def __init__
def __open(self):
try:
cnx = MySQLdb.connect(self.__host, self.__user, self.__password, self.__database, port="3308")
self.__connection = cnx
self.__session = cnx.cursor()
我有这个错误:
self.mysql = MysqlPython(self.host, self.user, self.password, self.db)
self.connection = MySQLdb.connect(self.host, self.user, self.password, self.db)
self.cursor = self.connection.cursor()
答案 0 :(得分:2)
检查您是否正确设置了root密码,但请记住您可以重置密码。
首先要做的事情。
停止mysql服务器
sudo /etc/init.d/mysql stop
以root身份登录并停止mysql守护程序。现在让我们启动mysql守护进程并跳过存储密码的授权表。
mysqld_safe --skip-grant-tables &
你应该看到mysqld成功启动。如果没有,那么你有更大的问题。现在你应该能够在没有密码的情况下连接到mysql。
mysql -u root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;
答案 1 :(得分:2)
有同样的问题,更改了连接器,它对我有用,但首先安装模块
$ pip install mysql-connector-python
import mysql.connector
cnx = mysql.connector.connect(user='root', password='psw', host='127.0.0.1', database='db')
答案 2 :(得分:0)
尝试在最后添加Grant Option:
GRANT all privileges on dbx.* to 'x'@'localhost' IDENTIFIED BY 'x' WITH GRANT OPTION;