Изучаем SQL. №2. Создаем базу данных MySQL и наполняем ее из консоли. ⋆

MySQL сервера баз данных конфигурации брандмауэра

vm01vm02Перезапустим службу iptables

Настройка Базы Данных

Создание Базы Данных

Мы вошли и приглашение mysql показано на экране. Сначала, давайте рассмотрим базы данных, которые у нас имеются в настоящий момент. Чтобы это сделать, мы используем команду SHOW DATABASES.

mysql>SHOW DATABASES; ВажноПожалуйста, запомните что команды MySQL должны оканчиваться точкой с запятой — ;

Вопреки тому факту, что тестовая база данных уже создана, мы собираемся создать нашу собственную. Базы данных создаются с использованием команды CREATE DATABASE. Мы создадим одну из них под названием gentoo.

mysql>CREATE DATABASE gentoo;

Ответ позволяет нам узнать, что команда была выполнена без ошибок. В этом случае, одна строка была изменена. Это является отсылкой к основной базе данных mysql, которая содержит список всех баз данных. Вам не нужно сильно беспокоиться о второстепенных деталях. Последнее число является характеристикой того, насколько быстро был выполнен запрос. Мы можем проверить, что база данных была создана, запустив команду SHOW DATABASES снова.

mysql>SHOW DATABASES;

В самом деле, наша база данных была создана. Для того чтобы работать с созданием таблиц для нашей новой базы данных gentoo, нам надо выбрать ее в качестве текущей базы данных. Чтобы это сделать, мы используем команду USE. Команда USE принимает имя базы данных, которую вы хотите использовать в качестве текущей. Другой возможностью является ее установка в командной строке после параметра -D. Давайте продолжим и переключимся к базе данных gentoo.

mysql>USE gentoo;

Сейчас, текущей базой данных является созданная нами ранее база данных gentoo. Теперь, когда мы ей пользуемся, мы можем начать создавать таблицы и заполнять их информацией.

Дополнительные подсказки MySQL

Для очистки приглашения MariaDB, можно воспользоваться сочетанием клавиш Ctrl+l или набрать следующую команду и нажать Enter:

Если вы ещё не догадались, последовательность символов \! отправляет последующую команду в шелл Linux (а не в СУБД) и выводят их результат на экран. После \! можно использовать любые команды Bash.

Для анализа конфигурации данной таблицы сделайте:

Например,

Для SHOW COLUMNS IN можно использовать сокращение DESC:

Быстрая проверка обнаружила, что поле BookIsAvailable может иметь значение NULL. Поскольку мы не хотим разрешать это, мы изменим таблицу командой ALTER:

При повторной проверке теперь YES на пересечении BookIsAvailable и Null смениться на NO.

Как посмотреть настройки уже существующей базы данных

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

Создание

CREATE DATABASE databasename;#создать базу данных с указанным именем

SHOW CREATE DATABASE databasename;#создание базы данных с выводом параметров

CREATE DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci; #создание базы данных с указанными параметрами (кодировка utf8)

CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';#создать пользователя базы данных с именем и паролем

GRANT ALL PRIVILEGES ON databasename.table_of_database TO 'username'@'localhost';#предоставить пользователю права доступа к базе данных и ее таблице

GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'localhost';#предоставить пользователю права доступа ко всем таблицам указанной базы данных

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';#предоставить пользователю права доступа ко всем базам данных и таблицам

GRANT SELECT, INSERT, DELETE ON databasename.* TO 'username'@'localhost'; #предоставить пользователю ограниченные права доступа с возможностью выбирать базу данных, вставлять строки в таблицы, удалять строки

FLUSH PRIVILEGES; #применить, чтобы установленные права доступа для пользователя вступили в силу

REVOKE ALL PRIVILEGES ON databasename.* TO 'username'@'localhost'; #отменить все права доступа к указанной базе данных и всем ее таблицам для пользователя

 

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

Создать новую базу данных MySQL так же просто, как запустить одну команду.

Чтобы создать новую базу данных MySQL или MariaDB, выполните следующую команду, где database_name — это имя базы данных, которую вы хотите создать:

Если вы попытаетесь создать уже существующую базу данных, вы увидите следующее сообщение об ошибке:

Чтобы избежать ошибок, если база данных с тем же именем, которое вы пытаетесь создать, существует, используйте оператор IF NOT EXISTS :

В выходных данных выше Query OK означает, что запрос был успешным, а одно 1 warning сообщает нам, что база данных уже существует, и что новая база данных не была создана.

В Linux имена баз данных и таблиц MySQL чувствительны к регистру.

Введение в типы данных MariaDB

Как сказано ранее, таблицы – это объекты базы данных, где мы будет хранить постоянную информацию. Каждая таблица состоит из колонок. Колонка содержит данные определённого типа.

Самыми распространёнными типами данных в MariaDB являются следующие

