Как удалить базы данных MySQL из командной строки
Если у вас есть какие-то менеджер базы данных MySQL, Тип phpMyAdmin, простой факт выполнения любых действий на вашей базе данных, длинный, как вы у привилегии достаточно. Но, Что произойдет, если вы не имеют каких-либо приложение для управления и администрирования, в пути Визуальные, сервер базы данных? Существуют ситуации, в которых доступ к серверу базы данных является текстовым способом, через Консоль или окно Терминал, или через удаленное соединение, Тип SSH. Для такого рода ситуации, Давайте посмотрим, как мы можем сделать удаление базы данных MySQL.
Удаление базы данных MySQL из командной строки
Для удаления базы данных MySQL из командной строки, либо через окно терминал или консоль, или с помощью подключения к удаленному SSH, Первое, что вы должны сделать это доступ к команды интерфейса MySQL. Для этого, Вы запускаете это на консоли или окно терминала:
mysql -u username -p contraseña
mysql -u username -p contraseña |
где ‘имя пользователя‘ Это относится к вашей пользователя MySQL. Поле пароль ES Необязательный, Если не ввести пароль, на следующем шаге вы будете просить его. Один раз ввести, будет доступ к интерфейсу команд MySQL. Если все прошло хорошо, Вы можете видеть командную консоль или терминал теперь выглядит так:
Чтобы увидеть баз данных, которые у вас есть в вашем MySQL сервере, Вам только нужно перечислить их с помощью следующей команды:
Таким образом, Вам будет показан список баз данных. Что-то похожее на это:
+———————+ | Database | +———————+ | information_schema | | mysql | | performance_schema | | phpmyadmin | | mibasededatos | +———————+ 5 rows in set (0. 00 sec)
+———————+ | Database | +———————+ | information_schema | | mysql | | performance_schema | | phpmyadmin | | mibasededatos | +———————+ 5 rows in set (0.00 sec) |
Теперь давайте удалить базу данных в вопросе. Для этого, просто запустите следующую команду, где ‘MyDatabase‘ Указывает имя базы данных, которую требуется удалить:
mysql> drop database mibasededatos;
mysql> drop database mibasededatos; |
Вы готовы! Это способ для удаления базы данных с помощью консоли или окно терминала, Когда не имеют графики любой интерфейс для управления или управлять нашим сервером баз данных в MySQL. Чтобы убедиться, что база данных была удалена, вернуться к списку их:
mysql> show databases; +———————+ | Database | +———————+ | information_schema | | mysql | | performance_schema | | phpmyadmin | +———————+ 4 rows in set (0.00 sec)
mysql> show databases; +———————+ | Database | +———————+ | information_schema | | mysql | | performance_schema | | phpmyadmin | +———————+ 4 rows in set (0.00 sec) |
Вы увидите, что это время не устранены в базе данных списка.
Присоединиться к вам к каналу Телеграмма
Оставьте нам комментарий или ввестиФорумРодственные статьи
Удаление базы данных mysql через консоль
В данных примерах используется командная оболочка mysql и phpMyAdmin.
Подключение к СУБД
Для начала заходим в среду управления MySQL.
В Linux вводим команду:
В Windows переходим в каталог, с установленной СУБД и запускаем одноименную команду mysql, например:
cd «%ProgramFiles%MySQLMySQL Server 5. 5in»
* в приведенных примерах идет подключение к mysql/mariadb под учетной записью root с запросом пароля.
Создание новой базы
Командная строка
Используйте данный шаблон команды:
mysql> CREATE DATABASE newdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* вышеописанная команда создаст базу данных с названием newdb и кодировкой UTF-8 (самая распространенная и универсальная).
Проверить, что база появилась можно командой:
mysql> show databases;
phpMyAdmin
В phpMyAdmin переходим в раздел Базы данных — вводим название новой базы — выбираем кодировку и нажимаем Создать:
Настройка доступа
Чтобы к созданной базе можно было подключиться, сразу добавим пользователя:
mysql> GRANT ALL PRIVILEGES ON newdb.* TO dbuser@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION;
* где newdb.* — наша база и все ее таблицы; dbuser@localhost — имя учетной записи, которая будет подключаться с локального сервера; password — придуманный нами пароль.
** В данном примере, учетной записи будут предоставлены полные права. Подробнее о правах в MySQL читайте статью Как создать пользователя MySQL и дать ему права.
Удаление базы MySQL
Командная консоль
Попробуем удалить ранее созданную базу:
mysql> DROP DATABASE newdb;
phpMyAdmin
Выбираем нужную базу галочкой и кликаем по Удалить:
День добрый, друзья! 🙂 Для подключения к mysql наберите
- h — хост базы данных, если коннектимся к локальной базе (по ip 127.0.0.1), этот параметр можно опустить
- u — имя пользователя
- p — пароль, его нужно будет ввести после нажатия enter
Например, если нужно законнектиться к локальной быдухе под root`ом и пароль у него не установлен (пустой пароль — это плохо), достаточно написать
Если на экране появляется приветствие mysql, то всё прошло ok.
Для выхода из командной строки mysql можно написать exit, в linux достаточно нажать ctrl+C. Теперь можно писать любые mysql-запросы. Чтобы запрос выполнился, в конце обязательно нужно поставит точку с запятой «;». При написании длинных запросов удобно делать enter`ом переход на следующую строку. А после полного написание запроса поставить «;» и нажать «enter».
Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:
Результатом будет что то вроде этого:
Выбрать базу данных jeka:
Посмотреть названия всех таблиц в конкретной базе данных (после выполнения use):
Просмотреть структуру таблицы (имена и тип полей):
Достать информацию о юзере с >
Бэкап структуры таблицы, а точнее sql-запрос на её создание
Если в конце запроса поставить не ; а G, то результат будет показан другим образом — иногда весьма удобно, если таблица имеет много полей:
Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:
Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.
Подробнее о том, как изменять структуру mysql-таблиц (alter table).
Как сделать бэкап базы mysql через консоль Linux?
Сделать бэкап базы database в файл dump_name.sql
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.
Развернуть базу из файла через командную строку
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_to_restore.sql] – имя файла, из которого поднимаем базу
Сделать дамп структуры одной таблицы mysql (без данных):
Например, задампим таблицу users из базы данных mydatabase:
Развернуть mysql-dump в БД с именем database_name:
Ещё одна интересная штука. Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:
Заключение
Может показаться, что писать запросы в командной строке не удобно. Но это заблуждение. На слабых машинах phpmyadmin работает не так шустро как хотелось бы. Тем более не на всех серверах стоят морды с phpmyadmin, adminer и т.д. Linux + mysql в терминале реально повысили мою производительность.
- В чём разница int(3) int(10) int(12) и так далее? mysql 2 ответа
- Установить mysql 5.6 на travis Решено!
- Got a packet bigger than ‘max_allowed_packet’ bytes — ошибка mysql Решено!
- На PHP Access denied for user ‘root’@’localhost’, хотя через консоль подключается 1 ответ
- Как очистить все таблицы в базе данных mysql? 0 ответов
- MySQL — изменение полей, структуры таблицы 0 комментариев
- Запросы инъекции для mysql 0 комментариев
- Доступ к mysql из-вне1 комментарий
- Mysql перенос таблиц из одной базы данных в другую 0 комментариев
- Анализ производительности MySQL с использованием performance_schema 0 комментариев
Комментарии 2
Правда, уж больно много зависимостей она имеет.. Как решу проблему с зависимостями, отпишусь.
eugene-PC:www eugene$ eugene$ sudo rpm -ivh
Работал сегодня с сервером mysql. Надо было проверять дампы баз и искать в них данные. Постоянно загружал и удалял таблицы, базы и т.д. В общем, работал много с mysql, а чтобы все было максимально быстро, то через консоль. Оказалось, что простого и быстрого способа удалить разом все таблицы в базе mysql нет. Рассказываю, как поступал я для очистки таблиц без удаления самой базы данных.
В общем случае удалить таблицы из базы данных можно командой в консоли mysql:
Если у вас таблиц десятки и сотни, очевидно, что вручную их указывать неудобно. Дальше каждый изобретает свой велосипед в виде различных скриптов на php или bash.
Можно воспользоваться mysqldump и некоторыми ключами.
Эта команда сделает дамп только структуры базы данных, при этом для каждой таблицы перед ее созданием будет команда на удаление. Вот эти команды на удаление мы и заберем из дампа.
Мы получили набор команд на удаление всех таблиц. Теперь направим эти команды в mysql консоль на исполнение.
У меня настроена авторизация в mysql из консоли без пароля. В общем случае, с паролем команда будет выглядеть вот так:
Таким простым способом, без скриптов, можно прямо в консоли сервера удалить все таблицы из базы данных mysql, не удаляя саму базу. Может возникнуть вопрос, а почему не удалить все же базу и не создать заново. Причин может быть несколько:
- У вас нет прав на создание и удаление баз данных (наиболее частый случай).
- Не помните точно параметры базы данных, не хочется вспоминать, искать, как создать новую базу данных с теми же параметрами, что стоят у текущей (мой случай).
Если у вас есть какое-то свое простое решение по удалению таблиц из базы, делитесь в комментариях.
Удалить базу данных в phpMyAdmin
По ошибке я создал дубликат базы данных на странице phpMyAdmin из cPanel. Я хочу удалить эту базу данных, но не могу найти ни одной кнопки удаления в UI.
Как удалить базу данных в phpMyAdmin?
phpmyadminПоделиться Источник coder 13 февраля 2014 в 10:42
16 ответов
- Импорт XML в базу данных phpmyadmin
Я пытаюсь импортировать XML с этого сайта http:/ / data.gov.uk / dataset/car-parks в базу данных phpmyadmin, чтобы использовать ее в мэшапе google maps. Я новичок в этом деле и не знаю, как получить XML в базу данных. Нужно ли сначала создавать столбцы базы данных, а затем импортировать данные?
- Могу ли я загрузить базу данных Phpmyadmin?
Я случайно удалил базу данных phpmyadmin , которая шла вместе с ним. Теперь я получаю такие ошибки, как: SQL query: DocumentationEdit Edit SELECT `db_name` , `comment` FROM `phpmyadmin`.`pma_column_info` WHERE `column_name` = ‘(db_comment)’ MySQL said: Documentation #1146 — Table…
107
На phpMyAdmin 4.1.9 :
database_name > Operations > Remove database
Поделиться Mars Robertson 04 июня 2014 в 10:55
64
После успешного входа в cPanel рядом со значком phpMyAdmin
появляется еще один значок MySQL Databases
; нажмите на него.
Это приведет вас на страницу списка баз данных.
В столбце действие вы можете найти опцию delete database
нажмите на нее, чтобы удалить свою базу данных!
Поделиться psanjib 13 февраля 2014 в 10:58
23
- Перейдите на домашнюю страницу phpmyadmin.
- Нажмите на ‘Databases’.
- Выберите базу данных, которую вы хотите удалить. (поставьте галочку)
- Нажмите Кнопку Отбросить.
Поделиться user3642940 03 июня 2015 в 13:44
- phpMyAdmin не удается экспортировать базу данных
У меня есть машина VPS, и я установил phpMyAdmin и вставил в нее базу данных. Но теперь, когда я хочу сделать резервную копию и экспортировать базу данных, он говорит:: Вот error.log: http://pastebin.com/44N4YcAk [Вт Jun 18 21:40:16 2013] [ошибка] [клиент] PHP фатальная ошибка: разрешенный размер…
- В phpmyadmin нет опции создать новую базу данных
Я начинаю развертывать свое веб-приложение php на реальном сервере. Поэтому я купил персональный хостинг-план от Arvixe с доступом к панели C. Затем я вошел в Панель C и открыл phpmyadmin, чтобы импортировать свою базу данных. Но когда я пытаюсь создать новую базу данных, в UI нет возможности…
8
Взяв очередь из ответа Майкла выше, я не смог найти команду DROP Database на моей консоли phpMyAdmin
в localhost
.
Видимо, мне не хватало декорации. Перейдите в файл config.inc.php
папки phpMyAdmin
и добавьте это:
$cfg['AllowUserDropDatabase'] = true;
Сохраните и перезапустите локальный сервер, и команда появится внутри консоли.
Поделиться codegasm 01 мая 2015 в 18:18
6
Вы можете следить за загруженными изображениями
Затем выберите базу данных, которую вы хотите удалить
Поделиться Unknown 14 декабря 2017 в 04:18
5
Вы можете удалить базу данных в Cpanel.
В Cpanel перейдите к базам данных, и там вы увидите все созданные базы данных, и вы можете удалить эту базу данных.
http:/ / docs.cpanel.net / twiki/bin/view/AllDocumentation/CpanelDocs/MySQLDatabases#удалить базу данных
или иначе на живом сервере, если у пользователя есть привилегии, вы можете запустить команду на вкладке sql из phpmyadmin.
drop database databasename;
Поделиться Jason W 13 февраля 2014 в 10:46
4
имя_базы_данных -> операции -> удалить базу данных -> нажать на удалить базу данных (DROP)
Поделиться Vayodya Tamari 07 марта 2016 в 06:26
3
Если вы хотите удалить свою базу данных из phpmyAdmin или mySQl. Просто перейдите к команде SQL и напишите команду «drop DATABASE databasename;»
Пример: drop DATABASE rainbowonlineshopping;
Затем нажмите на кнопку «Go». Ваша база данных будет удалена и вы получите такую информацию
Поделиться Avinash Kumar Singh 12 июля 2018 в 18:34
3
Существует два способа удаления базы данных
- Запустите этот запрос SQL — > DROP DATABASE database_name
- Нажмите кнопку database_name -> Operations ->Remove Database
Поделиться umutekici 20 июля 2018 в 08:12
3
Выполните следующие действия, чтобы удалить базу данных в PhpMyAdmin.
- Выберите свою базу данных.
- Выберите вкладку «Operations».
- На этой странице в разделе удалить базу данных вы найдете «Drop the database (DROP)»
Надеюсь, это поможет.
Поделиться Rajneesh Shukla 01 апреля 2020 в 16:27
2
Как удалить базу данных в phpMyAdmin?
На вкладке операции базы данных найдите (и щелкните) текст Drop the database (DROP)
.
Поделиться Isaac Bennetch 16 февраля 2014 в 17:03
2
выберите пункт база данных с левой стороны. Затем справа-центральная вершина вы можете найти операции. В этом случае перейдите к удалению базы данных (DROP). Это все.
Поделиться S K padala 17 февраля 2015 в 06:20
2
Опция delete / drop в operations отсутствует в моей версии.
Перейдите к CPanel — > MySQLDatabase (значок рядом с PhPMyAdmin) — > проверьте DB на удаление — > удалить.
Поделиться user2060451 25 сентября 2016 в 18:51
2
Откройте Terminal
и запустите
mysql -u root -p
Пароль null или просто введите свой пароль mysql
Атер Просто Запустите Этот Запрос
DROP DATABASE DBname;
Если вы используете phpmyadmin, то просто запустите
DROP DATABASE DBname;
Поделиться Shabeer Sha 22 июня 2019 в 17:09
1
Перейдите на вкладку Операции для выбранной базы данных и нажмите кнопку «Drop the database (DROP)», чтобы удалить ее.
Поделиться Bilal 21 марта 2018 в 10:10
0
- Подключитесь к своему localhost.
- Откройте свой любимый браузер.
- Убедитесь,что ваш localhost работает.
- Введите url= localhost.
- Прокрутите вниз и нажмите на phpadmin, как только phpadmin будет открыт.
- Нажмите на кнопку база данных.
- Отметьте галочкой базу данных, которую вы хотите удалить.
- Нажмите на кнопку drop.
Если это не сработает
- Нажмите на кнопку база данных перейти к работе
- Нажмите кнопку удалить базу данных
Поделиться Edgardasun 30 января 2016 в 18:01
Похожие вопросы:
Получить удаленную базу данных в PHPMyAdmin
Я случайно удалил всю базу данных, когда мне нужно было просто удалить одну таблицу в PHPMyAdmin. Есть ли способ получить доступ к базе данных?
За базу phpmyadmin
Быстрый вопрос. Я новичок, и я удалял некоторые базы данных из phpMyAdmin, и я уронил базу данных phpmyadmin . Теперь это вызывает всевозможные проблемы. Должен ли я переустановить phpMyAdmin или я…
Как скрыть базу данных information_schema от phpmyadmin
Я могу скрыть базу данных от написания этой строки $cfg[‘Servers’][$i][‘hide_db’] = ‘information_schema’; в config.inc.php файле pf phpmyadmin. Доступ к содержимому этой базы данных можно получить…
Импорт XML в базу данных phpmyadmin
Я пытаюсь импортировать XML с этого сайта http:/ / data.gov.uk / dataset/car-parks в базу данных phpmyadmin, чтобы использовать ее в мэшапе google maps. Я новичок в этом деле и не знаю, как получить…
Могу ли я загрузить базу данных Phpmyadmin?
Я случайно удалил базу данных phpmyadmin , которая шла вместе с ним. Теперь я получаю такие ошибки, как: SQL query: DocumentationEdit Edit SELECT `db_name` , `comment` FROM…
phpMyAdmin не удается экспортировать базу данных
У меня есть машина VPS, и я установил phpMyAdmin и вставил в нее базу данных. Но теперь, когда я хочу сделать резервную копию и экспортировать базу данных, он говорит:: Вот error.log:…
В phpmyadmin нет опции создать новую базу данных
Я начинаю развертывать свое веб-приложение php на реальном сервере. Поэтому я купил персональный хостинг-план от Arvixe с доступом к панели C. Затем я вошел в Панель C и открыл phpmyadmin, чтобы…
Как создать базу данных ‘ phpmyadmin`
Как создать базу данных phpmyadmin после установки phpmyadmin. Кажется, это просто. Система: Ubuntu 14.04 LTS Я выполняю команду: $sudo apt-get install phpmyadmin Я забыл некоторые детали при…
SQL phpmyadmin-переименовать базу данных
Я создал свежую базу данных в phpmyadmin, которая еще не содержит никаких таблиц, так как она свежая, однако я случайно сделал опечатку. Как я могу переименовать базу данных? Если это происходит со…
Как временно отключить базу данных в phpMyAdmin
У меня есть несколько баз данных PHP для разных веб-сайтов на моем общем хостинге. В большинстве случаев имя базы данных помогает мне определить, какая база данных принадлежит какому сайту. Однако…
Работа с MySQL из командной строки
Мне часто друзья задают те или иные вопросы по администрированию и я подумал, почему бы вместо того, чтобы объяснять по 100 раз одно и то же, не писать такие статьи-заметки на сайте? К тому же, это прекрасная возможность в случае чего самому воспользоваться такой заметкой, ведь Вы сами знаете, удержать в голове порой всё не возможно и так или иначе иногда приходится обращаться к настольной книге, так пусть такой книгой станет один из разделов этого сайта. Сегодня мы поговорим о том, как работать с СУБД MySQL из командной строки, да, кто-то скажет — «Накой? Ведь есть phpMyAdmin», отвечаю — зачем тратить драгоценные ресурсы сервера, устанавливая всякую дрянь по типу WebMin, phpMyAdmin и т.п., если всё тоже самое легко можно проделать надёжными, проверенными средствами. Настройка из терминала по SSH-туннелю — наш выбор!
Что ж, приступим. Соединяемся с сервером по SSH, к примеру через всеми известный PuTTY (A Free Telnet/SSH Client). Теперь перейдём непосредственно к описанию команд.
Вход на сервер MySQL программой mysql:
mysql -u root -h localhost -p
Параметр -u указывает пользователя, который будет входить в систему. Параметр -h указывает узел сети. Обычно это localhost, если вы настраиваете не удаленный сервер. Наконец, -p сообщает программе-клиенту mysql, что для доступа к базе данных будет вводиться пароль. Обратите внимание на приглашение mysql>. Именно здесь вы будете вводить все свои команды. Теперь, находясь в среде mysql в качестве корневого пользователя, мы можем начать настройку базы данных.
Мы вошли, и на экране — приглашение mysql. Сначала взглянем на список уже имеющихся баз данных. Для этого введем команду SHOW DATABASES.
SHOW DATABASES;
Запомните, что команды MySQL следует заканчивать точкой с запятой — ;
Базы данных создаются командой CREATE DATABASE. Мы назовем свою test.
CREATE DATABASE test;
Ответ дает понять, что команда выполнена без каких-либо ошибок. В данном случае, изменилась одна строка. Это относится к главной базе данных mysql, в которой содержится список всех баз данных. Но вам не нужно слишком беспокоиться о второстепенных подробностях. Последнее число означает время выполнения запроса. Убедиться, что база данных создана, мы можем, снова запустив команду SHOW DATABASES.
Чтобы заняться созданием таблиц в новой базе данных test, нам потребуется установить ее как текущую. Для этого используем команду USE. Параметром этой команды указывается название базы данных, которую нужно сделать текущей. Еще текущую базу можно устанавливать в командной строке, указывая ее название после параметра -D. Давайте продолжим и переключимся на базу данных test.
Переключение базы данных:
USE test;
Привилегии в MySQL
Предоставление привилегий командой GRANT.
Привилегиями определяются возможности доступа пользователей к базам данных, таблицам… почти ко всему. Сейчас только суперпользователь root из MySQL может обращаться к базе данных test, согласно данным разрешениям. Давайте создадим ещё одного пользователя, например, admin (администратор), который будет обращаться к базе данных test и работать с информацией из нее. Но прежде, чем начать, давайте взглянем на несколько упрощенный формат команды GRANT.
GRANT [привилегии] ON база_данных.* TO '[пользователь]'@'[узел]' IDENTIFIED BY '[пароль]';
Примечание: Команда GRANT считается способом создания пользователя. Поздние версии MySQL, однако, также содержат функцию CREATE_USER, хотя GRANT до сих пор предпочтительнее.
Теперь нужны привилегии, которые можно присваивать. Используя все вышесказанное, можно устанавливать следующие привилегии:
ALL - дается полный доступ ко всей базе данных
CREATE - пользователям позволяется создавать таблицы
SELECT - пользователям позволяется делать запросы к таблицам
INSERT - пользователям позволяется вставлять данные в таблицу
SHOW DATABASES - разрешается выводить список баз данных
USAGE - у пользователя нет привилегий
GRANT OPTION - пользователям разрешается давать привилегии
Примечание: Если вы используете MySQL для обмена данными с веб-приложением, то разъясняемые здесь привилегии CREATE, SELECT, INSERT, а также привилегии DELETE и UPDATE (описанные в руководстве по MySQL, раздел GRANT and REVOKE Syntax (англ.)) — единственные, которые, вероятно, потребуются. Многие совершают ошибку, раздавая все привилегии, когда это, в действительности, не нужно. Сверьтесь с разработчиками приложений, действительно ли такие разрешения создадут проблемы в работе.
Создание пользователя admin:
GRANT CREATE,SELECT,INSERT,DELETE,UPDATE ON test.* TO 'admin'@'localhost' IDENTIFIED BY 'пароль';
Итак, пользователи созданы; теперь протестируем их. Сначала выйдем из mysql, написав quit в строке приглашения:
quit
Теперь мы снова в консоли. Пользователи настроены, давайте посмотрим, что они могут делать. Попробуйте выполнить несколько запросов к своим БД и посмотрите результат.
Удаление прав пользователя командой REVOKE.
Команда REVOKE позволяет запретить доступ пользователю. Можно либо запретить любой доступ, либо только определенный. В самом деле, формат очень похож на GRANT.
Синтаксис REVOKE:
REVOKE [привилегии] ON база_данных.* FROM '[пользователь]'@'[узел]';
Параметры объясняются в разделе команды GRANT. А сейчас мы запретим пользователю любой вид доступа. Скажем, мы выяснили, что учетная запись admin вызывает проблемы с безопасностью. Мы решаем отозвать все права. Заходим как root делаем необходимое.
Отзыв разрешений для пользователя admin:
REVOKE ALL ON test.* FROM 'admin'@'localhost';
Примечание: В данном случае, доступ пользователя прост, поэтому отмена прав на одну базу данных — не проблема. Но обычно вам, скорее всего, потребуется использовать *.* вместо test.*, чтобы заодно отменить доступ пользователя ко всем остальным базам данных.
Теперь взглянем, как полностью удалить учетную запись командой DELETE, и посмотрим на таблицу пользователей MySQL.
Удаление учетных записей командой DELETE.
Таблица пользователей MySQL — это список пользователей и информации о них. Убедитесь, что вы зашли как root. Используйте основную базу данных MySQL.
Использование основной базы mysql:
USE mysql;
Посмотрим, какие в базе mysql существуют таблицы:
SHOW TABLES;
Таблица user — та, что нужна. В ней 30 различных полей, и ее сложно читать. Для облегчения чтения используем третью форму команды SELECT. Искомые поля — Host (узел) и User (пользователь).
Нахождение пользователя admin в таблице user:
SELECT Host,User FROM user WHERE User = 'admin';
Теперь, получив информацию, мы можем избавиться от пользователя admin. Это делается командой DELETE; вот ее синтаксис:
DELETE FROM имя_таблицы WHERE поле='значение';
Вы могли заметить, что формат DELETE чем-то схож с форматом SELECT. Укажем поле User и значение admin. Это удалит запись из таблицы user, где пользователь — admin, удаляя нашу учетную запись. Сделаем так:
Удаление пользователя admin:
DELETE FROM user WHERE User='admin';
FLUSH PRIVILEGES;
Команда FLUSH PRIVILEGES нужна, чтобы обновить разрешения.
На сегодня всё. Согласитесь, всё просто! 😉
MariaDB работа из консоли | сЭВО:эволюция работ
Основные моменты работы с базами данных MariaDB из консоли. Не всегда под рукой имеется PhpMyAdmin, который удобен в работе а произвести необходимые работы с базами необходимо. Будьте внимательность при работе в консоли!
Введение
В статье вы узнаете как можно работать с базами данных MariaDB из консоли.
Просмотр из консоли баз MariaDB
Подключение к серверу баз
mysql -u root -p = вывод команды = Enter password: указываем пароль root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 100985 Server version: 5.5.50-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Вывод списка имеющихся баз
MariaDB [(none)]> SHOW DATABASES; = вывод команды = +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | wiki_sevo44 | +--------------------+ 4 rows in set (0.01 sec)
Просмотр базы с выводом параметров
MariaDB [(none)]> SHOW CREATE DATABASE `wiki_sevo44`; = вывод команды = +-----------+--------------------------------------------------------------------+ | Database | Create Database | +-----------+--------------------------------------------------------------------+ | wiki_sevo44 | CREATE DATABASE `wiki_sevo44` /*!40100 DEFAULT CHARACTER SET utf8 */ | +-----------+--------------------------------------------------------------------+ 1 row in set (0.00 sec)
Подключение к необходимой базе
MariаDB [(none)]> USE wiki_sevo44; = вывод команды = Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariаDB [wiki-sevo44]>
Просмотр всех таблиц из базы
MariаDB [wiki-sevo44]> SHOW tables; = вывод команды = +-----------------------+ | Tables_in_wiki_sevo44 | +-----------------------+ | l10n_cache | | langlinks | | log_search | | logging | | module_deps | | objectcache | | user_former_groups | | user_groups | | user_newtalk | | user_properties | | valid_tag | | watchlist | +-----------------------+ 12 rows in set (0. 00 sec)
Просмотр содержания нужной таблицы
MariаDB [wiki-sevo44]> SELECT * FROM page; = вывод команды = +---------+----------------+-------------------------------------+-------------------+------------------+-------------+----------------+----------------+--------------------+-------------+----------+--------------------+-----------+ | page_id | page_namespace | page_title | page_restrictions | page_is_redirect | page_is_new | page_random | page_touched | page_links_updated | page_latest | page_len | page_content_model | page_lang | +---------+----------------+-------------------------------------+-------------------+------------------+-------------+----------------+----------------+--------------------+-------------+----------+--------------------+-----------+ | 1 | 0 | Заглавная_страница | | 0 | 1 | 0.6843282599 | 20170826182609 | NULL | 1 | 1035 | wikitext | NULL | | 2 | 0 | Тестовая 3 | | 0 | 1 | 0.485584249082 | 20170830191050 | 20170830191052 | 2 | 20 | wikitext | NULL | | 3 | 0 | Тестовая | | 0 | 1 | 0.027751067675 | 20170831130200 | 20170831130201 | 3 | 19 | wikitext | NULL | | 4 | 0 | Тестовая 2 | | 0 | 0 | 0.213026978763 | 20170831131024 | 20170831131025 | 6 | 1120 | wikitext | NULL | +---------+----------------+-------------------------------------+-------------------+------------------+-------------+----------------+----------------+--------------------+-------------+----------+--------------------+-----------+ 4 rows in set (0.00 sec)
Добавление базы в MariaDB
Для работы с базой необходимо после создания добавить пользователя к этой базе и назначить права.
Добавление базы с параметрами
MariаDB [(none)]> CREATE DATABASE `base` CHARACTER SET utf8 COLLATE utf8_general_ci; = вывод команды = Query OK, 1 row affected (0.00 sec)
Удаление базы
MariaDB [(none)]> DROP DATABASE `base`; = вывод команды = Query OK, 0 rows affected (0. 01 sec)
Просмотр пользователей с выводом их прав
MariaDB [(none)]> SELECT User,Host FROM mysql.user; = вывод команды = +--------+-----------+ | User | Host | +--------+-----------+ | root | localhost | | mysql | localhost | +--------+-----------+ 2 rows in set (0.005 sec)
Права пользователя баз данных MariaDB
В случае необходимости подключатся к базе с других компьютеров необходимо создать пользователя с нужным параметром и дать права на доступ в настройках сервера MariaDB!
Права на доступ к серверу баз данных делается в двух местах:
- Параметр bind-address=0.0.0.0 в конфигурационном файле самого сервера баз MariaDB разрешающий подключатся с любого адреса (или укажите конкретный IP) в разделе [mysqld] ;
- Права пользователя на возможность удаленного подключения к базе данных.
Для работы с базами мне удобно использовать PhpMyAdmin и эта программа позволяет настроить доступ к базам работающих на разных серверах.
Менять права пользователя root не желательно, но можно создать пользователя и дать ему полные права. Держать ещё одного пользователя с полными правами не разумно, но иногда необходимо. Добавляются пользователю полные права командой:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* to 'имя пользователя'@'%';
После добавления пользователя с полными правами и имеющегося PhpMyAdmin настроенного для подключения к другим серверам баз данных, можно зайти и создать все необходимые базы и пользователей.
Например, ниже представлена полная версия команд после выполнения которых будет создан пользователь sevo44 с полными правами:
mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 8 Server version: 10.4.8-MariaDB MariaDB Server 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)]> CREATE USER `sevo44`@`%` IDENTIFIED BY 'ПАРОЛЬ'; Query OK, 0 rows affected (0.008 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* to 'sevo44'@'%'; Query OK, 0 rows affected (0.017 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> exit Bye
Для безопасности я никогда не создаю пользователя с полными правами который может подключатся с удаленных мест. Для каждой базы свой пользователь!
В случае если надо поменять права имеющемуся пользователю это делается следующей командой, после подключения к серверу баз данных:
# Команда смены прав доступа пользователя на подключение с любого адреса (параметр %) MariaDB [(none)]> UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='имя_пользователя'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 # Команда смены прав доступа на базы MariaDB [(none)]> UPDATE mysql.db SET Host='%' WHERE Host='localhost' AND User='имя_пользователя'; Query OK, 0 rows affected (0.03 sec) Rows matched: 0 Changed: 0 Warnings: 0
Добавление пользователя
# Права на доступ только с localhost MariаDB [(none)]> CREATE USER `base_user`@localhost IDENTIFIED BY 'ПАРОЛЬ'; # Права на доступ с любого адреса (при использовании знаков в названиях код заключается в кавычки! MariаDB [(none)]> CREATE USER `base_user`@`%` IDENTIFIED BY 'ПАРОЛЬ'; # Права на доступ с адреса 10.10.0.2 (при использовании знаков в названиях код заключается в кавычки! MariаDB [(none)]> CREATE USER `base_user`@`10.10.0.2` IDENTIFIED BY 'ПАРОЛЬ'; = правильный вывод команды для любой команды = Query OK, 0 rows affected (0.10 sec)
Назначение пользователя базе
# При назначении прав выставляем пользователя с нужными правами! MariaDB [(none)]> GRANT ALL PRIVILEGES ON base. * to base_user@localhost; = вывод команды = Query OK, 0 rows affected (0.04 sec)
После всех манипуляция с базами необходимо обновить права доступа
MariаDB [(none)]> FLUSH PRIVILEGES; = вывод команды = Query OK, 0 rows affected (0.02 sec)
Выход с сервера MariaDB
Выход производиться командой
MariаDB [(none)]> exit = вывод команды = Bye
Резервное копирование и восстановление баз MariaDB
Создадим необходимую папку для бэкапов и перейдем в неё
mkdir backup cd backup
Создание резервной копию базы с указанием даты создания
mysqldump -u base_user -p base > base-dump_10092017.sql = вывод команды = Enter password: вводим пароль пользователя базы и жмем Enter
Восстановление резервной копии базы
mysql -u base_user -p base < base-dump_10092017.sql = вывод команды = Enter password: вводим пароль пользователя базы и жмем Enter
Вывод
В консоли без проблем можно делать все основные манипуляции с базой данных. Для более удобной работы удобней использовать PhpMyAdmin, установку и настройку которой я рассмотрел в своей статье PhpMyAdmin на Nginx.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Удаление базы данных — SQL Server
- Чтение занимает 2 мин
В этой статье
Применимо к:Applies to: SQL ServerSQL Server (все поддерживаемые версии) SQL ServerSQL Server (all supported versions) База данных SQL AzureAzure SQL DatabaseБаза данных SQL AzureAzure SQL DatabaseПрименимо к:Applies to: SQL ServerSQL Server (все поддерживаемые версии) SQL ServerSQL Server (all supported versions) База данных SQL AzureAzure SQL DatabaseБаза данных SQL AzureAzure SQL Database
В этом разделе описывается, как удалить пользовательскую базу данных в SQL ServerSQL Server с помощью SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL. This topic describes how to delete a user-defined database in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.
В этом разделеIn This Topic
Перед началомBefore You Begin
ОграниченияLimitations and Restrictions
- Системные базы данных не могут быть удалены.System databases cannot be deleted.
Предварительные требованияPrerequisites
Удалите все моментальные снимки базы данных, которые существуют для базы.Delete any database snapshots that exist on the database. Дополнительные сведения см. в разделе Удаление моментального снимка базы данных (Transact-SQL).For more information, see Drop a Database Snapshot (Transact-SQL).
Если база данных участвует в доставке журналов, удалите доставку журналов.If the database is involved in log shipping, remove log shipping.
Если база данных публикуется для репликации транзакций, опубликована или подписана на репликацию слиянием, удалите репликацию из базы данных.If the database is published for transactional replication, or published or subscribed to merge replication, remove replication from the database.
РекомендацииRecommendations
- Учтите возможность полного резервного копирования базы данных.Consider taking a full backup of the database. Удаленную базу данных можно восстановить только с помощью резервной копии.A deleted database can be re-created only by restoring a backup.
безопасностьSecurity
PermissionsPermissions
Для выполнения инструкции DROP DATABASE пользователь должен, как минимум, иметь разрешение CONTROL на базу данных.To execute DROP DATABASE, at a minimum, a user must have CONTROL permission on the database.
Использование среды SQL Server Management StudioUsing SQL Server Management Studio
Удаление базы данныхTo delete a database
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database EngineSQL Server Database Engineи разверните его. In Object Explorer, connect to an instance of the Компонент SQL Server Database EngineSQL Server Database Engine, and then expand that instance.
Разверните Базы данных, щелкните правой кнопкой мыши удаляемую базу данных и затем нажмите кнопку Удалить.Expand Databases, right-click the database to delete, and then click Delete.
Подтвердите, что выбрана верная база данных, а затем нажмите кнопку ОК.Confirm the correct database is selected, and then click OK.
Использование Transact-SQLUsing Transact-SQL
Удаление базы данныхTo delete a database
Установите соединение с компонентом Компонент Database EngineDatabase Engine.Connect to the Компонент Database EngineDatabase Engine.
На панели «Стандартная» нажмите Создать запрос.From the Standard bar, click New Query.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.Copy and paste the following example into the query window and click Execute. В следующем примере удаляются базы данных
Sales
иNewSales
.The example removes theSales
andNewSales
databases.
USE master ;
GO
DROP DATABASE Sales, NewSales ;
GO
Дальнейшие действия. После удаления базы данныхFollow Up: After deleting a database
Создание резервной копии базы данных master .Back up the master database. Если необходимо восстановить базу данных master , любая база данных, удаленная с момента создания последней резервной копии базы данных master , останется в представлениях системного каталога и может вызвать сообщения об ошибках.If master must be restored, any database that has been deleted since the last backup of master will still have references in the system catalog views and may cause error messages to be raised.
См. также:See Also
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)
Как настроить и подключить базу данных MySQL в конфигурации Serverless | AWS
Изучив это учебное пособие, вы научитесь настраивать и подключать Amazon Aurora Serverless.
Amazon Aurora – это сервис реляционных баз данных версий, совместимых с MySQL и PostgreSQL, который обеспечивает эффективность и доступность баз данных для организаций с минимальными затратами. Aurora Serverless – это новая конфигурация с автомасштабированием по требованию для Aurora, которая теперь доступна для версии Aurora, совместимой с MySQL. Благодаря Aurora Serverless ваша база данных будет автоматически запускаться, закрываться и масштабироваться, увеличивая или уменьшая ресурсы в зависимости от потребностей приложения. Вы сможете воспользоваться такими преимуществами Aurora как высокий уровень доступности, масштабируемость и скорость, и вам не придется платить за ресурсы, которые вы не используете.
Как правило, в администрировании баз данных присутствует элемент угадывания: невозможно прогнозировать необходимость увеличения объема вычислительных ресурсов и размера хранилищ для приложений, и существуют определенные трудности в управлении переменными рабочими нагрузками, например в процессе разработки или тестирования баз данных, а также переноса значительного объема баз данных онлайн, – и при этом они используются нечасто. С появлением Aurora Serverless метод проб и ошибок остался в прошлом. Aurora Serverless увеличивает объемы хранилища и вычислительных ресурсов, когда это необходимо для работы приложения, и уменьшает эти объемы, когда потребности приложения снижаются. Плата за ресурсы БД начисляется на посекундной основе в периоды ее активного использования, при этом между конфигурациями Standard и Serverless можно переключаться за несколько щелчков мышью в Консоли управления AWS.
В ближайшие несколько минут вы создадите и настроите новый кластер БД Aurora Serverless. Для доступа к новому кластеру Aurora Serverless мы создадим среду Cloud9 и направим сетевой трафик к кластеру из среды Cloud9. Используя инструмент командной строки MySQL, установленный в среде Cloud9, мы выполним вход в кластер. И наконец, мы очистим и удалим среду Cloud9 и кластер БД Aurora Serverless.
Это учебное пособие не относится к уровню бесплатного пользования, но будет стоить вам менее 1 USD при условии выполнения указанных в учебном пособии шагов и удаления ресурсов по окончании его изучения.
Как удалить базу данных в MySQL / MariaDB
Предполетная проверка
- Эти инструкции предназначены для удаления базы данных MySQL в Linux через командную строку.
- Я буду работать с сервера CentOS 7 под управлением Liquid Web Core и буду входить в систему как root.
Сначала мы войдем на сервер MySQL из командной строки с помощью следующей команды:
В этом случае я указал пользователя root с помощью флага -u , а затем использовал -p , чтобы MySQL запрашивал пароль.Введите свой текущий пароль для завершения входа в систему. Если вам нужно изменить свой пароль root (или любой другой) в базе данных, следуйте этому руководству по изменению пароля для MySQL через командную строку.
Теперь вы должны увидеть приглашение MySQL, которое очень похоже на это:
Следуйте этому руководству, если вы еще не создали базу данных или вам нужен список баз данных.
Удаление базы данных в MySQL
Для удаления базы данных в MySQL требуется всего одна простая команда, но ОСТОРОЖНО; удаление базы данных невозможно отменить! Команда выглядит следующим образом:
DROP DATABASE tutorial_database;
Если база данных с именем tutorial_database не существует, вы получите следующую ошибку:
ОШИБКА 1008 (HY000): не удается удалить базу данных «tutorial_database»; база данных не существует
Чтобы избежать появления этой ошибки, используйте вместо нее следующую команду:
DROP DATABASE IF EXISTS tutorial_database;
Приведенная выше команда удалит базу данных tutorial_database , только если база данных с таким именем существует.
Просмотреть все базы данных MySQL
Чтобы просмотреть список баз данных, просто введите следующую команду:
Ваш результат должен быть примерно таким:
mysql> ПОКАЗАТЬ БАЗЫ ДАННЫХ;
+ -------------------- +
| База данных |
+ -------------------- +
| information_schema |
| mysql |
| тест |
+ -------------------- +
4 ряда в наборе (0,00 сек)
Заключение
В этом руководстве мы рассмотрели, как просматривать и удалять базу данных MySQL из командной строки в Linux.Мы также включили удобное видео, которое представляет наглядное представление о том, как выполнить эту задачу.
Есть еще вопросы по этой теме?
Свяжитесь с нами сегодня по телефону 1.800.580.4985, чтобы поговорить со знающим системным администратором или администратором Linux, который предоставит вам необходимую информацию!
Слишком занят, чтобы разговаривать? Нажмите ЗДЕСЬ, чтобы начать с нами чат и узнать больше.
Хотите получить дополнительную информацию в форме электронной почты, чтобы вы могли просмотреть информацию на досуге? Напишите нам сегодня, чтобы узнать, как это работает.
Мы с нетерпением ждем вашего ответа!
Почему я не могу удалить базу данных MySQL?
Это случилось со мной на сервере Linux, и причиной был поврежденный каталог базы данных.
ОБНОВЛЕНИЕ : нужно зайти в каталог базы данных MySQL и выполнить команду ls -la
, чтобы убедиться, что вредоносная БД такая же, как и другие, в отношении разрешений, владения и так далее. Например, здесь нельзя отбросить «исходную» базу данных (она была создана дурацким инструментом, запущенным от имени пользователя root):
drwx ------ 2 mysql mysql 4096 27 августа 2015 г. _db_graph
drwx ------ 2 mysql mysql 4096 13 июля, 11:58 _db_xatex
drwxrw-rw- 2 root root 12288 18 мая 14:27 _db_xatex_original
drwx ------ 2 mysql mysql 12288 9 июня 08:23 _db_xatex_contab
drwx ------ 2 mysql mysql 12288 18 мая, 17:58 _db_xatex_copy
drwx ------ 2 mysql mysql 4096 24 ноября 2016 _db_xatex_test
Запуск chown mysql: mysql _db_xatex_original; chmod 700 _db_xatex_original
устранит проблему (но проверьте внутри каталога , чтобы убедиться, что там разрешения и права собственности копасетичны).
В конце концов, я применил следующий уродливый хак (после попытки остановить, перезапустить и восстановить все, что могло быть целью REPAIR
):
- создал базу «козлов отпущения»
- остановил MySQL Server
- скопировал каталог, созданный сервером MySQL, / var / lib / mysql / scapegoat, в / tmp .
- перезапустил сервер MySQL, сбросил базу данных «козла отпущения», остановил сервер
- Теперь у меня была копия чистого, пустого каталога БД, о котором MySQL больше ничего не знал.
- переместил каталог «evildb» в / tmp (чтобы, если что-то пойдет не так, я мог бы вернуть его обратно)
- переместил каталог «козла отпущения» в / var / lib / mysql, переименовав его в «evildb»
- запустил MySQL Server
- не уверен, проводил ли я еще ремонт на этом этапе
- и база данных «evildb» стала недоступной!
Мое объяснение состоит в том, что при запросе на удаление базы данных сервер MySQL сначала выполняет некоторые проверки файлов в каталоге базы данных.Если эти проверки не пройдут, сброс также не будет успешным. Эти проверки должны немного отличаться от тех, которые выполняет REPAIR
. Возможно, в затронутом каталоге произошло что-то неожиданное.
Я думаю, что это было в MySQL 5.1 или 5.2 в дистрибутиве Linux SuSE 11.2. Надеюсь, поможет.
ОБНОВЛЕНИЕ
Оглядываясь назад, я не помню, чтобы получал ошибки по поводу «proc». Так что я менее уверен, что проблема кроется в каталоге . Это может быть связано с таблицей proc,
, без , являющейся повреждением таблицы.Вы пытались визуально проверить таблицу базы данных proc
, чтобы найти там что-то, что принадлежит злой БД?
ИСПОЛЬЗОВАТЬ mysql;
ВЫБРАТЬ * ИЗ ПРОЦЕССА;
Это или любые связанные с этим ошибки могут помочь в решении проблемы. Кто знает, у вас могут быть строки с неправильным столбцом db
. В крайнем случае, вы можете экспортировать таблицу proc
и перезагрузить ее после очистки (либо через SQL, либо через файл на диске).
ТЕСТ
У меня есть частичная проверка вышеупомянутого обновления.Если намеренно вставил мусор в таблицу proc
по поводу недавно созданной базы данных evil
, я частично воспроизвел ваши симптомы (необратимая база данных, соединение MySQL вылетает при попытке). Однако номер ошибки не 1548; но, возможно, это было бы так, если бы я вставил правый мусор в эту таблицу … в любом случае, полезный бит заключается в том, что после удаления всех ссылок на злой
db, последний снова стал удаляемым:
mysql> удалить базу данных зло;
ОШИБКА 2013 (HY000): потеряно соединение с сервером MySQL во время запроса.
mysql> используйте mysql;
Нет соединения.Пытаюсь переподключиться ...
Идентификатор подключения: 1
Текущая база данных: *** НЕТ ***
База данных изменена
mysql> УДАЛИТЬ ИЗ proc WHERE db = 'evil';
Запрос в порядке, затронуты 2 строки (0,00 сек)
mysql> отбросить базу данных зла;
Запрос в порядке, затронуты 0 строк (0,00 сек)
mysqldump — Почему DROP DATABASE занимает так много времени? (MySQL)
Новая установка CentOS.
Я выполнял импорт большой БД (файл sql 2 ГБ), и у меня возникла проблема. Клиент SSH, казалось, потерял соединение, и импорт, казалось, завис.Я использовал другое окно для входа в mysql, и импорт оказался мертвым, застрявшим в определенной таблице строк 3M.
Так я попробовал
УДАЛЕНИЕ БАЗЫ ДАННЫХ huge_db;
Спустя 15-20 минут ничего. В другом окне я сделал:
/etc/init.d/mysqld перезапуск
В окне DROP DB получено сообщение: ВЫКЛЮЧЕНИЕ СЕРВЕРА. Затем я перезапустил физический сервер.
Снова зашел в mysql, проверил, db все еще там, запустил
УДАЛЕНИЕ БАЗЫ ДАННЫХ huge_db;
Опять, и снова жду уже минут 5.
Еще раз, это свежая установка. huge_db
— единственный db (кроме системных dbs). Я клянусь, что раньше и так быстро уронил db, но, возможно, я ошибаюсь.
Я успешно удалил базу данных. На это ушло около 30 минут. Также обратите внимание, что я думаю, что ошибался, когда думал, что импорт mysqldump не работает. Терминальное соединение было потеряно, но я думаю, что процесс все еще продолжался. Я, скорее всего, убил промежуточную таблицу импорта (таблица строк 3M) и, вероятно, 3/4 пути через весь db.Вводило в заблуждение, что «top» показывал, что mysql использует только 3% памяти, тогда как казалось, что он должен использовать больше.
Удаление БД заняло 30 минут, поэтому, опять же, мне, возможно, не пришлось перезапускать сервер и, возможно, я мог просто дождаться завершения DROP, но я не знаю, как mysql отреагирует на получение запроса DROP. для той же базы данных, которую он импортирует через mysqldump.
Тем не менее, остается вопрос, почему требуется 30 минут + для DROP 2GB базы данных, когда все, что нужно сделать, это удалить все файлы db и удалить все ссылки на DB из information_schema? Подумаешь?
MySQL Удалить базу данных
MySQL Drop Database используется для удаления всех таблиц, присутствующих в базе данных, а также для удаления самой базы данных.Давайте посмотрим, как удалить базу данных в MySQL на примере. Здесь мы будем использовать как командную строку MySQL, так и Workbench для MySQL Delete Database
.Пример удаления базы данных MySQL
В этом примере мы покажем вам, как удалить базу данных в MySQL с помощью командной строки. Прежде чем мы начнем удаление базы данных, позвольте мне показать вам список доступных баз данных на сервере MySQL. Чтобы получить эту информацию, вы должны использовать команду SHOW DATABASES.
ПОКАЗАТЬ БАЗЫ ДАННЫХ;
На следующем снимке экрана показан список доступных баз данных.
Базовый синтаксис для удаления базы данных или удаления базы данных MySQL:
DROP DATABASE Имя_базы_данных
Для демонстрации целей удаления базы данных мы собираемся удалить файл First_Database. Итак, замените Database_Name на First_Database, как показано ниже.
DROP DATABASE First_Database;
На приведенном ниже снимке экрана видно, что команда выполнена успешно. И это говорит о том, что пострадала 1 строка. Это означает, что в этой базе данных MySQL есть одна таблица, и эта таблица удаляется (вместе с базой данных).
Теперь позвольте мне показать вам доступные базы данных. И вы можете видеть, что first_database отсутствует в списке.
MySQL Удалить базу данных в Workbench
Чтобы удалить базу данных, позвольте мне открыть Workbench. На приведенном ниже снимке экрана вы можете увидеть список доступной базы данных на панели Схемы . Здесь есть несколько способов удалить базу данных в Workbench. Вы можете написать оператор MySQL drop database или использовать контекстное меню.
MySQL Удалить базу данных с помощью запроса в Workbench
В этом примере мы удаляем базу данных second_database с помощью команды Drop database
УДАЛИТЬ БАЗУ ДАННЫХ second_database;
Здесь команда выполнена успешно.Теперь вы можете видеть, что в схемах
нет second_database.MySQL Drop Database с использованием графического интерфейса Workbench
Чтобы удалить или отбросить базу данных в MySQL, в разделе SCHEMAS перейдите к базе данных, которую вы хотите удалить. Щелкните правой кнопкой мыши по нему, чтобы открыть контекстное меню. Выберите Drop Schema…. из контекстного меню.
Выберите вариант Drop Now .
Теперь вы видите, что в схемах нет третьей базы данных.
СОВЕТ: Нажмите кнопку обновления рядом со схемами, чтобы увидеть обновленные схемы.
Лучший способ удалить базу данных
Давайте посмотрим, что произойдет, если мы удалим несуществующую базу данных с помощью оператора MySQL drop database. На приведенном ниже снимке экрана вы можете увидеть, что он выдает ошибку: Не удается удалить базу данных first_database. База данных не существует.
УДАЛИТЬ БАЗУ ДАННЫХ first_database;
Следующий оператор будет выполнять только Drop Database Statement, если first_database в доступной в системной базе данных
УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ first_database;
Позвольте мне попробовать другое имя базы данных с помощью команды MySQL drop database
УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ 4th_database;
Пустая база данных MySQL / Удалить или отбросить все таблицы
Автор: Вивек Гите Последнее изменение: 13 ноября 2008 г. К .Как очистить базу данных MySQL? Какую команду SQL нужно выполнить, чтобы удалить все (сотни) таблиц в базе данных MySQL, называемой atomstore?
А . Вам нужно использовать команду DROP DATABASE sql, чтобы удалить все таблицы в базе данных / пустой базе данных и удалить базу данных. Будьте очень осторожны с этим заявлением! Чтобы использовать DROP DATABASE, вам потребуется привилегия DROP в базе данных
Синтаксис удаления всех таблиц MySQL:
УДАЛЕНИЕ БАЗЫ ДАННЫХ {имя-базы-MySQL}
Метод №1: Пустая база данных с пользователем root
Для использования этой процедуры у вас должны быть права на удаление и создание базы данных (в противном случае вы удалите базу данных, но не сможете создать ее снова).Войдите в систему как пользователь root или администратор MySQL, чтобы удалить базу данных atomstore:
$ mysql -u root -p
Теперь удалите базу данных:
mysql> DROP DATABASE atomstore;
Теперь снова создайте базу данных:
mysql> CREATE DATABASE atomstore;
Выйти и закрыть сеанс:
mysql> выйти
Метод № 2: Удалить все таблицы с помощью сценария оболочки без корневого доступа
У меня есть небольшой удобный сценарий оболочки, который удаляет все таблицы без удаления и повторного создания базы данных MySQL.Таблицы ‘) для t в $ TABLES делать echo «Удаление таблицы $ t из базы данных $ MDB …» $ MYSQL -u $ MUSER -p $ MPASS $ MDB -e «удалить таблицу $ t» сделано
Просто используйте приведенный выше сценарий, чтобы очистить базу данных под названием quiz с именем пользователя tom и паролем jerry:
$ ./drop.table.sh tom jerry quiz
Скачать скрипт удаления пустой базы данных MySQL
Вы можете скачать полный скрипт с проверкой ошибок ниже:
MySQL Drop База данных — javatpoint
Мы можем быстро отбросить / удалить / удалить базу данных MySQL с помощью команды MySQL DROP DATABASE.Он навсегда удалит базу данных вместе со всеми таблицами, индексами и ограничениями. Следовательно, мы должны быть очень осторожны при удалении базы данных в MySQL, потому что мы потеряем все данные, доступные в базе данных. Если база данных недоступна на сервере MySQL, оператор DROP DATABASE выдает ошибку.
MySQL позволяет нам удалить / удалить / удалить базу данных в основном двумя способами:
- Клиент командной строки MySQL
- Инструментальные средства MySQL
Клиент командной строки MySQL
Мы можем удалить существующую базу данных в MySQL с помощью оператора DROP DATABASE со следующим синтаксисом:
УДАЛИТЬ БАЗУ ДАННЫХ [ЕСЛИ СУЩЕСТВУЕТ] имя_базы_данных;
В MySQL мы также можем использовать приведенный ниже синтаксис для удаления базы данных.Это потому, что схема является синонимом базы данных, поэтому мы можем использовать их как взаимозаменяемые.
DROP SCHEMA [IF EXISTS] имя_базы_данных;
Параметр Описание
Описание параметров приведенного выше синтаксиса выглядит следующим образом:
Параметр | Описание |
---|---|
имя_базы_данных | Это имя существующей базы данных, которую мы хотим удалить с сервера. Он должен быть уникальным в экземпляре сервера MySQL. |
ЕСЛИ ЕСТЬ | Необязательно. Он используется для предотвращения появления ошибки при удалении несуществующей базы данных. |
Пример
Давайте разберемся, как удалить базу данных в MySQL на примере. Откройте консоль MySQL и запишите пароль, если он был задан при установке. Теперь мы готовы удалить базу данных.
Затем используйте оператор SHOW DATABASES , чтобы увидеть всю доступную базу данных на сервере:
Предположим, мы хотим удалить базу данных с именем «mytestdb_copy» .Выполните следующую инструкцию:
УДАЛИТЬ БАЗУ ДАННЫХ mytestdb_copy;
Теперь мы можем проверить, удалена ли наша база данных или нет, выполнив следующий запрос. Это будет выглядеть так:
Из вышесказанного видно, что база данных mytestdb_copy успешно удалена.
Примечание. Все имена баз данных, имена таблиц и имена полей таблиц чувствительны к регистру. Мы должны использовать собственные имена при подаче любой команды SQL.
База данных DROP с использованием MySQL Workbench
Чтобы удалить базу данных с помощью этого инструмента, нам сначала нужно запустить MySQL Workbench и войти в систему с именем пользователя и паролем на сервере MySQL.Появится следующий экран:
Теперь выполните следующие шаги для удаления базы данных:
1. Перейдите на вкладку «Навигация» и щелкните меню Схема . Здесь мы видим все ранее созданные базы данных. Если мы хотим удалить базу данных, щелкните правой кнопкой мыши базу данных, которую вы хотите удалить, например, testdb_copy в меню «Схема» и выберите опцию Drop Schema , как показано на следующем экране.
Когда мы выбираем опцию Drop Schema, MySQL Workbench отображает диалоговое окно для подтверждения процесса удаления.Если мы выберем Review SQL , будет создан оператор SQL, который будет выполнен. И если мы выберем вариант Drop Now , база данных будет удалена без возможности восстановления.
Если мы хотим безопасное удаление базы данных, необходимо выбрать опцию Review SQL. Убедившись, что мы уверены, нажмите кнопку «Выполнить», чтобы выполнить оператор. Экран ниже объясняет это более четко:
После того, как мы нажмем кнопку «Выполнить», MySQL вернет следующее сообщение, указывающее, что база данных успешно удалена.Поскольку база данных testdb_copy — это пустая база данных, количество затронутых строк равно нулю.
Если мы проверим вкладку схем, мы больше не найдем базу данных testdb_copy в списке.
Как сделать резервную копию и восстановить базы данных MySQL с помощью команды mysqldump
В этой статье я собираюсь объяснить различные способы создания резервной копии на сервере базы данных MySQL. Как мы знаем, данные — ценный актив для организации. Как администратор базы данных, наша основная и важная задача — обеспечивать доступность и безопасность данных.В случае отказа системы или центра обработки данных, повреждения базы данных и потери данных мы должны иметь возможность восстановить их в рамках определенного SLA.
Различные платформы баз данных предоставляют различные методы для создания резервной копии и восстановления базы данных. Многие поставщики предоставляют современные программные и аппаратные решения, которые могут помочь в резервном копировании базы данных и восстановлении базы данных в пределах заданных RTO и RPO.
Здесь мы не собираемся обсуждать решения для резервного копирования сторонних поставщиков.Я расскажу о собственных методах, которые используются для создания резервной копии базы данных. Мы можем создать резервную копию базы данных MySQL, используя любой из следующих методов:
- Создайте резервную копию с помощью утилиты mysqldump
- Создание инкрементных резервных копий с использованием двоичного журнала
- Создание резервных копий с помощью репликации ведомых устройств
В этой статье я собираюсь объяснить, как мы можем использовать mysqldump для создания резервной копии базы данных MySQL.
Создать резервную копию с помощью утилиты mysqldump
Mysqldump — это служебная программа командной строки, которая используется для создания логической резервной копии базы данных MySQL. Он создает операторы SQL, которые можно использовать для воссоздания объектов и данных базы данных. Команду также можно использовать для генерации вывода в формате XML, текстовом формате с разделителями или CSV.
Эта команда проста в использовании, но единственная проблема, возникающая при восстановлении базы данных. Как я уже упоминал, когда мы создаем резервную копию базы данных MySQL, она создает файл резервной копии, содержащий команды SQL, необходимые для перестройки или восстановления базы данных.Теперь, когда мы восстанавливаем базу данных, команда выполняет все операторы SQL для создания таблиц и вставки данных. Если у вас большая база данных, процесс восстановления занимает много времени.
Примечание: По умолчанию команда mysqldump не создает дамп базы данных information_schema , performance_schema, и базы данных MySQL Cluster ndbinfo .
Если вы хотите включить таблицы information_schema , вы должны явно указать имя базы данных в команде mysqldump , а также включить параметр — skip-lock-tables .
Существует множество опций и функций, которые можно использовать с mysqldump . Вы можете просмотреть полный список опций здесь. Я перейду к некоторым основным функциям. Ниже приведен синтаксис утилиты mysqldump .
mysqldump -u [имя пользователя] –p [пароль] [параметры] [имя_базы_данных] [имя_таблицы]> [dumpfilename.sql]
Параметры следующие:
- -u [имя_пользователя]: Это имя пользователя для подключения к серверу MySQL.Для создания резервной копии с использованием mysqldump , « Select » для дампа таблиц, « Show View » для представлений, « Trigger » для триггеров. Если вы не используете опцию — для одной транзакции , то пользователю должны быть предоставлены права « Lock Tables ».
- -p [пароль]: Действительный пароль пользователя MySQL.
- [опция]: Параметр конфигурации для настройки резервного копирования
- [имя базы данных]: Имя базы данных, для которой вы хотите сделать резервную копию
- [имя таблицы]: Это необязательный параметр.Если вы хотите создать резервную копию определенных таблиц, вы можете указать имена в команде
- «<» OR »>»: Этот символ указывает, создаем ли мы резервную копию базы данных или восстанавливаем базу данных. Вы можете использовать «>» для создания резервной копии и « <» для восстановления резервной копии.
- [dumpfilename.sql]: Путь и имя файла резервной копии. Как я уже упоминал, мы можем сгенерировать резервную копию в XML, тексте с разделителями или в файле SQL, чтобы мы могли предоставить соответствующее расширение файла.
Создать резервную копию единой базы данных
Например, вы хотите создать резервную копию одной базы данных, выполните следующую команду.Команда сгенерирует резервную копию базы данных « sakila » со структурой и данными в файле sakila_20200424.sql .
mysqldump -u root -p sakila> C: \ MySQLBackup \ sakila_20200424.sql
Когда вы запускаете эту команду, она запрашивает пароль. Введите соответствующий пароль. См. Следующее изображение:
После успешного создания резервной копии позвольте нам открыть файл резервной копии, чтобы просмотреть содержимое файла резервной копии.Откройте хранилище резервной копии и дважды щелкните файл « sakila_20200424.sql ».
Как вы можете видеть на изображении выше, файл резервной копии содержит различные операторы T-SQL, которые можно использовать для воссоздания объектов.
Создать резервную копию нескольких баз данных или всех баз данных
Например, вы хотите создать резервную копию более чем одной базы данных. Вы должны добавить опцию — databases в команду mysqldump .Следующая команда сгенерирует резервную копию базы данных « sakila » и « сотрудников » со структурой и данными.
mysqldump -u root -p –databases sakila employee> C: \ MySQLBackup \ sakila_employees_20200424.sql
См. Следующее изображение:
Точно так же, если вы хотите создать резервную копию всех баз данных, вы должны использовать параметр –all-databases в команде mysqldump .Следующая команда сгенерирует резервную копию всех баз данных на сервере MySQL.
mysqldump -u root -p –all-databases> C: \ MySQLBackup \ all_databases_20200424.sql
См. Следующее изображение:
Создать резервную копию структуры базы данных
Если вы хотите создать резервную копию структуры базы данных, вы должны использовать параметр –no-data в команде mysqldump .Следующая команда создает резервную копию структуры базы данных sakila .
mysqldump -u root -p –no-data sakila> C: \ MySQLBackup \ sakila_objects_definition_20200424.sql
См. Следующее изображение:
Создать резервную копию определенной таблицы
Если вы хотите создать резервную копию определенной таблицы, вы должны указать имя таблиц после имени базы данных.Следующая команда создает резервную копию таблицы актеров базы данных sakila .
mysqldump -u root -p sakila оплата актера> C: \ MySQLBackup \ scheme_payment_table_20200424.sql
Если вы хотите создать резервную копию более чем одной таблицы, чем вы должны разделить имена таблиц пробелом, следующая команда сгенерирует резервную копию субъект и платеж таблицы базы данных sakila .
Создать резервную копию данных базы данных
Если вы хотите создать резервную копию данных без структуры базы данных, вы должны использовать параметр –no-create-info в команде mysqldump . Следующая команда создает резервную копию данных базы данных sakila .
mysqldump -u root -p sakila –no-create-info> C: \ MySQLBackup \ sakila_data_only_20200424.sql
См. Следующее изображение.
Давайте посмотрим содержимое файла резервной копии.
Как вы можете видеть на приведенном выше снимке экрана, файл резервной копии содержит различные операторы T-SQL, которые можно использовать для вставки данных в таблицы.
Восстановление базы данных MySQL
Восстановить базу данных MySQL с помощью mysqldump очень просто. Для восстановления базы данных необходимо создать пустую базу данных.Во-первых, давайте отбросим и воссоздадим базу данных sakila, выполнив следующую команду.
mysql> удалить базу данных sakila;
Запрос в порядке, затронуты 24 строки (0,35 сек)
mysql> создать базу данных sakila;
Запрос в порядке, затронута 1 строка (0,01 сек)
MySQL>
При восстановлении базы данных вместо mysqldump необходимо использовать mysql; в противном случае, mysqldump не будет генерировать схему и данные.Выполните следующую команду, чтобы восстановить базу данных sakila:
mysql -u корень -p sakila
После успешного выполнения команды выполните следующую команду, чтобы убедиться, что все объекты были созданы в базе данных sakila .
mysql> используйте sakila;
База данных изменена
mysql> показать таблицы;
См. Следующее изображение:
Восстановить конкретную таблицу в базе данных
Например, кто-то удалил таблицу из базы данных.Вместо восстановления всей базы данных мы можем восстановить удаленную таблицу из доступной резервной копии. Для демонстрации удалите таблицу субъект из базы данных sakila, выполнив следующую команду в инструменте командной строки MySQL.
mysql> используйте sakila;
База данных изменена
mysql> субъект отбрасывания таблицы;
Чтобы восстановить таблицу актеров, выполните следующий пошаговый процесс.
Шаг 1:
Создайте фиктивную базу данных с именем sakila_dummy и восстановите на ней резервную копию базы данных sakila .Ниже приводится команда.
mysql> создать базу данных sakila_dummy;
mysql> используйте sakila_dummy;
mysql> источник C: \ MySQLBackup \ sakila_20200424.sql
Шаг 2:
Сделайте резервную копию таблицы субъект в файл sakila_dummy_actor_20200424.sql . Ниже приводится команда
C: \ Users \ Nisarg> mysqldump -u root -p sakila_dummy субъект> C: \ MySQLBackup \ sakila_dummy_actor_20200424.sql
Шаг 3:
Восстановите таблицу актеров из файла « sakila_dummy_actor_20200424.sql ». Ниже приводится команда инструмента командной строки MySQL.
mysql> исходный код C: \ MySQLBackup \ sakila_dummy_actor_20200424.sql
Выполните следующую команду, чтобы убедиться, что таблица была успешно восстановлена.
mysql> используйте sakila;
База данных изменена
mysql> показать таблицы;
См. Следующее изображение:
Сводка
В этой статье я объяснил, как мы можем использовать утилиту командной строки mysqldump для создания следующего:
- Резервное копирование базы данных MySQL, таблицы или структуры базы данных
- Восстановить базу данных MySQL или таблицу из резервной копии