【发布时间】:2021-06-10 18:54:26
【问题描述】:
我正在尝试连接到我的本地 mysqlserver。
以下代码在另一台机器上工作:
root@host> mysql --protocol=SOCKET
MariaDB [(none)]>
root@host> ls -la /var/run/mysqld/mysqld.sock
srwxrwxrwx 1 mysql mysql 0 Jun 9 20:27 /var/run/mysqld/mysqld.sock
root@host> python3
>>> import mysql.connector
>>> mysql.connector.connect( unix_socket='/var/run/mysqld/mysqld.sock' )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/mysql/connector/__init__.py", line 173, in connect
return MySQLConnection(*args, **kwargs)
File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 102, in __init__
self.connect(**kwargs)
File "/usr/lib/python3/dist-packages/mysql/connector/abstracts.py", line 735, in connect
self._open_connection()
File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 250, in _open_connection
self._do_auth(self._user, self._password,
File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 172, in _do_auth
self._auth_switch_request(username, password)
File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 216, in _auth_switch_request
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1698 (28000): Access denied for user ''@'localhost'
问题的根源可能是什么?
注意
- 出于某种原因,我想使用 Socket 而不是 TCP。
- 我不想使用用户名/密码。
- 这适用于我的另一台主机,但我不知道为什么它不能在这个主机上运行。
【问题讨论】:
-
错误显示
Access denied for user ''@'localhost',因此您无法使用空用户访问它。 -
感谢您的评论。我尝试添加 user="root" 但这导致
1698 (28000): Access denied for user 'root'@'localhost' -
你试过
password= ..吗?我在使用mysql-connector连接时遇到问题,但在我删除它并安装mysql-connector-python(由 MySQL 创建)时没有问题
标签: python mysql mysql-python