Spec-Zone.ru › MySQL Connectors 1.0

2.1 Пример подключения к базе данных

Код, необходимый для подключения к хранилищу документов MySQL, очень похож на традиционный код подключения к MySQL, но теперь приложения могут устанавливать логические сессии к экземплярам сервера MySQL, работающим с плагином X. Сессии создаются фабрикой mysqlx, и возвращаемые сессии могут оборачивать доступ к одному или нескольким экземплярам сервера MySQL, работающим с плагином X. Приложения, использующие объекты Session по умолчанию, могут быть развернуты как на установках с одним сервером, так и на кластерах баз данных без изменений кода.

Создайте сессию X DevAPI, используя метод mysqlx.getSession(connection). Вы передаете параметры подключения для подключения к серверу MySQL, такие как хост и имя пользователя, очень похожим образом на код в одном из классических API. Параметры подключения могут быть указаны как строка типа URI, например user:@localhost:33060, или как словарь данных, например {user: myuser, password: mypassword, host: example.com, port: 33060}. Смотрите для получения дополнительной информации.

Аккаунт MySQL, используемый для подключения, должен использовать либо плагин аутентификации mysql_native_password, либо caching_sha2_password, см. . Сервер, к которому вы подключаетесь, должен иметь включенные зашифрованные соединения, по умолчанию в MySQL 8.0 и более поздних версиях. Это гарантирует, что клиент использует механизм паролей X Protocol PLAIN, который работает с учетными записями пользователей, использующими любой из плагинов аутентификации. Если вы пытаетесь подключиться к экземпляру сервера, на котором не включены зашифрованные соединения, для учетных записей пользователей, использующих плагин аутентификации mysql_native_password, сначала производится попытка аутентификации с помощью MYSQL41, а для учетных записей пользователей, использующих caching_sha2_password, аутентификация переходит к SHA256_MEMORY.

Следующий пример кода демонстрирует, как подключиться к серверу MySQL и получить документ из коллекции my_collection, у которого поле name начинается с L. Пример предполагает, что существует схема с именем test и существует коллекция my_collection. Чтобы пример заработал, замените user своим именем пользователя и password своим паролем. Если вы подключаетесь к другому хосту или через другой порт, измените хост с localhost и порт с 33060.

from mysqlsh import mysqlx

# Connect to server on localhost
mySession = mysqlx.get_session( {
        'host': 'localhost', 'port': 33060,
        'user': 'user', 'password': 'password' } )

myDb = mySession.get_schema('test')

# Use the collection 'my_collection'
myColl = myDb.get_collection('my_collection')

# Specify which document to find with Collection.find() and
# fetch it from the database with .execute()
myDocs = myColl.find('name like :param').limit(1).bind('param', 'L%').execute()

# Print document
document = myDocs.fetch_one()
print(document)

mySession.close()
    

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/x-devapi-userguide-shell-python-en/database-connection-example.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API