pymysql 命令的正确语法是什么?

What is the correct syntax for pymysql commands?

我无法执行查询。

pymysql 已使用 pip install pymymql 安装。

代码

import pymysql

db = pymysql.connect(host='localhost', user='root', passwd='')
cursor = db.cursor()
query = ("SHOW DATABASES")
cursor.execute(query)

for r in cursor:
    print (r)

错误

Traceback (most recent call last):
  File "C:\Users\Ironman\Desktop\testdbase.py", line 2, in <module>
    db = pymysql.connect(host='localhost',user='root',passwd='')
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\connections.py", line 325, in __init__
    self.connect()
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\connections.py", line 585, in connect
    self._request_authentication()
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\connections.py", line 847, in _request_authentication
    auth_packet = self._read_packet()
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\connections.py", line 670, in _read_packet
    packet.check_error()
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "C:\Users\Ironman\AppData\Local\Programs\Python\Python37-32\pymysql\err.py", line 104, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

我只是错过了港口。在我的 XAMPP 实例中是 9321。