У меня есть база данных MariaDB в NAS-устройстве Synology.
Я пытаюсь получить доступ к базе данных с помощью python, но он возвращает базу данных, которая есть у меня на компьютере (использует те же учетные данные).
Представленное решение здесь не решает мою проблему.
Я считаю, что это какое-то полномочие, которое неправильно определено, но я не могу определить, какой именно.
import pymysql
import pandas as pd
from sshtunnel import SSHTunnelForwarder
sql_hostname = '192.168.1.21'
sql_username = 'root'
sql_password = 'Password'
sql_main_database = 'cm'
sql_port = 3306
ssh_host = '192.168.1.21'
ssh_password = 'Password'
ssh_user = 'admin'
localhost = '127.0.0.1'
ssh_port = 22
with SSHTunnelForwarder(
(ssh_host, ssh_port),
ssh_username=ssh_user,
ssh_password=ssh_password,
remote_bind_address=(sql_hostname, sql_port)) as tunnel:
print(" local bind port = ", tunnel.local_bind_port)
conn = pymysql.connect(host=localhost, user=sql_username,
passwd=sql_password)
query = '''show databases;'''
data = pd.read_sql_query(query, conn)
conn.close()
data