‘壹’ python连接数据库失败,已经把caching_sha2_password全部改成了mysql_native_password了,求大神帮助
缺少pymysql库,cmd安装一下
‘贰’ python3.6.5 始终连接不上mysql8.0
#createdatabase.py
#!/usr/bin/envpython
importos
importre
importsys
importpymysql
fromimportlibimportimport_mole
#searchthedirnameofsettings.pyandimportit
withopen('manage.py')asf:
s=f.read()
d=re.search(r'DJANGO_SETTINGS_MODULE.*?,s*"(.+?).settings',s).group(1)
assert'settings.py'inos.listdir(d)
mo=import_mole('{d}.localsettings'.format(d=d))
defgetconf(alias='default'):
dbconf=mo.DATABASES.get(alias)
config={'host':dbconf.get('HOST'),
'user':dbconf.get('USER'),
'passwd':dbconf.get('PASSWORD'),
'port':dbconf.get('PORT'),
'charset':'utf8',}
config={k:vfork,vinconfig.items()ifvisnotNone}
db_name=dbconf.get('NAME')
returnconfig,db_name
defcreat_db(config,db_name):
try:
conn=pymysql.connect(**config)
cur=conn.cursor()
if'-d'insys.argv:
cur.execute('dropdatabase{}'.format(db_name))
print('successtoexecute`dropdatabase{};`'.format(db_name))
command='createdatabase{}_general_ci'.format(db_name)
cur.execute(command)
print('successtoexecute`{};`'.format(command))
#conn.select_db(database)
conn.commit()
cur.close()
conn.close()
exceptExceptionase:
print("SQLError:{e}".format(e=e))
defmain():
creat_db(*getconf())
#creat_db(*getconf('mysql_property'))
估计是密码错了,你直接在命令行运行:
mysql-uroot-proot
看看密码是不是root
‘叁’ MySQL-python连接MySQL数据库问题,总是抛异常。
不要刚开始学多线程编程就这样玩。connection 和 cursor 都不是线程安全的。
如果测试环境用多个线程,每个线程要在线程里面获取自己的 connection,然后从这个connection 获取 cursor.
如果生产环境用多个线程,建议使用线程安全的连接池。
‘肆’ python 本地连接mysql的时候出错
你可以吧localhost改成127.0.0.1或者///试试
‘伍’ 关于python连接MySQL报错问题。
你要连接本地数据库,先要在本地上开数据服务(安装mysql,一般是自动开的),看你连接的数据库是TestDB,你要看下,你装的mysql下,有没这个数据库啊,没有的话话,肯定是连接失败的。
‘陆’ Python通过第三方库pymysql连接mysql数据库出错。
那肯定是因为你的insert语句里面的values有问题,这些值都为空,所以你返回结果行为None,你可以试着输出一下self.insertSql这个变量,看看输出来的结果是什么就知道了。
或者是你把values的值换成字符串,成功插入后再修改成变量,慢慢调试。
这种数据库操作的问题,最好是要好好检查下自己的sql语句。
‘柒’ python连接mysql出错 AttributeError: 'Connection' object has no attribute 'cursorclass'
你好像还有其他的代码没有上传。给你个示例代码:
#引入MySQLdb包
importMySQLdb
#连接数据库
conn=MySQLdb.connect(
host='localhost',#主机名
user='root',#用户名
passwd='12345',#密码
db='douban',#数据库名
port=3306,#端口
charset='utf8'#编码
)
#获取数据库操作游标
cursor=conn.cursor()
#写入数据
sql='insertintomovie(name,score,time)values(%s,%s,%s)'
param=('TheShawshankRedemption',9.6,1994)
n=cursor.execute(sql,param)
#会返回执行操作的条数#更新数据
sql='updatemoviesetname=%swhereid=%s'
param=('TheShawshankRedemption',1)
n=cursor.execute(sql,param)
#查询数据
sql='select*frommovie'
n=cursor.execute(sql)
cursor.fetchall()
#会返回所有的结果集,tuple元组型
forrowincursor.fetchall():
forrinrow:
printr
#删除操作
sql='deletefrommoviewhereid=%s'param=(1)
n=cursor.execute(sql,param)
#最后,关闭游标
cursor.close()
#提交事务
conn.commit()
#关闭连接
conn.close()
‘捌’ python连接不上mysql
你没有studypython这个数据库,要么新建一个,要么指定其他的数据库名称。
‘玖’ python连接mysql数据库出错,已经尝试了网上的几种解决方法
这里的意思是:数据库连不上啊。
可能是网络问题,可能是防火墙问题,可能是3306端口没开。你先排除这些问题吧。用一些mysql工具连接测试看,比如SQLyog 测试。