繁体   English   中英

MySQLdb:通过套接字连接到MariaDB

[英]MySQLdb: connect to MariaDB via socket

我已经重新安装了MariaDB,没有密码。 通过mysql连接适用于root用户,无需密码,也无需任何其他参数。

$ sudo -i root
$ mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Server version: 10.2.21-MariaDB-log MariaDB Server

但是使用python MySQLdb库连接到套接字失败:

$ python
Python 2.7.5 (default, Sep 12 2018, 05:31:16) 
>>> import MySQLdb
>>> MySQLdb.connect(unix_socket='/var/lib/mysql/mysql.sock')
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

MariaDB与MySQL的兼容性是否有问题? 有人可以复制吗?

它不是无密码的根帐户。 这是一个带有默认密码的密码。 mysql只是从/etc/my.cnf.d/文件夹自动读取

[client]
socket   = /var/lib/mysql/mysql.sock
host     = localhost
user     = root
password = ...

要调试mysql CLI行为与python MySQLdb行为,可以运行

mysql --no-defaults

已经为我重现了行为,所以我继续:

mysql --no-defaults --socket=/var/lib/mysql/mysql.sock
mysql --no-defaults --socket=/var/lib/mysql/mysql.sock --user=root

然后想到了更深入地研究/etc/my.cnf.d/文件夹的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM