推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
MrMike
V2EX  ›  Python

PySQL 远程连不上 MySQL,请问还有其它什么原因造成的呢?

  •  
  •   MrMike · Apr 20, 2020 · 3918 views
    This topic created in 2236 days ago, the information mentioned may be changed or developed.

    已经开启了数据库用户权限,也打开了端口,本地用客户端软件和 php 都可以链接上数据库,但是用 pysql 就是连不上。 请问这个还有其它什么原因造成的呢?

    pymysql.err.OperationalError: (1045, "Access denied for user '数据库名'@'本地网络 IP' (using password: YES)")

    33 replies    2020-04-21 07:50:31 +08:00
    aydd2004
        1
    aydd2004  
       Apr 20, 2020 via iPhone
    mysql 8.x 版本?
    MrMike
        2
    MrMike  
    OP
       Apr 20, 2020
    @aydd2004 5.6 和 5.7
    Mac
        3
    Mac  
       Apr 20, 2020
    用户名 @%
    MrMike
        4
    MrMike  
    OP
       Apr 20, 2020
    @Mac 是的。
    awanabe
        5
    awanabe  
       Apr 20, 2020
    bind-address=127.0.0.1 去掉没?
    MrMike
        6
    MrMike  
    OP
       Apr 20, 2020
    @Mac
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
    flush privileges;

    已经操作过这样的步骤了。
    claysec
        7
    claysec  
       Apr 20, 2020
    用户权限
    MrMike
        8
    MrMike  
    OP
       Apr 20, 2020
    @awanabe 没有配置这个。
    MrMike
        9
    MrMike  
    OP
       Apr 20, 2020
    @claysec 本地客户端软件和用 PHP 都可以链接。权限也开通了的。
    MrMike
        10
    MrMike  
    OP
       Apr 20, 2020
    服务器用的是宝塔面板,是不是跟这个有关系?
    julyclyde
        11
    julyclyde  
       Apr 20, 2020
    你这不是连不上,而是连上之后被拒了

    at 符号后面指定的地址,如果有更详细的,会优先匹配更详细的那个的权限
    Kelan
        12
    Kelan  
       Apr 20, 2020
    也可能只是用户名 /密码打错了或者转义了
    MiMiGe
        13
    MiMiGe  
       Apr 20, 2020
    @MrMike 宝塔我记得好像要在设置那里放端口
    MrMike
        14
    MrMike  
    OP
       Apr 20, 2020
    @BealuoC 端口开放了的。
    MrMike
        15
    MrMike  
    OP
       Apr 20, 2020
    @julyclyde
    @Kelan

    同样的链接信息,客户端和 php 都可以链接。我再查查什么原因吧。
    drizztdu
        16
    drizztdu  
       Apr 20, 2020
    看样子是没开放密码连接 默认是 socket 连接
    Inn0cence
        17
    Inn0cence  
       Apr 20, 2020
    1.用户名密码有特殊字符
    2.mysql8+的密码加密方式变更了,需要修改配置
    MrMike
        18
    MrMike  
    OP
       Apr 20, 2020
    @Inn0cence 没有特殊字符,只是数+大小写字母,不是 mysql8,是 5.6
    Inn0cence
        19
    Inn0cence  
       Apr 20, 2020
    @MrMike 数据库连接的 uri 怎么写的 贴个脱敏版本出来的看看吧
    Vegetable
        20
    Vegetable  
       Apr 20, 2020
    @之前是用户名,你这个数据库名是什么鬼?
    zanelee
        21
    zanelee  
       Apr 20, 2020
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
    flush privileges; 语句是这样一模一样复制上去的吗??? 这语句上去 FLUSH 以后你用用户名:username,密码:password 能远程登录了。你用你自己 root 账号 root 密码肯定还是不行的啊。
    zanelee
        22
    zanelee  
       Apr 20, 2020
    @zanelee 你本地用 root 和 root 密码肯定可以登录的
    jimmy2010
        23
    jimmy2010  
       Apr 20, 2020 via Android
    localhost 和 127.0.0.1 的区别?
    MrMike
        24
    MrMike  
    OP
       Apr 20, 2020
    @Inn0cence

    import pymysql

    pymysql.connect('remote_server_ip', 'database_user', 'database_name', 'database_password')
    MrMike
        25
    MrMike  
    OP
       Apr 20, 2020
    @zanelee 肯定是改过的啊,不可能把真实的数据库信息发在网上啊。
    MrMike
        26
    MrMike  
    OP
       Apr 20, 2020
    连上了。

    pymysql.connect('remote_server_ip', 'database_user', 'database_name', 'database_password')

    不熟悉 python 的开发,之前直接网上复制的链接信息,本地调试也能用,就没有怀疑这个链接的问题。刚才参考 pymysql 的链接配置,将数据库名和密码调换了下位置,就可以了。

    感谢各位朋友的指教,谢谢。结贴。
    DoUSeeMe
        27
    DoUSeeMe  
       Apr 20, 2020
    可能是交易不足
    aydd2004
        28
    aydd2004  
       Apr 20, 2020 via iPhone
    @MrMike
    conn = pymysql.connect(
    host=“你的数据库地址”,
    user=“用户名”,password=“密码”,
    database=“数据库名”,
    charset=“utf8”)
    我都这么些 ,这样顺序颠倒也没事好像
    smallgoogle
        29
    smallgoogle  
       Apr 20, 2020
    端口设置一下。端口要 int 类型。str 类型好像就不可以。
    nicebird
        30
    nicebird  
       Apr 20, 2020
    这里面任意一个参数不对,都可能,检查吧。
    LaFayette
        31
    LaFayette  
       Apr 20, 2020 via iPhone
    楼主应该是没有指定关键字参数
    MrMike
        32
    MrMike  
    OP
       Apr 21, 2020
    @aydd2004 应该是跟我没有跟关键字的原因,不跟关键字的话,可能对参数顺序有要求。现在问题解决了。谢谢。
    Weixiao0725
        33
    Weixiao0725  
       Apr 21, 2020
    乌龙贴
    close
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   964 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 21:56 · PVG 05:56 · LAX 14:56 · JFK 17:56
    ♥ Do have faith in what you're doing.