如何通过python连接到MariaDB?

2024-04-28 21:21:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从MariaDB服务器(位于不同的网络中)检索一些数据。 我可以通过phpmyadmin访问服务器,但无法通过python脚本连接到它。 在MariaDB documentation之后,我编写了以下Python代码:

# Module Imports
import mariadb
import sys

# Connect to MariaDB Platform
try:
    conn = mariadb.connect(
        user="myUSER",
        password= "myPSW",
        host="localhost"
        port=3306,
        database="myDATABASE"

    )
except mariadb.Error as e:
    print(f"Error connecting to MariaDB Platform: {e}")
    sys.exit(1)

# Get Cursor
cur = conn.cursor()

这不起作用,我得到以下错误:

Error connecting to MariaDB Platform: Can't connect to MySQL server on 'localhost' (10061)
Process finished with exit code 1

我从这里检索了MariaDB信息:

enter image description here

我是否遗漏了一些重要的要点


Tags: to数据import网络服务器localhostconnectsys
2条回答

安装MySQL驱动程序 Python需要一个MySQL驱动程序来访问MySQL数据库

我建议您使用PIP安装“MySQL连接器”

PIP很可能已经安装在Python环境中

将命令行导航到PIP的位置,然后键入以下内容:

下载并安装“MySQL连接器”:

C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>python -m pip install mysql-connector-python

现在您已经下载并安装了MySQL驱动程序

测试MySQL连接器 要测试安装是否成功,或者是否已经安装了“MySQL连接器”,请创建一个包含以下内容的Python页面:

测试:

    import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword"
)
print(mydb)

我发现用127.0.0.1代替localhost解决了我的问题

安装MariaDB连接器/C,它是一个依赖项

sudo apt-get install libmariadb3 libmariadb-dev

使用PIP安装MariaDB连接器/Python

pip3 install mariadb

这两种方法对我都有效:

import mariadb
import sys

try:
    # connection parameters
    conn_params = {
        'user' : "harley",
        'password' : "KTJ7UCS74mv]hh[I",
        'host' : "127.0.0.1",
        'port' : 3306,
        'database' : "phishing_emails"
    }

    # establish a connection
    connection = mariadb.connect(**conn_params)
    cursor = connection.cursor()
    
except mariadb.Error as e:
    print(f"Error connecting to MariaDB Platform: {e}")
    sys.exit(1)
    
print(cursor)

或者

import mariadb
import sys

# Connect to MariaDB Platform
try:
    connection = mariadb.connect(
        user = "harley",
        password = "KTJ7UCS74mv]hh[I",
        host = "127.0.0.1",
        port = 3306,
        database = "phishing_emails"

    )
    
    # Get Cursor
    cursor = connection.cursor()

except mariadb.Error as e:
    print(f"Error connecting to MariaDB Platform: {e}")
    sys.exit(1)

print(cursor)

相关问题 更多 >