python连接各种数据库数据_Python连接各种数据库

1.连接Hive数据库

想直接使用python连接hive数据库,貌似有很多包可以选,网上用的比较多的是PyHive和impyla.这里我直接选用了PyHive。

Pyhive这个包安装非常容易,这里就不展开了。但是写好python程序之后发现报错:'canot not import hive'. 网上给的答案是说pyhive这个包依赖其他包。(Impyla包的安装与pyhive的安装相差不大,只是两者依赖的包略有不同)

首先在安装sasl这个包的就在不停的报错。在网上找了一个别人在解决这个安装包的记录贴(亲测有效,不想班门弄斧)可以参考,具体网址如下:https://www.cnblogs.com/free-easy0000/p/9638982.html

这里要补充的一点是,sasl安装包下载地址,具体网址如下:https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl。具体要下载那个 版本的sasl,要有python版本决定(比36我我的python是64位的3.6版本,所以我下载的就是cp36……amd64.cml)。将所需要的sasl版本下载的本地后,直接pip install 下载地址\sasl…….whl,就可以安装了。

2.MySQL配置及Python连接MySQL

MySQL的下载地址:https://dev.mysql.com/downloads/mysql/ 。我这里安装的是最新的MySQL 8.0.17版本。具体的安装步骤可以参考:https://www.cnblogs.com/reyinever/p/8551977.html  。按照上述步骤安装完成之后,在管理员模式运行net start mysql可以正常启动mysql服务。

下面就是安装navicat客户端。navicat直接网上下载解压就可以了。然后使用navicat连接mysql客户端,新建一个连接,只需要自己取一个“连接名”就可以了。

0dc44bb210769551c0198e1722655a21.png

点击左下方的‘连接测试’发现提示了一个报错信息。1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client. 这是因为Mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 把mysql用户登录密码加密规则还原成mysql_native_password。只需要更改加密规则并使其生效即可。进入本地mysql后,执行下面两条语句:

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

flush privileges;

执行完这两条语句重启mysql服务就可以生效了。

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值