MySQL – это распространенный открытый исходный код реляционная база данных для создания, чтения, обновления и удаление данных в веб-приложениях Python. Давайте узнаем, как установить MySQL на Ubuntu 16.04, а затем выполнить несколько SQL-запросов в клиенте командной строки.
Мы не будем переходить к подключению через приложения Python, используя объектно-реляционные преобразователи (ORM) но эти шаги можно использовать как предварительное условие для работы с ORM, например как SQLAlchemy или Peewee.
Инструменты, которые нам нужны
В этом руководстве мы будем использовать следующие компоненты:
- Ubuntu 16.04.2 (это руководство
- также должен работать с другими версиями Ubuntu)
- MySQL
Установить MySQL
Мы можем установить MySQL с помощью диспетчера пакетов apt
. Сначала убедитесь ваш список пакетов обновлен. Откройте терминал и запустите этот apt
команда.
sudo apt-get update
Нам нужно установить пакет mysql-server
, который загружает необходимые файлы, настраивает начальную настройку базы данных и обрабатывает запуск MySQL как системная услуга. Запустите эту команду apt
, чтобы запустить процесс.
sudo apt-get install mysql-server
Введите “y” при появлении запроса, хотите ли вы установить новый пакет.
Административный экран с запросом нового пароля root появится в середина процесса установки пакета. Введите выбранный вами новый пароль дважды, и установка продолжится.
Через мгновение установка завершится, и вы вернетесь к команде незамедлительный.
MySQL теперь установлен с пользователем root. Однако мы не хотим, чтобы наши приложения подключаются к базе данных с этим пользователем, поэтому теперь мы создать нового пользователя без полномочий root.
Обеспечение безопасности MySQL
MySQL устанавливается с базовой конфигурацией, предназначенной для разработки и тестирования. целей. Однако конфигурация небезопасна для производственных сред, поэтому он поставляется с утилитой для обеспечения базовой безопасности. Запустить следующую команду и ответьте на вопросы в зависимости от вашей среды требования.
sudo mysql_secure_installation
Когда вы закончите запуск скрипта, вы должны увидеть следующий результат и вернитесь в командную строку.
У нашего экземпляра MySQL есть базовая защита, но нам нужно создать пользователь без полномочий root для приложений, которые могут взаимодействовать с базой данных.
Создание пользователей MySQL
Чтобы создать пользователя без полномочий root, подключитесь к экземпляру MySQL с mysql
клиент командной строки.
mysql -u root -p
Теперь используйте команду CREATE USER
, чтобы создать нового пользователя. Удостовериться в замените mynewuser и goodPassword своими собственными значениями.
CREATE USER 'mynewuser'@'localhost' IDENTIFIED BY 'goodPassword';
Нет вывода после команды – это значит, что команда выполнена успешно.
Нам нужно применить привилегии к новому пользователю, чтобы он мог обрабатывать базовую базу данных. операции. Опять же, не забудьте заменить имя пользователя по умолчанию в этой команде с вашим новым именем пользователя.
GRANT ALL PRIVILEGES ON * . * TO 'mynewuser'@'localhost';
Рекомендуется перезагрузить привилегии, чтобы убедиться, что наш новый пользователь разрешения есть.
FLUSH PRIVILEGES;
Теперь, когда наши разрешения перезагружены, мы можем подключиться к новому пользователю.
Подключение нового пользователя
Мы настроены на подключение к базе данных с нашим новым пользователем. Выйти из MySQL клиент с “Ctrl-d”. Подключитесь заново, используя команду, немного отличную от мы использовали ранее.
mysql -u mynewuser -p
Создайте новую базу данных с помощью команды CREATE DATABASE
.
CREATE DATABASE fullstackpython;
Подключитесь к новой базе данных с помощью команды USE
.
use fullstackpython;
Создайте простую новую таблицу с помощью команды CREATE TABLE
.
CREATE TABLE pages (name VARCHAR(50), url VARCHAR(1024));
Наша таблица готова к работе – мы можем взаимодействовать с ней, используя Команды SQL SELECT
, INSERT
, UPDATE
и DELETE
.
Что дальше?
Теперь наш экземпляр MySQL установлен и готов к взаимодействию. Взгляните на MySQL, реляционные базы данных и объектно-реляционные преобразователи (ORM) страницы для дополнительных руководств.
Вопросов? Твитнуть @fullstackpython или опубликуйте сообщение на Страница Full Stack Python на Facebook .
Что-то не так в этом посте? Вилка исходный код этой страницы на GitHub и отправьте запрос на перенос.