Число:

  • BOOLEAN значение считается false (т.е. ложь), а любые другие данные расцениваются как true (т.е. истина).
  • TINYINT (tiny integer, т.е. буквально крошечное целое число), можно использовать как SIGNED (т.е. со знаком), тогда этим типом охватываются числа от -128 до 127, также можно использовать как UNSIGNED (т.е. без знака), тогда в охватываемый диапазон входят целые числа от 0 до 255.
  • SMALLINT (small integer, т.е. буквально маленькие целые числа), опять же, если используется с SIGNED, то этим типом охватывается диапазон от -32768 до 32767. Диапазон UNSIGNED от 0 до 65535.
  • MEDIUMINT (medium integer, т.е. буквально средние целые числа, с SIGNED это от -8388608 до 8388607. Без знака это диапазон от 0 до 16777215.
  • INT (integer, буквально целое число), если используется с SIGNED, охватывает диапазон от -2147483648 до 2147483647, и от 0 до 4294967295 в противном случае.
  • BIGINT (big integer, т.е. буквально большое целое число), со знаком это диапазон от -9223372036854775808 до 9223372036854775807. Без знака от 0 до 18446744073709551615.

Помните: В TINYINT, SMALLINT, MEDIUMINT, INT и BIGINT, SIGNED предполагается по умолчанию.

  • DOUBLE(M, D), где M – это общее количество цифр, а D – это количество цифр после десятичной точки, представляет собой числа с двойной точностью с плавающей запятой. Если указана UNSIGNED, отрицательные значения не разрешены.

Строка:

  • VARCHAR(M) представляет строку переменной длины, где M – это максимально разрешённая длина колонки в байтах (65,535 в теории). В большинстве случае количество байтов идентично количеству символов, кроме символов, которым может потребоваться до 3 байтов (utf8). Например, испанская буква ñ представляет собой один символ, но использует 2 байта.
  • TINYTEXT – это текстовые значения, с максимальной длиной 255 символов. Эффективная максимальная длина меньше, если значение содержит многобайтную кодировку.
  • TEXT(M) представляет колонку с максимальной длиной в 65,535 символов. Тем не менее, как и с VARCHAR(M), реальная максимальная длина уменьшается при сохранении многобайтных символов. Если M указана, создаётся самая маленькая колонка типа TEXT, которая достаточно большая для хранения значения длиной в M символов.
  • MEDIUMTEXT(M) и LONGTEXT(M) похожи на TEXT(M), разница только в максимально разрешённой длине значения, которая составляет, соответственно 16,777,215 и 4,294,967,295.

Дата и время:

  • DATE представляет дату в формате YYYY-MM-DD.
  • TIME представляет время в формате HH:MM:SS.sss (чисы, минуты, секунды и милисекунды).
  • DATETIME является комбинацией DATE и TIME в формате YYYY-MM-DD HH:MM:SS.
  • TIMESTAMP используется для определения момента, когда строка была добавлена или обновлена.

Теперь, когда вы бегло ознакомились с типами данных, вам будет проще определить, данные какого типа назначить заданной колонке в таблице.

Например, имя человека может легко поместиться в VARCHAR(50), в то время как сообщение в блоге потребует тип TEXT (можно указать M под специфические нужды).

CREATE USER — команда MySQL для создания пользователя базы данных

Для создания пользователя базы данных нужно воспользоваться командой CREATE USER:

Для задания/изменения пароля пользователя базы данных нужно воспользоваться командой:

Выберите базу данных MySQL

При создании базы данных новая база данных не выбирается для использования.

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

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

Каждый раз, когда вы хотите работать с базой данных, вы должны выбирать ее с помощью оператора USE .

Вы также можете выбрать базу данных при подключении к серверу MySQL, добавив имя базы данных в конце команды:

Создайте альтернативного пользователя MySQL Root

Вместо входа в систему в качестве корневого (root) пользователя MySQL. Можно создать альтернативного пользователя, а затем предоставить разрешения на использование базы данных. Делается это следующим образом:

Внимание: Измените mysqluser и mySQLp@ssw0rd на свои собственные значения.

Создать пользователя MySQL:

mysql> CREATE USER mysqluser@localhost IDENTIFIED by ‘mySQLp@ssw0rd’;

Предоставьте права на все базы данных новому пользователю:

mysql> GRANT ALL PRIVILEGES ON *.* to mysqluser@localhost;

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

mysql> GRANT ALL PRIVILEGES ON continents.* TO ‘mysqluser’@’localhost’;

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

mysql> FLUSH PRIVILEGES;

После этого выйдите из MySQL:

mysql> QUIT

Теперь войдите в систему как вновь созданный пользователь:

mysql> mysql -u mysqluser -p

Создание альтернативного пользователя MySQL root
Создание альтернативного пользователя MySQL root

Резервные копии — создание, восстановление бд . Консоль

Создать резервную копию (dump) всех баз данных в файл  alldatabases.sql :

Создать резервную копию одной базы данных в файл  databasename.sql :

Создать резервную копию одной таблицы в файл  databasename.tablename.sql :

Восстановление базы данных (или таблицы) из резервной копии:

Создать таблицу, пример 2:

Теги

Adblock
detector