Подключение к MariaDB с помощью PyMySQL

PyMySQL — это бесплатный проект с открытым исходным кодом, выпущенный под лицензией MIT. PyMySQL — это библиотека MySQL, которую можно использовать для взаимодействия с базой данных. Вы можете подключаться к базе данных MySQL и управлять ею из Python с помощью PyMySQL. PyMySQL поддерживает версию MySQL/MariaDB выше 5.5. PyMySQL — это замена MySQLdb, которая реализует Python Database API v2.0.

В этом руководстве мы узнаем, как подключить MariaDB к PyMySQL на сервере Ubuntu 18.04.

Требования

  • Сервер под управлением Ubuntu 18.04.
  • На вашем сервере установлен пароль root

Начало работы

Перед началом рекомендуется обновить репозиторий и пакеты до последней версии. Вы можете сделать это с помощью следующей команды:

apt-get update -y
apt-get upgrade -y

После обновления сервера перезапустите его, чтобы применить все изменения.

Установить необходимые пакеты

Сначала вам нужно будет установить сервер MariaDB и некоторые необходимые пакеты, чтобы установить PyMySQL. Вы можете установить их все с помощью следующей команды:

apt-get install mariadb-server git build-essential python-babel zlib1g-dev
libffi-dev libssl-dev libxslt-dev python-dev python-virtualenv -y

После установки всех пакетов запустите службу MariaDB и включите ее запуск во время загрузки с помощью следующей команды:

systemctl start mariadb
systemctl enable mariadb

Создать базу данных

Далее , вам нужно будет создать базу данных, пользователя базы данных и таблицу на вашем сервере.

Сначала войдите в оболочку MariaDB с помощью следующей команды:

mysql -u root -p

При появлении запроса введите пароль root, затем создайте базу данных и пользователя с помощью следующей команды:

MariaDB [(none)]> создать базу данных testdb;
MariaDB [(none)]> предоставить все привилегии на testdb. * ‘testuser’ @ ‘localhost’, идентифицированному
‘password’ ;

Затем очистите базу данных с помощью следующих команда:

MariaDB [(none)]> привилегии очистки;

Затем измените базу данных на testdb и создайте таблицу с следующая информация:

MariaDB [(none)]> использовать testdb;

MariaDB [testdb]> СОЗДАТЬ ТАБЛИЦУ `users` (` id` int (11) NOT NULL AUTO_INCREMENT,
`email` varchar (255) COLLATE utf8_bin NOT NULL,` password` varchar (255) COLLATE
utf8_bin NOT NULL, PRIMARY KEY (`id` )) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_bin
AUTO_INCREMENT = 1;

Затем выйдите из оболочки MariaDB с помощью следующей команды:

MariaDB [testdb]> exit;

Настройка виртуальной среды Python

Затем вам нужно будет настроить виртуальная среда Python в вашей системе.

Чтобы создать виртуальную среду, выполните следующую команду:

cd/opt/ virtualenv -p/usr/bin/python2. 7 sqlenv

Вывод:

Запуск virtualenv с интерпретатором/usr/bin/python2.7
Новый питон исполняемый файл в/opt/sqlenv/bin/python2.7
Также создание исполняемого файла в/opt/sqlenv/bin/python
Установка setuptools, pkg_resources, pip, wheel … готово.

Затем активируйте виртуальную среду с помощью следующей команды:

source sqlenv/bin/activate
(sqlenv) [ email protected]:/opt #

Установите и протестируйте PyMySQL

Затем установите библиотеку PyMySQL в виртуальной среде с помощью следующей команды:

pip install pymysql

Вывод:

Сбор pymysql
Загрузка https://files.pythonhosted.org/packages/ed/39/15045ae46f2a123019aa968dfcba0396
c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47kB)
| ██ █████████████████████████████ | 51 КБ 644 КБ/с
Установка собранных пакетов: pymysql
Успешно установлен pymysql-0.9.3

Затем установите соединитель Python MySQL с помощью следующей команды:

pip install mysql-connector-python

Вывод:

Сбор mysql-connector-python
Скачивание https://files.pythonhosted.org/packages/80/58/6a7943792a9b0c627c569ebcead
62bfd4bfc5fdb99241594f198e82f42fb/mysql_connector > manylinux1_x86_64.whl (13,1 МБ) | ███████████████████████████████ | 13,1 МБ 1,8 МБ/с
Сбор protobuf> = 3.0.0 (из mysql-connector-python)
Загрузка https://files.pythonhosted.org/packages/b2/a8/ad407cd2a56a052d92f602e164
a9e16bede22079252af0db3838f375b6a8/protobuf-3.8.0-cp27-cp27mu-manylinux1_x86_64.whl
(1,2 МБ) | █████████████████████ ███████████ | 1,2 МБ 1,6 МБ/с
Сбор шести> = 1,9 (из protobuf> = 3.0.0-> mysql-connector-python)
Загрузка https://files.pythonhosted.org/packages/ 73/fb/00a976f728d0d1fecfe898238
ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Требование уже выполнено: инструменты настройки в ./sqlenthonv/lib пакеты
(from protobuf> = 3.0.0-> mysql-connector-python) (41.0.1)
Установка собранных пакетов: шесть, protobuf, mysql-connector-python
Успешно установлен mysql-connector-python-8.0.16 protobuf-3.8.0 six-1.12.0

Затем создайте образец кода Python для подключения к базе данных MySQL.

nano/opt/sqlenv/connectmysql.py

Добавьте следующие строки:

import pymysql.cursors

# Подключиться к базе данных
connection = pymysql.connect (host = ‘localhost’,
user = ‘testuser’,
пароль = ‘пароль’,
db = ‘testdb’,
charset = ‘utf8mb4’,
cursorclass = pymysql.cursors.DictCursor)

т ry:
с connection.cursor () в качестве курсора:
# Создать новую запись
sql = «INSERT INTO` users` (`email`,` password`) VALUES ( % s,% s) «
курсор. execute (sql, (‘[email protected]’, ‘very-secret’))

# по умолчанию соединение не фиксируется автоматически. Поэтому вы должны сохранить
# свои изменения.
connection.commit ()

с connection.cursor () в качестве курсора:
# Прочтите одну запись
sql = «SELECT` id`, `password` FROM` users` WHERE `email` =% s»
cursor.execute (sql, (‘[электронная почта защищена]’ ,))
result = cursor.fetchone ()
print (result)
finally:
connection.close ()

Сохраните и закройте файл. Затем запустите код Python с помощью следующей команды:

python sqlenv/connectmysql.py

После успешного установления соединения вы должны увидеть следующий результат:

{u’password ‘: u’very-secret’, u’id ‘: 1}

Поздравляю! вы успешно установили PyMySQL на свой сервер и подключили его к базе данных MariaDB.

Оцените статью
nanomode.ru
Добавить комментарий