Как удалить базу данных MySQL через команду оболочки

72

Я использую пилоны и sqlalchemy. Я постоянно обновляю файлы схемы и удаляю и воссоздаю базу данных, чтобы можно было создать новую схему.

Каждый раз, когда я это делаю, открывая браузер запросов MySql и вхожу в систему и удаляю базу данных/схему.

Как удалить команды оболочки linux MySQL db/schema в Ubuntu Linux?

  • 0
    Это работает на любой ОС, не только Linux
Теги:
database

8 ответов

134
Лучший ответ

Попробуйте следующую команду:

mysqladmin -h[hostname/localhost] -u[username] -p[password] drop [database]
  • 12
    спасибо Алекс Я добавил -f, чтобы принудительно удалить
  • 5
    Ваш пароль будет доступен любому другому пользователю в системе. ps aux . Попробуйте вместо этого использовать .my.cnf .
Показать ещё 4 комментария
28

В общем, вы можете передать любой запрос в mysql из оболочки с опцией -e.

mysql -u username -p -D dbname -e "DROP DATABASE dbname"
  • 5
    Ваш пароль будет доступен любому другому пользователю в системе. ps aux . Попробуйте вместо этого использовать .my.cnf .
  • 3
    Или, может быть, просто отметьте, что это только для вашей локальной среды разработки, где вы являетесь единственным пользователем.
Показать ещё 1 комментарий
23

Если вы устали вводить пароль, создайте файл (chmod 600) ~/.my.cnf и вставьте его:

[client]
user = "you"
password = "your-password"

Для разговора:

echo 'DROP DATABASE foo;' | mysql
  • 2
    хотя это среда разработки, я действительно не очень беспокоюсь о пароле, видимом для других. Мне очень нравится ваша идея .my.cnf. +1 по идее
  • 1
    Для автоматического сценария вторая часть ответа является лучшей. Большое спасибо.
Показать ещё 1 комментарий
13

Другой подходящий способ:

$ mysql -u you -p
<enter password>

>>> DROP DATABASE foo;
  • 0
    Это в основном то же самое, что он делал.
  • 4
    Иллюстрирование возможностей в командной строке не требует отрицательного голосования. Он использовал MySql Query Browser. Не совсем то же самое.
Показать ещё 1 комментарий
8

Нет необходимости в mysqladmin:

просто используйте командную строку mysql

mysql -u [username] -p[password] -e 'drop database db-name;'

Это приведет к отправке команды drop, хотя я не буду передавать пароль таким образом, так как он будет доступен другим пользователям системы через ps aux

1

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

$mysqladmin -h [host] -u [пользователь] -p drop [имя_базы_данных]

[Введите пароль]

Вы действительно хотите сбросить базу данных "без волос" [y/N]: y

1

MySQL прекратил команду сбрасывания базы данных из оболочки клиента mysql. Необходимо использовать mysqladmin для удаления базы данных.

  • 0
    Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его постом - вы всегда можете комментировать свои собственные посты, и, когда у вас будет достаточно репутации, вы сможете комментировать любые посты .
  • 0
    Он не дает прямого ответа на вопрос, поскольку вопрос слишком расплывчатый.
0
[root@host]# mysqladmin -u root -p drop [DB]

Enter password:******
  • 0
    Я не думаю, что это предоставляет пароль другим пользователям на сервере, как это делают многие другие ответы; вместо этого пользователя просят об этом после того, как пользователь нажимает ввод. Возможно, люди не поняли этого, когда поняли, что, возможно, два лучших ответа!
Сообщество Overcoder
Наверх
Меню