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


23

У меня есть следующая команда sql, которую я обычно запускаю в phpmyadmin, выбирая базу данных, а затем запускаю ее в командном окне.

DELETE FROM `wp_posts` WHERE `post_type` = "attachment"

Однако я никогда не делал этого через терминал раньше. У меня вопрос, как мне "указать" эту команду на конкретную базу данных, а затем запустить ее?


1
Попробуй mysql -u root -p.
Митч

1
Как вы можете выполнить любую команду без входа в MySQL? Сначала в терминале вы должны войти в систему, используя MySQL usernameи passwordEg: mysql -uroot -pзатем, войдя в систему, выберите базу данных с помощью, use <yourdatabasenameзатем вы можете запустить эту команду
Саурав Кумар

Вы также можете поместить базу данных перед таблицей следующим образом: DELETE FROM {databasename}.wp_posts WHERE post_type` = "attachment" `
Rinzwind

См. Также связанный вопрос: askubuntu.com/q/1077725/295286
Сергей Колодяжный

Ответы:


33

Чтобы запустить его из терминала, вам нужно сначала войти в mysql, а затем выполнить свою программу. Идеальный код был бы

mysql -u(username) -p(password) (the name of the database) -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment""

Я уверен, что это работает, надеюсь, это поможет


2
Вы должны избегать обратных кавычек, используя \ при выполнении из обычного терминала
myol

13

Я думаю, что вы забыли свое имя пользователя для MySQL. поэтому, пожалуйста, введите правильное имя пользователя и пароль при вводе команды mysql. например

$ mysql   -u  root   -p 
Enter Password:

Примечание. Имя пользователя и пароль по умолчанию: root


1
Доступ по умолчанию для root требует sudo,sudo mysql -u root -p
Питер Краусс

Для доступа по умолчанию root нужен sudo,sudo mysql -u root -p
Питер Краусс

9

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

mysql -u root -p database_name

Введите свой пароль, после чего вы сможете запускать команды mysql.

Другой способ заключается в использовании:

mysql -u root -p database_name << eof
УДАЛИТЬ ИЗ `wp_posts` ГДЕ` post_type` = "attachment"
ВФ

4

Попробуй это:

mysql --host *HOST_IP* --user *USER* --password=*PASSWORD* -D *DATABASE_NAME* -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment" ;

1

Использование клиента MySQL CLI.

$ mysql -u <user> -p
mysql> use <your-database>
mysql> DELETE FROM `wp_posts` WHERE `post_type` = "attachment"

Обратите внимание, что я использую -uи имя пользователя, но -pя ничего не устанавливаю. MySQL попросит вас ввести ваш пароль.

И если вы пытаетесь использовать его в строке, вы можете использовать

$ mysql -u <user> -p <your-database> -e "DELETE FROM `wp_posts` WHERE `post_type` = 'attachment'"

Здесь обратите внимание, что я использую также -eаргумент. Это означает выполнить .

Pro tip

В клиенте MySQL вы можете использовать:

mysql> show databases;

если вы хотите просмотреть все базы данных на вашем сервере. И вы можете использовать:

mysql> use <database>;
mysql> show tables;

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

Я использую $и mysql>как подсказки, $значит ваш терминал Linux и mysql>MySQL клиент.


-1

Существует ряд шагов для выполнения MySQL в Linux Ubuntu Terminal.

  1. Выполните MySQL Client, используя следующую команду: mysql -u root -p
  2. Важно сначала создать новую базу данных, используя команду: create database demo_db;
  3. Затем вы должны авторизовать базу данных с помощью команды: grant all on demo_db.* to ‘testuser’ identified by ‘12345’;
  4. Затем войдите из самой базы данных, используя команду: mysql -u testuser -p
  5. Затем вы можете начать с реальных команд SQL.

Я ссылался на статью http://www.codingalpha.com/run-mysql-database-linux-ubuntu/, где они объяснили идеальные шаги для выполнения MySQL в Linux Ubuntu! Надеюсь, ваш MySQL работает отлично.


1
Обратите внимание, что mysqlэто клиент, а не сервер. Перед запуском клиента убедитесь, что сервер работает, выполнив команду, sudo status mysqlи если он не работает, запустите его с sudo start mysql.
Guss

-2

Хорошо, в основном это было "ВЫБЕРИТЕ имя базы данных"; затем выполнить мою команду.


1
Вы также можете указать имя базы данных в командной строке, например, mysql -u root -p databasename- введите пароль при появлении запроса, и вы используете базу данных.
Дэвид Пердью
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.