Удалить базу данных mysql linux

Как управлять базами данных MySQL и пользователями из командной строки

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

В этом руководстве объясняется, как использовать командную строку для создания и управления базами данных MySQL или MariaDB и пользователями.

Подготовка

Прежде чем вы начнете с этого руководства, мы предполагаем, что в вашей системе уже установлен сервер MySQL или MariaDB. Все команды будут выполняться от имени пользователя root.

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

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

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

CREATE DATABASE database_name;
Query OK, 1 row affected (0.00 sec) 

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

ERROR 1007 (HY000): Can't create database 'database_name'; database exists 

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

CREATE DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec) 

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

Список всех баз данных MySQL

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

Результат будет выглядеть примерно так:

+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec) 

Базы данных information_schema , mysql , performance_schema и sys создаются во время установки и хранят информацию обо всех других базах данных, конфигурации системы, пользователях, разрешениях и других важных данных. Эти базы данных необходимы для правильной работы установки MySQL.

Читайте также:  Команда linux узнать mac адрес

Удалить базу данных MySQL

Удалить базу данных MySQL так же просто, как запустить одну команду. Это необратимое действие, и его следует выполнять с осторожностью. Убедитесь, что вы не удаляете неправильную базу данных, поскольку после удаления базы данных ее невозможно будет восстановить.

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

DROP DATABASE database_name;
Query OK, 0 rows affected (0.00 sec) 

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

ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist 

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

DROP DATABASE IF EXISTS database_name;

Создайте новую учетную запись пользователя MySQL

Учетная запись пользователя в MySQL состоит из частей имени пользователя и имени хоста.

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

CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';

В приведенной выше команде мы установили часть имени хоста на localhost что означает, что этот пользователь сможет подключаться к серверу MySQL только с локального хоста (то есть из системы, в которой работает сервер MySQL). Если вы хотите предоставить доступ с другого хоста (ов), просто измените localhost на IP-адрес удаленного компьютера или используйте подстановочный знак ‘%’ для части хоста, что означает, что учетная запись пользователя сможет подключаться с любого хоста.

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

CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Query OK, 0 rows affected, 1 warning (0.00 sec) 

Изменить пароль учетной записи пользователя MySQL

Синтаксис для изменения пароля учетной записи пользователя MySQL или MariaDB зависит от версии сервера, который вы используете в своей системе.

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

Если у вас MySQL 5.7.6 и новее или MariaDB 10.1.20 и новее, для изменения пароля используйте следующую команду:

ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';

Если у вас MySQL 5.7.5 и старше или MariaDB 10.1.20 и старше, используйте:

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

В обоих случаях результат должен выглядеть так:

Query OK, 0 rows affected (0.00 sec) 

Список всех учетных записей пользователей MySQL

SELECT user, host FROM mysql.user;

Результат должен выглядеть примерно так:

+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec) 

Удалить учетную запись пользователя MySQL

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

DROP USER 'database_user@'localhost';

Если вы попытаетесь удалить учетную запись пользователя, которой не существует, произойдет ошибка.

ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost' 

То же, что и при работе с базами данных, чтобы избежать ошибки, вы можете использовать:

DROP USER IF EXISTS 'database_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec) 

Предоставление разрешений учетной записи пользователя MySQL

Есть несколько типов привилегий, которые могут быть предоставлены учетной записи пользователя. Вы можете найти полный список привилегий, поддерживаемых MySQL здесь . В этом руководстве мы рассмотрим несколько примеров:

Читайте также:  Файловый менеджер linux консоль

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

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

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

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

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

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

Если вы хотите предоставить учетной записи пользователя только определенные привилегии для определенного типа базы данных:

GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Отзыв разрешений учетной записи пользователя MySQL

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

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Показать права учетной записи пользователя MySQL

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

SHOW GRANTS FOR 'database_user'@'localhost';
+---------------------------------------------------------------------------+ | Grants for [email protected] | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec) 

