Руководство по проектированию реляционных баз данных (1-3 часть из 15) [перевод]
Перевод цикла из 15 статей о проектировании баз данных.
Информация предназначена для новичков.
Помогло мне. Возможно, что поможет еще кому-то восполнить пробелы.
Другие части: 4-6, 7-9, 10-13, 14-15.
Руководство по проектированию баз данных.
1. Вступление.
Если вы собираетесь создавать собственные базы данных, то неплохо было бы придерживаться правил проектирования баз данных, так как это обеспечит долговременную целостность и простоту обслуживания ваших данных. Данное руководство расскажет вам что представляют из себя базы данных и как спроектировать базу данных, которая подчиняется правилам проектирования реляционных баз данных.
Базы данных – это программы, которые позволяют сохранять и получать большие объемы связанной информации. Базы данных состоят из таблиц, которые содержат информацию. Когда вы создаете базу данных необходимо подумать о том, какие таблицы вам нужно создать и какие связи существуют между информацией в таблицах. Иначе говоря, вам нужно подумать о проекте вашей базы данных. Хороший проект базы данных, как было сказано ранее, обеспечит целостность данных и простоту их обслуживания.
Структурированный язык запросов (SQL).
База данных создается для хранения в ней информации и получения этой информации при необходимости. Это значит, что мы должны иметь возможность помещать, вставлять (INSERT) информацию в базу данных и мы хотим иметь возможность делать выборку информации из базы данных (SELECT).
Язык запросов к базам данных был придуман для этих целей и был назван Структурированный язык запросов или SQL. Операции вставки данных (INSERT) и их выборки (SELECT) – части этого самого языка. Ниже приведен пример запроса на выборку данных и его результат.
SQL – большая тема для повествования и его рассмотрение выходит за рамки данного руководства. Данная статья строго сфокусирована на изложении процесса проектирования баз данных. Позднее, в отдельном руководстве, я расскажу об основах SQL.
Реляционная модель.
В этом руководстве я покажу вам как создавать реляционную модель данных. Реляционная модель – это модель, которая описывает как организовать данные в таблицах и как определить связи между этими таблицами.
Правила реляционной модели диктуют, как информация должна быть организована в таблицах и как таблицы связаны друг с другом. В конечном счете результат можно предоставить в виде диаграммы базы данных или, если точнее, диаграммы «сущность-связь», как на рисунке (Пример взят из MySQL Workbench).
Примеры.
В качестве примеров в руководстве я использовал ряд приложений.
РСУБД.
РСУБД, которую я использовал для создания таблиц примеров – MySQL. MySQL – наиболее популярная РСУБД и она бесплатна.
Утилита для администрирования БД.
После установки MySQL вы получаете только интерфейс командной строки для взаимодействия с MySQL. Лично я предпочитаю графический интерфейс для управления моими базами данных. Я часто использую SQLyog. Это бесплатная утилита с графическим интерфейсом. Изображения таблиц в данном руководстве взяты оттуда.
Визуальное моделирование.
Существует отличное бесплатное приложение MySQL Workbench. Оно позволяет спроектировать вашу базу данных графически. Изображения диаграмм в руководстве сделаны в этой программе.
Проектирование независимо от РСУБД.
Важно знать, что хотя в данном руководстве и приведены примеры для MySQL, проектирование баз данных независимо от РСУБД. Это значит, что информация применима к реляционным базам данных в общем, не только к MySQL. Вы можете применить знания из этого руководства к любым реляционным базам данных, подобным Mysql, Postgresql, Microsoft Access, Microsoft Sql or Oracle.
В следующей части я коротко расскажу об эволюции баз данных. Вы узнаете откуда взялись базы данных и реляционная модель данных.
2. История.
В 70-х – 80-х годах, когда компьютерные ученые все еще носили коричневые смокинги и очки с большими, квадратными оправами, данные хранились бесструктурно в файлах, которые представляли собой текстовый документ с данными, разделенными (обычно) запятыми или табуляциями.
Так выглядели профессионалы в сфере информационных технологий в 70-е. (Слева внизу находится Билл Гейтс).
Текстовые файлы и сегодня все еще используются для хранения малых объемов простой информации. Comma-Separated Values (CSV) — значения, разделённые запятыми, очень популярны и широко поддерживаются сегодня различным программным обеспечением и операционными системами. Microsoft Excel – один из примеров программ, которые могут работать с CSV–файлами. Данные, сохраненные в таком файле могут быть считаны компьютерной программой.
Выше приведен пример того, как такой файл мог бы выглядеть. Программа, производящая чтение данного файла, должна быть уведомлена о том, что данные разделены запятыми. Если программа хочет выбрать и вывести категорию, в которой находится урок ‘Database Design Tutorial’, то она должна строчка за строчкой производить чтение до тех пор, пока не будут найдены слова ‘Database Design Tutorial’ и затем ей нужно будет прочитать следующее за запятой слово для того, чтобы вывести категорию Software.
Таблицы баз данных.
Чтение файла строчка за строчкой не является очень эффективным. В реляционной базе данных данные хранятся в таблицах. Таблица ниже содержит те же самые данные, что и файл. Каждая строка или “запись” содержит один урок. Каждый столбец содержит какое-то свойство урока. В данном случае это заголовок (title) и его категория (category).
Компьютерная программа могла бы осуществить поиск в столбце tutorial_id данной таблицы по специфическому идентификатору tutorial_id для того, чтобы быстро найти соответствующие ему заголовок и категорию. Это намного быстрее, чем поиск по файлу строка за строкой, подобно тому, как это делает программа в текстовом файле.
Современные реляционные базы данных созданы так, чтобы позволять делать выборку данных из специфических строк, столбцов и множественных таблиц, за раз, очень быстро.
История реляционной модели.
Реляционная модель баз данных была изобретена в 70-х Эдгаром Коддом (Ted Codd), британским ученым. Он хотел преодолеть недостатки сетевой модели баз данных и иерархической модели. И он очень в этом преуспел. Реляционная модель баз данных сегодня всеобще принята и считается мощной моделью для эффективной организации данных.
Сегодня доступен широкий выбор систем управления базами данных: от небольших десктопных приложений до многофункциональных серверных систем с высокооптимизированными методами поиска. Вот некоторые из наиболее известных систем управления реляционными базами данных (РСУБД):
— Oracle – используется преимущественно для профессиональных, больших приложений.
— Microsoft SQL server – РСУБД компании Microsoft. Доступна только для операционной системы Windows.
— Mysql – очень популярная РСУБД с открытым исходным кодом. Широко используется как профессионалами, так и новичками. Что еще нужно?! Она бесплатна.
— IBM – имеет ряд РСУБД, наиболее известна DB2.
— Microsoft Access – РСУБД, которая используется в офисе и дома. На самом деле – это больше, чем просто база данных. MS Access позволяет создавать базы данных с пользовательским интерфейсом.
В следующей части я расскажу кое-что о характеристиках реляционных баз данных.
3. Характеристики реляционных баз данных.
Реляционные базы данных разработаны для быстрого сохранения и получения больших объемов информации. Ниже приведены некоторые характеристики реляционных баз данных и реляционной модели данных.
Использование ключей.
Каждая строка данных в таблице идентифицируется уникальным “ключом”, который называется первичным ключом. Зачастую, первичный ключ это автоматически увеличиваемое (автоинкрементное) число (1,2,3,4 и т.д). Данные в различных таблицах могут быть связаны вместе при использовании ключей. Значения первичного ключа одной таблицы могут быть добавлены в строки (записи) другой таблицы, тем самым, связывая эти записи вместе.
Используя структурированный язык запросов (SQL), данные из разных таблиц, которые связаны ключом, могут быть выбраны за один раз. Для примера вы можете создать запрос, который выберет все заказы из таблицы заказов (orders), которые принадлежат пользователю с идентификатором (id) 3 (Mike) из таблицы пользователей (users). О ключах мы поговорим далее, в следующих частях.
Столбец id в данной таблице является первичным ключом. Каждая запись имеет уникальный первичный ключ, часто число. Столбец usergroup (группы пользователей) является внешним ключом. Судя по ее названию, она видимо ссылается на таблицу, которая содержит группы пользователей.
Отсутствие избыточности данных.
В проекте базы данных, которая создана с учетом правил реляционной модели данных, каждый кусочек информации, например, имя пользователя, хранится только в одном месте. Это позволяет устранить необходимость работы с данными в нескольких местах. Дублирование данных называется избыточностью данных и этого следует избегать в хорошем проекте базы данных.
Ограничение ввода.
Используя реляционную базу данных вы можете определить какой вид данных позволено сохранять в столбце. Вы можете создать поле, которое содержит целые числа, десятичные числа, небольшие фрагменты текста, большие фрагменты текста, даты и т.д.
Когда вы создаете таблицу базы данных вы предоставляете тип данных для каждого столбца. К примеру, varchar – это тип данных для небольших фрагментов текста с максимальным количеством знаков, равным 255, а int – это числа.
Помимо типов данных РСУБД позволяет вам еще больше ограничить возможные для ввода данные. Например, ограничить длину или принудительно указать на уникальность значения записей в данном столбце. Последнее ограничение часто используется для полей, которые содержат регистрационные имена пользователей (логины), или адреса электронной почты.
Эти ограничения дают вам контроль над целостностью ваших данных и предотвращают ситуации, подобные следующим:
— ввод адреса (текста) в поле, в котором вы ожидаете увидеть число
— ввод индекса региона с длинной этого самого индекса в сотню символов
— создание пользователей с одним и тем же именем
— создание пользователей с одним и тем же адресом электронной почты
— ввод веса (числа) в поле дня рождения (дата)
Поддержание целостности данных.
Настраивая свойства полей, связывая таблицы между собой и настраивая ограничения, вы можете увеличить надежность ваших данных.
Назначение прав.
Большинство РСУБД предлагают настройку прав доступа, которая позволяет назначать определенные права определенным пользователям. Некоторые действия, которые могут быть позволены или запрещены пользователю: SELECT (выборка), INSERT (вставка), DELETE (удаление), ALTER (изменение), CREATE (создание) и т.д. Это операции, которые могут быть выполнены с помощью структурированного языка запросов (SQL).
Структурированный язык запросов (SQL).
Для того, чтобы выполнять определенные операции над базой данных, такие, как сохранение данных, их выборка, изменение, используется структурированный язык запросов (SQL). SQL относительно легок для понимания и позволяет в т.ч. и уложненные выборки, например, выборка связанных данных из нескольких таблиц с помощью оператора SQL JOIN. Как и упоминалось ранее, SQL в данном руководстве обсуждаться не будет. Я сосредоточусь на проектировании баз данных.
То, как вы спроектируете базу данных будет оказывать непосредственное влияние на запросы, которые вам будет необходимо выполнить, чтобы получить данные из базы данных. Это еще одна причина, почему вам необходимо задуматься о том, какой должна быть ваша база. С хорошо спроектированной базой данных ваши запросы могут быть чище и проще.
Переносимость.
Реляционная модель данных стандартна. Следуя правилам реляционной модели данных вы можете быть уверены, что ваши данные могут быть перенесены в другую РСУБД относительно просто.
Как говорилось ранее, проектирование базы данных – это вопрос идентификации данных, их связи и помещение результатов решения данного вопроса на бумагу (или в компьютерную программу). Проектирование базы данных независимо от РСУБД, которую вы собираетесь использовать для ее создания.
В следующей части подробнее рассмотрим первичные ключи.
Создание нового пользователя в MySQL и предоставление разрешения базы данных MySQL
В этой статье мы расскажем, как создать новые права доступа пользователей и привилегии для этого пользователя в MySQL. MySQL является реляционной базой данных с открытым исходным кодом, управляемая системой (СУБД), которая позволяет пользователям и приложениям сохранять, организовывать, и получить свои данные. Она имеет систему контроля доступа, которая состоит из разрешений, которые пользователи могут иметь в таблицах и базах данных, мы посмотрим на некоторые из вариантов этой системы контроля доступа описанные позже в этом руководстве.
Давайте начнем с входа в систему
Чтобы войти в нашу систему MySQL, мы используем следующую команду:
# mysql -u root -p
При выполнении этой команды мы говорим клиенту MySQL, что мы входим в с суперпользователем и указываем пароль пользователя.
Если вы не установили MySQL на сервере, вы можете проверить статью о том, как установить MySQL на Ubuntu 16.04.
Создание нового пользователя
Теперь, когда мы находимся внутри нашего сервера MySQL мы можем поручить MySQL, чтобы создать нового пользователя с помощью следующего запроса:
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
Совет: всегда используйте надежный пароль для всех учетных записей. Который Вы можете сгенерировать из командной строки.
Еще одна интересная вещь, об этой команде является то, что имя хоста нового пользователя, которого мы только что создали может быть другое имя хоста или IP – адрес, если мы хотим, чтобы пользователь вошел в систему удаленно.
В качестве примера:
CREATE USER 'new_user'@'10.20.30.111' IDENTIFIED BY 'password';
Допустим, мы хотим предоставить нашему новому пользователю права доступа, так что они могут считывать данные из всех баз данных на нашем сервере MySQL. Мы делаем это, введя следующую команду:
GRANT SELECT ON *.* TO 'new_user'@'localhost';
При выполнении запроса выше мы поручаем MySQL, дать нашему новому пользователю разрешения использовать команду SELECT, для чтения из базы данных на нашем сервере MySQL, мы использовали ключевое слово SELECT, для того, чтобы сделать это. GRANT SELECT, сообщает MySQL, что пользователь не будет иметь ничего, кроме разрешений на чтение данных из данной базы данных или баз данных. Предоставление разрешений, как правило, осуществляется в следующем формате:
GRANT <permission type> ON <database>.<table> TO '<username>'@'<host>';
Мы также можем поручить MySQL, забрать определенное разрешение от пользователя в том же формате, что и выше, только заменив ключевое слово GRANT на REVOKE и ключевое слово TO на FROM:
REVOKE <permission type> ON <database>.<table> FROM '<username>'@'<host>';
Примечание:
Звездочки, которые мы используем для позиций баз данных и таблиц в запросе выше, маска и соответствует любой базе данных или таблицы в зависимости от позиции.
Для того, чтобы наши новые установленные разрешения вступили в силу, нам нужно перезагрузить все привилегии:
FLUSH PRIVILEGES;
Предоставление пользователям других видов разрешений
В предыдущем разделе мы видели, как предоставить разрешения на чтение для пользователя с помощью ключевого слова SELECT. В этом разделе мы рассмотрим другие ключевые слова, которые позволят устанавливать различные типы разрешений на пользователе.
- USAGE – дает пользователю право доступа для входа на сервер MySQL (задается по умолчанию при создании нового пользователя)
- SELECT – дает пользователю разрешение на использование команды выбора для извлечения данных из таблиц
- INSERT – дает разрешение на добавление новых строк в таблицах
- UPDATE – дает пользователю право изменять существующие строки в таблицах
- DELETE – дает пользователю право удалять существующие строки из таблиц
- CREATE – дает пользователю разрешение для создания новых таблиц или баз данных
- DROP – дает пользователю право удалить существующие таблицы или базы данных
- ALL PRIVILEGES – дает пользователю право иметь неограниченный доступ на базы данных или всей системы (с помощью звездочки в позиции базы данных)
- GRANT OPTION – дает пользователю право разрешать или удалять разрешения других пользователей
Удаление пользователей осуществляется таким же образом, как и с базами данных или таблицами с помощью команды DROP:
DROP USER 'new_user'@'localhost';
Наконец, мы можем протестировать нашего нового пользователя, введите следующую команду для завершения текущего активного сеанса:
exit;
А потом мы снова войдем в систему, введя следующую команду в командной строке:
mysql -u new_user -p
Примечание:
Не забудьте заменить new_user на собственное необходимое имя пользователя.
Вот, теперь вы создали своего собственного пользователя в MySQL и дали ему соответствующие разрешения.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Создание базы данных MySQL и установка СУБД
От автора: если пришла пора создавать качественный динамический сайт, значит нужно создание базы данных MySQL. До определенного момента, у вас получится хранить всю информацию в файловой системе, но, когда речь идет о массивном и функциональном веб-приложении, то БД – единственный выход из положения. Многие начинающие разработчики привыкли считать СУБД чем-то очень сложным, сродни системе, на которую нужно потратить много времени, чтобы научится хорошо ею управлять. Что ж, они правы. Но перед тем как перейти ко всем сложностям, связанным с MySQL, давайте научимся устанавливать необходимое программное обеспечение.
Зачем нужна база данных?
Как только вы видите перед глазами хороший сайт, с полями регистрации, возможностью комментирования и динамическим содержимым, можете быть уверены, что контент постоянно импортируется из базы данных. Как правило, это MySQL или аналогичное программное обеспечение и сервер. При помощи файлов из обычного репозитория невозможно обеспечить тот уровень быстродействия и взаимосвязанности файлов, который дает реляционная база данных.
Если вы только начинаете путь веб-разработчика и создаете простые одностраничные сайты, не пренебрегайте СУБД. Если приучить себя к подключению MySQL к каждому вашему проекту, то, впоследствии, не возникнет трудностей с освоением этого софта. Тем более, если вы сделаете скрипт авторизации, пусть даже и примитивный. Ну, а когда речь идет о том, чтобы сформировать небольшое обсуждение на странице, или даже чат, то база данных сможет сделать из студенческой поделки настоящий интерактивный портал, где каждому участнику будет присвоен идентификатор: в файле базы сохранится информация о каждом участнике беседы, чтобы сделать его неповторимым для других пользователей.
Если говорить далее о небольших проектах, то база данных открывает возможности для масштабируемости. Вы можете один раз создать файл базы данных, а после – настроить импорт новых данных. У сайта уже будет конкретная файловая структура, дополнять которую легче, чем управлять информацией, заключенной в файлы.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
К тому же, не стоит забывать о том, что база данных – это разгрузка сервера. Обернутая в СУБД информация не расходует ресурсы с тем энтузиазмом, который присущ обычным файлам. Несмотря на то, что такая big data немного «тяжелеет» в СУБД, она будет оперироваться внутри ее. Таким образом, сервер не получит высоких нагрузок. Не то чтобы мы защищали мощности серверов, но, таким образом, владелец заплатит гораздо меньшую сумму за хостинг.
Не стоит забывать о важности подключения MySQL для безопасности сайта. Несмотря на то, что SQL-инъекция – один из самых известных способов взлома, современные СУБД умеют противостоять такому внедрению.
Установка софта
Теперь перейдём к первым вашим шагам к использованию MySQL. Перед тем, как создать базу данных, необходимо установить утилиты и настроить работу сервера. Во всех мануалах, которые вы читали до этого, работа с БД выглядела сложнее чем программирование на PHP. Сегодня мы расскажем, насколько простым может быть этот процесс, если пользоваться свежим программным обеспечением и делать все правильно.
Windows и простой exe. Установщик
Да, существуют способы установки MySQL, которые покажутся весьма сложными. Некоторые любители экзотики делают всю работу вручную, чтобы полностью контролировать процесс установки. Это неоправданно в 9/10 случаев, да и не нужно начинающему разработчику. Также, MySQL всегда поставляется вместе с «джентельменскими наборами», вроде Денвера, WAMP, XAMPP и прочих. Но, пакет программ не всегда нужен в полном объёме, а запущенное стороннее приложение может здорово нагружать работу системы.
Как для Windows, так и для Linux мы будем рассматривать подключение базы данных отдельно от остальных инструментов. Она может пригодится не только для разработки динамического веб-сайта, но и для составления служебных баз, вроде списка сотрудников.
Для начала, необходимо:
Скачать файл инсталлирования базы данных. Лучше всего сделать это при подключении к официальному сайту. Как только вы начинаете использование других ресурсов, вся ответственность за причиненный компьютеру вред ложится на ваши плечи. Но, MySQL Installer ни к чему качать с торрента (чего не скажешь о OpenServer, который просто невозможно «стянуть» с оригинального источника). Так как система MySQL теперь разрабатывается и поддерживается компанией Oracle, для использования СУБД необходимо иметь их учетную запись. Создайте её, это не заберет много времени!
Кроме регистрации аккаунта, необходимо установить на свой компьютер свежий NET. Framework и Microsoft Visual C++ Redistributable for Visual Studio 2013. Это нужно для корректной работы программы. Не стоит проверять систему на их наличие: если какого-то из элементов не окажется на машине, инсталлятор самостоятельно уведомит о необходимости установки.
Далее, начинается работа GUI-установщика, где все предельно понятно. Нужно лишь уточнить некоторые детали. К примеру, вы точно не захотите удалять ненужные утилиты после установки. Поэтому, рекомендуемым вариантом будет Developer Default, а не Custom, и уж точно не Full. Если конкретный функционал понадобится, вы всегда сможете его доустановить. Файлы MySQL распространяются свободно.
Также, при установке необходимо указать, какой рут-пароль будет у вашей MySQL. Впоследствии он пригодится для создания базы данных и управления ею. Удаленный доступ нужно совершать с надежным паролем. В противном случае, ваш проект смогут украсть злоумышленники: сообщайте его лишь необходимому кругу лиц.
Жмите этапы установки до конца, не внося никаких изменений. Исправляйте данные, только если вы осведомлены о значении каждой из опций. Это может привести к тому, что установленная СУБД будет некорректно выполнять свои задачи. В конце установки вас ждет запуск и выбор сервера для подключения. Если вы делали все по инструкции, в распоряжении у вас окажется локальный сервер. Войдите в него с помощью рут-пароля. Вот и все!
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
Как создать базу данных MySQL с помощью Workbench?
Всем вебмастерам приходится углубляться в программирование и технологии создания баз данных, после развития их ресурсов.
Постепенно начинаешь вникать в каждую тонкость, но обучающий материал не всегда легко найти. Плюс ко всему, не все знают о существовании полезных программ.
Как создать базу данных MySQL? Можно создавать таблицы вручную и устанавливать между ними связи, но это не так удобно.
Специально для этого была создана бесплатная программа Workbench. С её помощью можно визуально создавать базы данных MySQL. Смоделировать их при помощи софта проще, удобнее и в разы быстрее.
Workbench поможет создать базу данных MySQL
С помощью одного простого инструмента больше не придется описывать структуру. Программа генерирует код автоматически. Скачивайте утилиту с этого сайта, она подходит для любой операционной системы.
После обычной установки программы, чтобы создать базу данных MySQL необходимо проделать следующие действия:
- Сначала нужно открыть новую модель, это делается через меню или комбинацией клавиш Ctrl+N:
- Первый шаг при создании базы данных, это добавление таблицы, поэтому выбираем соответствующую функцию:
- Дальше выполняется заполнение таблицы. Указывайте имя и атрибуты, учитывайте, что один из атрибутов это главный ключ, помеченный флажком. Заранее думайте, как потом таблицы будут связываться между собой:
- Заполнив необходимые данные, создавайте диаграмму для определения связей между субъектами:
- Вы увидите таблицу в рабочей области. Для удобства, можно развернуть структуры таблиц:
- Теперь необходимо задать связи между элементами, это делается специальным инструментом на рабочей панели:
- В итоге у вас должны быть представлены таблицы в рабочей области и между ними установлены связи:
- Двойной щелчок на связи открывает окно, в котором задаются дополнительные параметры:
Выполнив все настройки и проделав каждое действие, вы получаете готовую MySQL базу данных. Теперь можно нажать на File, выбрать экспорт и перенести её куда угодно (в том числе и на хостинг).
Вам может пригодиться решение серьезной проблемы. Ошибка 1062 при переносе базы данных нередко появляется, но с ней легко справиться.
Теперь вам известно не только о моделировании новых баз данных, вы знаете, как создать таблицу в базе данных MySQL без серьезных знаний и усилий. Загружайте полезную программу, тренируйтесь, с ней работать намного проще.
Вам также будет интересно:
— Ошибка установки соединения с базой данных, что делать?
— Секреты монетизации сайта
— Бесконечный источник статей для блога
Создание (удаление) базы данных MySQL и пользователя из командной строки (BASH)
В этой статье рассмотрим, как создавать новые базы данных в MySQL из командной строки сервера, (а также BASH-скрипт для автоматического создания базы данных и пользователя MySQL на сервере).
Вход под root на MySQL-сервер
Для того, чтобы воспользоваться интерфейсом MySQL на удалённом сервере, необходимо сперва законнектится к серверу MySQL. В Debian это можно сделать командой mysql -uroot
так, чтобы сразу войти в интерфейс с правами root. После удачного входа появится приветствие сервера MySQL и приглашение для ввода команд на языке MySQL:
root@server:~# mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Выход в консоли из режима работы с MySQL-сервером
Для того, чтобы выйти из режима работы с MySQL-сервером в консоли нужно набрать команду exit:
MariaDB [(none)]> exit
Bye
root@server:~#
CREATE DATABASE
— команда MySQL для создания базы данных
Для того, чтобы создать базу данных на сервере нужно воспользоваться командой MySQL CREATE DATABASE
, введя после неё в ``
название базы данных. Помним про синтаксис MySQL и после команды обязательно ставим ;
:
MariaDB [(none)]> CREATE DATABASE `new_db`;
Query OK, 1 row affected (0.00 sec)
Более полная конструкция команды CREATE DATABASE
:
CREATE DATABASE new_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CHARACTER SET
задаёт порядок сортировки.COLLATE
задаёт кодировку таблиц создаваемой базы данных.
Если при создании таблицы эти параметры не указываются, то кодировка и порядок сортировки вновь создаваемой таблицы берутся из значений, указанных для всей базы данных, которую мы и прописываем этой командой.
- Если задан параметр
CHARACTER SET
, но не задан параметрCOLLATE
, то используется стандартный порядок сортировки. - Если задан параметр
COLLATE
, но не заданCHARACTER SET
, то кодировку определяет первая часть имени порядка сортировки вCOLLATE
.- Кодировка, заданная в
CHARACTER SET
, должна поддерживаться сервером, - а порядок сортировки должен быть допустимым для текущей кодировки.
- Кодировка, заданная в
- Если не заданы оба параметра, то берётся значение по умолчанию.
Как посмотреть настройки уже существующей базы данных
Для того, чтобы посмотреть настройки уже существующей базы данных необходимо выполнить команду SHOW CREATE DATABASE, указав имя базы данных, настройки которой нужно посмотреть:
MariaDB [(none)]> SHOW CREATE DATABASE `new_db`;
+----------+-----------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------------------------------------+
| new_db | CREATE DATABASE `new_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ |
+----------+-----------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Как посмотреть список всех баз данных на сервере MySQL
Для того, чтобы вывести список всех баз данных на сервере MySQL нужно воспользоваться командой show databases
:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| new_db |
+--------------------+
3 rows in set (0.00 sec)
Как удалить базу данных MySQL с сервера
Для удаления базы данных MySQL с сервера нужно воспользоваться командой DROP DATABASE
и ввести имя удаляемой базы данных:
MariaDB [(none)]> DROP DATABASE `new_db`;
Query OK, 0 rows affected (0.00 sec)
CREATE USER
— команда MySQL для создания пользователя базы данных
Для создания пользователя базы данных нужно воспользоваться командой CREATE USER
:
MariaDB [(none)]> CREATE USER new_user;
Query OK, 0 rows affected (0.00 sec)
Для задания/изменения пароля пользователя базы данных нужно воспользоваться командой:
MariaDB [(none)]> UPDATE mysql.user SET Password=PASSWORD('tyt_parol') WHERE User='new_user';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
DROP USER
— команда MySQL для удаления пользователя базы данных
Для того, чтобы удалить пользователя баз данных нужно выполнить команду DROP USER
:
MariaDB [(none)]> DROP USER `new_user`;
Query OK, 0 rows affected (0.00 sec)
Простейший BASH-скрипт для создания новой базы данным MySQL с пользователем и паролем
Быстро создавать базы данных можно с помощью такого BASH-скрипта:
#!/bin/bash
mysql -uroot <<MYSQL_SCRIPT
CREATE DATABASE $1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER '$1'@'localhost' IDENTIFIED BY '$2';
GRANT ALL PRIVILEGES ON $1.* TO '$1'@'localhost';
FLUSH PRIVILEGES;
MYSQL_SCRIPT
echo "MySQL database created."
echo "Database: $1"
echo "Username: $1"
echo "Password: $2"
На входе этому скрипту нужно задать два параметра:
- Имя базы данных (у пользователя будет такое же имя)
- Пароль пользователя базы данных.
Пример работы такого скрипта create-mysql.sh
при создании базы данных test c пользователем test
и паролем 123
:
root@server:~# ./create-mysql.sh test 123
MySQL database created.
Database: test
Username: test
Password: 123
Простейший BASH-скрипт для удаления базы данным MySQL с пользователем
Также можно создать BASH-скрипт для удаления базы данным MySQL с пользователем, имеющим такое же имя, что и база данных. Работает с одним параметром на входе:
#!/bin/bash
mysql -uroot <<MYSQL_SCRIPT
DROP DATABASE $1;
DROP USER '$1'@'localhost';
MYSQL_SCRIPT
echo "MySQL database and user deleted."
echo "Database: $1"
echo "Username: $1"
Резюме
Таким образом можно создавать и удалять базы данных MySQL и их пользователей на сервере, а также автоматизировать работу по их созданию и удалению.
Заберите ссылку на статью к себе, чтобы потом легко её найти 😉
Выберите, то, чем пользуетесь чаще всего:
Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )
MySQL Workbench Tutorial — CoderLessons.com
1. О MySQL Workbench
MySQL Workbench, как видно из названия, является настольным инструментом для управления серверами баз данных MySQL и базами данных. MySQL Workbench поставляется с целым набором инструментов, которые облегчают работу с базой данных. В основном это визуальный инструмент для проектирования баз данных, который объединяет различные средства, перечисленные ниже:
- Создание базы данных
- Управление доступом к базе данных и свойствами
- Разработка в базе данных
- Проектирование структуры базы данных
- Администрирование и поддержка базы данных
Он используется почти всеми в проекте разработки программного обеспечения, использующего базу данных MySQL. Все, включая разработчика, администратора базы данных, а также архитектора программного обеспечения.
2. Установка MySQL Workbench
Прежде чем начать понимать особенности MySQL Workbench, давайте начнем с установки MySQL Workbench. Существует только одно предварительное условие для установки. Если вы планируете использовать локальную базу данных, в вашей системе должна быть установлена совместимая версия MySQL Server. Если он не установлен, следуйте инструкциям по этой ссылке, чтобы установить его. В случае удаленного сервера MySQL, MySQL Workbench может быть установлен прямо сейчас.
Когда у вас есть готовая локальная или удаленная настройка сервера MySQL, убедитесь, что сервер работает, проверив процессы / службы на наличие запущенного процесса сервера MySQL или подключившись к удаленному хосту с помощью соответствующего онлайн-плагина. Чтобы начать установку MySQL Workbench, перейдите к загрузке соответствующего установочного файла по этой ссылке . Как показано ниже, MySQL Workbench доступен для Windows, MacOSX и нескольких вариантов систем Linux.
Варианты установки MySQL Workbench
Процесс установки довольно прост. В следующих подразделах описан процесс установки.
2.1 Установка в MacOSX
Для установки в MacOSX загрузите установочный пакет .dmg . Пакет установщика открывает окно приложения, которое позволяет скопировать приложение в папку приложений. Окно приложения показано ниже:
Установка MySQL Workbench в Mac OSX (Источник: https: //dev.mysql.com/)
2.2 Установка в ОС Windows
Чтобы установить MySQL Workbench в Windows, загрузите. EXE- файл для настройки. Выполните настройку после загрузки. Программа установки проверяет установку сервера MySQL перед установкой Workbench. После того, как проверки пройдены, приступайте к их установке. Более подробную информацию об установке Workbench в Windows можно найти здесь
2.3 Установка в вариантах Linux
Для вариантов Linux MySQL доступен в виде файла .deb . Файл deb похож на exe. Это может быть выполнено как обычная установка для установки. Однако для Linux разработчики обычно предпочитают командную строку для установки инструментов. Чтобы установить MySQL Workbench с помощью командной строки, сначала установите менеджер пакетов apt для mysql, выполнив следующие команды.
1 2 |
|
После установки и обновления установите рабочую среду с помощью приведенной ниже команды.
1 |
|
Таким образом, MySQL Workbench может быть легко установлен. После установки запускается MySQL верстак. Workbench часто меняет свою версию экрана приветствия на версию.
3. Начало работы с MySQL Workbench
Как только MySQL Server и MySQL Workbench успешно установлены, запустите приложение Workbench. В зави
Как создавать и удалять базы данных MySQL и пользователей
Базы данных предлагают метод простого управления большими объемами информации через Интернет. Они необходимы для запуска многих веб-приложений, таких как доски объявлений, системы управления контентом и интернет-магазины розничной торговли.
Для начала вам необходимо войти в свою панель управления Bluehost.
- Для учетных записей Bluerock — Щелкните вкладку Advanced в боковом навигационном меню слева.
- Для устаревших учетных записей — Щелкните cPanel в подменю, которое расположено в верхней части экрана.
Если вы не уверены, использует ли учетная запись интерфейс Legacy или Bluerock, см. Раздел «Bluerock vs Legacy», чтобы определить, какие шаги следует выполнить.
Создание или удаление базы данных MySQL
Создание базы данных MySQL
- В разделе База данных выберите Базы данных MySQL .
- В поле «Новая база данных» введите имя базы данных.
- Щелкните «Создать базу данных».
- Нажмите «Назад».
- Новая база данных появится в таблице «Текущая база данных».
Удалить базу данных MySQL
- В разделе База данных выберите Базы данных MySQL .
- Перейдите к разделу «Текущие базы данных »
- Щелкните ссылку Удалить базу данных рядом с базой данных, которую вы хотите удалить
Если вы хотите удалить пользователя, который был назначен базе данных, щелкните красный значок » X «рядом с пользователем на этой таблице.
Создание или удаление пользователя базы данных
После создания базы данных необходимо будет создать пользователя и добавить его права во вновь созданную базу данных. Обратите внимание, что учетные записи пользователей MySQL должны создаваться отдельно от учетных записей электронной почты и веб-администратора.
Создание пользователя базы данных
- В разделе База данных выберите Базы данных MySQL .
- Найдите раздел Пользователи MySQL инструмента Базы данных MySQL .Чтобы быстро найти этот раздел, нажмите «Перейти к пользователям MySQL».
- В разделе «Добавить нового пользователя» введите имя пользователя.
Примечание: Имя пользователя должно состоять из 7 букв или короче. - Введите пароль в поле Пароль .
- Чтобы создать надежный пароль, нажмите кнопку «Создать пароль».
- Введите пароль еще раз в поле Пароль (еще раз) .
- Щелкните «Создать пользователя».
Удалить пользователя базы данных
- Войдите в панель управления Bluehost.
- В разделе База данных выберите Базы данных MySQL .
- Перейдите в раздел Current Users
- Щелкните красный значок «X» рядом с пользователем, которого вы хотите удалить
Определение прав пользователя
Привилегии определяют, как пользователь может взаимодействовать с базой данных. Например, они будут определять, может ли пользователь добавлять и удалять информацию.
Назначить пользователя базы данных
- В разделе База данных выберите Базы данных MySQL .
- В разделе «Добавить пользователя в базу данных» выберите пользователя из раскрывающегося меню Пользователь .
- В раскрывающемся меню «База данных» выберите базу данных, к которой вы хотите разрешить доступ пользователю.
- Щелкните Добавить .
- На экране обслуживания учетной записи MySQL выберите привилегии, которые вы хотите предоставить пользователю, или выберите ВСЕ ПРИВИЛЕГИИ .
- Щелкните Внесите изменения .
Отменить назначение пользователя
Чтобы отменить назначение, пользователь из базы данных щелкает красный значок «X» рядом с пользователем в таблице базы данных.
Использование базы данных
Теперь, когда вы можете создавать базы данных, пользователей и назначать соответствующие привилегии, вы можете использовать следующие статьи в качестве справочника по редактированию и подключению к вашим базам данных.
MySQL | Документация разработчика Magento 2
Помогите, если вы только начинаете
Если вы новичок во всем этом и нуждаетесь в помощи для начала работы, мы предлагаем следующее:
Общие правила
См. Требования к стеку технологий Magento для поддерживаемых версий MySQL.
Magento настоятельно рекомендует соблюдать следующий стандарт при настройке базы данных Magento:
- Magento использует триггеры базы данных MySQL для улучшения доступа к базе данных во время переиндексации. Они создаются, когда режим индексатора установлен на расписание. Magento не поддерживает никаких пользовательских триггеров в базе данных Magento, потому что пользовательские триггеры могут привести к несовместимости с будущими версиями Magento.
- Прежде чем продолжить, ознакомьтесь с этими потенциальными ограничениями триггеров MySQL.
- Если вы используете репликацию базы данных MySQL, имейте в виду, что Magento не поддерживает репликацию MySQL на основе операторов , а не . Убедитесь, что вы используете только репликацию на основе строк .
Magento 2 в настоящее время использует инструкции CREATE TEMPORARY TABLE
внутри транзакций, которые несовместимы с реализациями баз данных, использующими репликацию на основе GTID, такими как экземпляры второго поколения Google Cloud SQL.
Если ваш веб-сервер и сервер базы данных находятся на разных хостах, выполните задачи, описанные в этом разделе, на хосте сервера базы данных, а затем см. Настройка удаленного подключения к базе данных MySQL.
Установка MySQL в Ubuntu
Magento 2.4 требует чистой установки MySQL 8.0. По ссылкам ниже приведены инструкции по установке MySQL на вашем компьютере.
Если вы планируете импортировать большое количество продуктов в Magento, вы можете увеличить значение для max_allowed_packet
, которое больше значения по умолчанию, 16 МБ.
Значение по умолчанию применяется к локальным проектам Magento Commerce Cloud и . Клиенты Magento Commerce Cloud Pro должны открыть заявку в службу поддержки, чтобы увеличить значение max_allowed_packet
.Пользователи Magento Commerce Cloud Starter могут повысить ценность, обновив конфигурацию в файле /etc/mysql/mysql.cnf
.
Чтобы увеличить значение, откройте /etc/mysql/mysql.cnf
в текстовом редакторе и найдите значение для max_allowed_packet
. Сохраните изменения в mysql.cnf
, закройте текстовый редактор и перезапустите MySQL ( service mysql restart
).
Чтобы дополнительно проверить установленное вами значение, введите следующую команду в командной строке mysql>
:
1 ПОКАЗАТЬ ПЕРЕМЕННЫЕ КАК 'max_allowed_packet';
Затем настройте экземпляр базы данных Magento.
MySQL 8 изменений
Для Magento 2.4 мы добавили поддержку MySQL 8.
В этом разделе описаны основные изменения в MySQL 8, о которых следует знать разработчикам Magento.Удалена ширина для целочисленных типов (Padding)
Спецификация ширины отображения для целочисленных типов данных (TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT)
устарели в MySQL 8.0.17. Операторы, которые включают определения типов данных в свой вывод, больше не показывают ширину отображения для целочисленных типов, за исключением TINYINT (1).Соединители MySQL предполагают, что столбцы TINYINT (1) возникли как столбцы BOOLEAN. ЭтоКак создавать и удалять базы данных MySQL и пользователей
Сводка
Базы данных предлагают метод простого управления большими объемами информации через Интернет. Они необходимы для запуска многих веб-приложений, таких как доски объявлений, системы управления контентом и интернет-магазины розничной торговли.
Создание или удаление базы данных MySQL
Создание базы данных MySQL
- Войдите в свою учетную запись Just Host cPanel.
- Щелкните значок Базы данных MySQL в категории «Базы данных»
- В поле «Новая база данных» введите имя базы данных.
- Щелкните «Создать базу данных».
- Нажмите «Назад».
- Новая база данных появится в таблице «Текущие базы данных».
Удалить базу данных MySQL
- Перейти к Текущим базам данных раздел
- Щелкните ссылку Удалить базу данных рядом с базой данных, которую вы хотите удалить.
Если вы хотите удалить пользователя, который был назначен базе данных, щелкните красный значок «X» рядом с пользователем в этой таблице. Чтобы увидеть инструкции о том, как назначить пользователя, щелкните здесь.
Создание или удаление пользователя базы данных
После создания базы данных необходимо будет создать пользователя и добавить его права во вновь созданную базу данных. Обратите внимание, что учетные записи пользователей MySQL должны создаваться отдельно от учетных записей электронной почты и веб-администратора.
Создание пользователя базы данных
- Найдите раздел Пользователи MySQL инструмента Базы данных MySQL .Чтобы быстро найти этот раздел, нажмите «Перейти к пользователям MySQL».
- В разделе «Добавить нового пользователя» введите имя пользователя.
Примечание: Имя пользователя должно состоять из 7 букв или короче. - Введите пароль в поле Пароль .
- Чтобы создать надежный пароль, нажмите кнопку «Создать пароль».
- Введите пароль еще раз в поле Пароль (еще раз) .
- Щелкните «Создать пользователя».
Удалить пользователя базы данных
- Перейдите в раздел Current Users
- Щелкните красный значок «X» рядом с пользователем, которого хотите удалить
Определите права пользователя
Привилегии определяют, как пользователь может взаимодействовать с базой данных. Например, они будут определять, может ли пользователь добавлять и удалять информацию.
Назначить пользователя базы данных
- В разделе «Добавить пользователя в базу данных» выберите пользователя из раскрывающегося меню Пользователь .
- В раскрывающемся меню База данных выберите базу данных, к которой вы хотите разрешить доступ пользователю.
- Щелкните Добавить .
- На экране обслуживания учетной записи MySQL выберите привилегии, которые вы хотите предоставить пользователю, или выберите ВСЕ ПРИВИЛЕГИИ .
- Нажмите Внести изменения .
Отменить назначение пользователя
Чтобы отменить назначение пользователя из базы данных, щелкните красный значок «X» рядом с пользователем в таблице базы данных. Вы можете увидеть пример этой таблицы, нажав здесь.
Использование базы данных
Теперь, когда вы можете создавать базы данных, пользователей и назначать соответствующие привилегии, вы можете использовать следующие статьи в качестве справочника по редактированию и подключению к вашим базам данных.
Рекомендуемое содержимое справки
В этой статье объясняется, как изменить пароль для базы данных в случае утери исходного пароля.
В этой статье объясняется, как изменить или сбросить пароль для пользователя MySQL.
В этой статье объясняется, как подключить ваши скрипты к базам данных MySQL.
Связанное содержимое справки
Я не могу подключиться к своей базе данных локально или удаленно, есть ли у меня правильный сервер, имя пользователя и пароль?
В этой статье объясняется, как установить WordPress, когда Mojo не может создать базу данных автоматически.
Учебник о том, как окончательно удалить столбцы из базы данных mySQL с помощью phpMyAdmin
В этой статье рассказывается, как импортировать базу данных из командной строки (SSH).
Мне предлагается установить новый пароль MySQL. Что это значит и как мне это изменить?
Как создать резервную копию MySQL?
В этой статье рассказывается, как экспортировать базу данных из командной строки (SSH).
В этой статье будут рассмотрены различные приложения, доступные для удаленного подключения к вашим базам данных.
Добавить комментарий