『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 6553|回复: 1

[经验分享] 数据库迁移时提示No module named 'MySQLdb'的问题的解决方案

[复制链接]

1

主题

50

帖子

331

积分

论坛分享达人

积分
331
金钱
281
HASS币
0
发表于 2020-12-17 11:03:31 | 显示全部楼层 |阅读模式
本帖只是为了分享我解决这个报错的经验,如果管理觉得有所不妥劳烦动动手帮忙删了(新手上路多多包涵)

前提:在论坛晃荡的时候发现很多人都建议把HASS的数据进行一次迁移,所以我这只菜鸟就照本宣科了环境:Windows10 LTSC+Python 3.8+数据库使用的是XAMPP自带的MySQL(我在上面跑了个可道云所以有现成的数据库)
安装过程按照大神的建议:
1.首先创建了对应的用户并且赋权+新建一个新的数据库

                               
登录/注册后可看大图

#因为我已经迁移好了所以你在下面能看到我的数据库,我就假装创建一个意思一下~

2.修改configuration.yaml:
添加对应的语句:
recorder:
  #几天清理一次
  purge_interval: 3
  #需要保存的天数
  purge_keep_days: 30
  #db_url: mysql://账户:密码@ip地址:端口/数据库名字
  db_url: mysql://hass:[email protected]:3306/homeassistant
#坑1:本地数据库使用localhost貌似会报错,不过我没尝试我直接写的127001

3.HA检查文件通过(其实无论对错他都会通过的),重启HA
报错:No module named 'MySQLdb'
查阅各路大神的方案后发现是因为python2和python3在数据库模块支持存在区别,py2.x是mysqldb,py3.x则是mysqlclient
解决方案:
修改HA项目目录(举个栗子C:\Users\用户名\AppData\Local\Programs\Python\Python38\Lib\site-packages\homeassistant
下的__init__.py文件,添加
import pymysql
pymysql.install_as_MySQLdb()
在这之前你需要安装对应的支持:pip install PyMySQL

4.保存重启HA,就可以看到数据库中被写入了新内容,并且HA也正常启动了

                               
登录/注册后可看大图

                               
登录/注册后可看大图

然后就可以继续愉快地玩耍了
回复

使用道具 举报

1

主题

50

帖子

331

积分

论坛分享达人

积分
331
金钱
281
HASS币
0
 楼主| 发表于 2020-12-17 11:04:49 | 显示全部楼层
本帖最后由 琛墨 于 2020-12-17 11:05 编辑

啊咧,我的图怎么都没了图片的话转到这位前辈的帖子看吧:
https://bbs.hassbian.com/thread-5371-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 16:45 , Processed in 0.369268 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表