Выводы

Это руководство охватывает только основы, но оно должно стать хорошим началом для всех, кто хочет научиться управлять базами данных MySQL и пользователями из командной строки. Вы также можете проверить руководство о том, как сбросить пароль root MySQL, если вы его забыли.

Это все! Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Создание и удаление баз в MySQL/MariaDB

Обновлено

Обновлено: 10.10.2020 Опубликовано: 10.08.2016

В данных примерах используется командная оболочка mysql и phpMyAdmin.

Если работа ведется на продуктивном сервере баз данных, рекомендуется сделать резервные копии.

Подключение к СУБД

Если мы планируем работать в командной строке, заходим в среду управления MySQL.

Читайте также:  Какие есть виды линукса

* где root — пользователь, под которым мы будем подключаться к оболочке; ключ -p потребует ввода пароля.

б) В Windows запускаем командную строку — в меню пуск или найдя ее в поиске. Переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:

cd «%ProgramFiles%\MySQL\MySQL Server 5.5\bin\»

* в данном примере предполагается, что у нас установлена MySQL версии 5.5.

* здесь, как и в Linux, идет подключение к mysql/mariadb под учетной записью root с запросом пароля.

Создание новой базы

Для создания базы используется SQL-запрос CREATE DATABASE. Рассмотрим подробнее его использование.

Командная строка

Используйте данный шаблон команды:

> CREATE DATABASE newdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

* вышеописанная команда создаст базу данных с названием newdb и кодировкой UTF-8 (самая распространенная и универсальная).

Проверить, что база появилась можно командой:

* данная команда выводит в консоль список баз, созданных в СУБД.

Подключиться к базе можно командой:

phpMyAdmin

В phpMyAdmin переходим в раздел Базы данных — вводим название новой базы — выбираем кодировку и нажимаем Создать:

Создаем базу данных в phpMyAdmin

Настройка прав доступа

Чтобы к созданной базе можно было подключиться, добавим пользователя:

> GRANT ALL PRIVILEGES ON newdb.* TO dbuser@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION;

* где newdb.* — наша база и все ее таблицы; dbuser@localhost — имя учетной записи, которая будет подключаться с локального сервера; password — придуманный нами пароль.
** В данном примере, учетной записи будут предоставлены полные права (ALL PRIVILEGES). Подробнее о правах в MySQL читайте статью Как создать пользователя MySQL и дать ему права.

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

> SELECT db, host, user FROM mysql.db WHERE db=’newdb’;

* в данном примере мы выведем учетные записи, которым был дан прямой доступ к созданной нами базе. В данном списке не будут отражены пользователи с глобальными правами (например, root).

Поменять пароль пользователю можно одной из команд (в зависимости от версии СУБД):

> SET PASSWORD FOR ‘dbuser’@’localhost’ = PASSWORD(‘new_password’);

> ALTER USER ‘dbuser’@’localhost’ IDENTIFIED BY ‘new_password’;

> UPDATE mysql.user SET Password=PASSWORD(‘new_password’) WHERE USER=’dbuser’ AND Host=’localhost’;

* все 3 команды меняют пароль для пользователя dbuser@localhost на новый — new_password.

При необходимости, удалить пользователя можно командами:

> REVOKE ALL PRIVILEGES, GRANT OPTION FROM ‘dbuser’@’localhost’;

> DROP USER ‘dbuser’@’localhost’;

* первая команда отнимает все привилегии, выданные пользователю. Вторая удаляет самого пользователя.

Удаление базы MySQL

Удаление выполняется командой DROP DATABASE.

Командная консоль

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

phpMyAdmin

Выбираем нужную базу галочкой и кликаем по Удалить:

Удаляем базу MySQL в phpMyAdmin

Читайте также

Другие инструкции по MySQL / MariaDB:

Источник

Оцените статью
Adblock
detector