DB使用问题记录

DB使用问题记录

1.python+ssh连接失败:

.1问题:使用工具:python3+pymysql+sshtunnel,代码如下:

import pymysql
from sshtunnel import SSHTunnelForwarder
with SSHTunnelForwarder(
        ('XX', 22),  # B机器的配置
        ssh_username='root',
        ssh_password='XX',
        remote_bind_address=('XX',3306)) as server:  # A机器的配置

    conn = pymysql.connect(host='127.0.0.1',  # 此处必须是是127.0.0.1
                                 port=3306,
                                 user='root',
                                 password='XX',
                                 db='db_name')

    cur = conn.cursor()
    sql = "select mingzi from study where id = '1' \G"

运行后报错:


    Traceback (most recent call last):
  File "C:/Users/wb-yx432026/PycharmProjects/Yyht_jk/119_Jd/MySql.py", line 33, in <module>
    db='reco_dev')
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 327, in __init__
    self.connect()
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 598, in connect
    self._request_authentication()
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 873, in _request_authentication
    auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\_auth.py", line 253, in caching_sha2_password_auth
    pkt = _roundtrip(conn, data)
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\_auth.py", line 112, in _roundtrip
    pkt = conn._read_packet()
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 683, in _read_packet
    packet.check_error()
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "C:\Users\wb-yx432026\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

.2原因:账户密码错误,或者是该数据库地址、以及账户没有远程连接的权限
.3解决:a.可以直接开通一个外网访问的数据库地址
b.修改数据库密码编码方式:
c.开通远程访问的权限:参考连接

-- 给%(所有)主机连接的root用户赋予对*.*(所有库和表)的操作权限,并设置密码为 password
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值