本帖只是为了分享我解决这个报错的经验,如果管理觉得有所不妥劳烦动动手帮忙删了(新手上路多多包涵)
前提:在论坛晃荡的时候发现很多人都建议把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也正常启动了
然后就可以继续愉快地玩耍了
|