Craftum: вебинар 19 мая
Редизайн вашего сайта в прямом эфире
+ разбор 5 проектов
979

Подключение к удалённому Mysql серверу.

1 ответ

Добрый день. Не могу подключиться к Mysql серверу. Если быть точнее, то подключение к серверу и вход в Mysql через консоль работает, но с помощью яп Python у меня не получается этого сделать. Многое перепробывал, но ничего не выходит.

Вот мой код:
 

from sshtunnel import SSHTunnelForwarder

server = SSHTunnelForwarder(
    'vh394.timeweb.ru',
    ssh_username='cc70818',
    ssh_password='my_password',
    remote_bind_address=('127.0.0.1', 3306)
)

server.start()

connector = pymysql.connect(
    host="37.76.166.225", #мой ip (так же пробовал через 127.0.0.1)
    port=server.local_bind_port,
    user="cc70818_1",
    password="db_password",
    database="cc70818_1",
)
server.stop()

После выполнения кода получаю вот такую ошибку:
 

Traceback (most recent call last):
  File "/home/kostya/.local/lib/python3.8/site-packages/pymysql/connections.py", line 613, in connect
    sock = socket.create_connection(
  File "/usr/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kostya/PycharmProjects/my_project_/mysql_/mysql_class.py", line 89, in <module>
    connector = pymysql.connect(
  File "/home/kostya/.local/lib/python3.8/site-packages/pymysql/connections.py", line 353, in __init__
    self.connect()
  File "/home/kostya/.local/lib/python3.8/site-packages/pymysql/connections.py", line 664, in connect
    raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '37.76.166.225' ([Errno 111] Connection refused)")

 

Но почему так происходит я не понимаю, ведь с консоли всё получается. Буду рад любой помощи (помогите пожалуйста).

Ответы (1)

Александр 0
22.12.2021 23:51
Использую MySQL Connector:

pip install mysql-connector-python

Скрипт (виртуальный хостинг Ubuntu 18.04.6 LTS, Python 3.6.9):

import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="cc40000_mydb",
password="12345678",
database="cc40000_mydb"
)
cursor = db.cursor()
cursor.execute("SELECT * FROM STATS LIMIT 10")
result = cursor.fetchall()
for x in result:
print(x)

Похожие вопросы

Ошибка выбора базы данных! Что делать?

Здравствуйте. У меня возникла проблема: я залил скрипт сайта через файлзиллу, указал путь к базе данных, сделал базу, но при переходе выбиает ошибкувыбора базы данных. Я пытался менять версию python в настройках, даже кодировку, но всё безрезультатно. 
Cristall Orakul
53

востановление домена и сайта

Здравствуйте. Возможно ли восстановить домент и сайт, размещенный на вашем хостинге. http/cristallorakul.ru и что для этого необходимо? Благодарю за обратную связь
Роман Путинко
825

Неделю не заходил на сайт, сейчас решил зайти и вот такая надпись...

Неделю не заходил на сайт, сейчас решил зайти и вот такая надпись... Error. Page cannot be displayed. Please contact your service provider for more details. Что это означает и что делать?
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте