Como executar o comando mysql no terminal?


23

Eu tenho o seguinte comando sql, que normalmente executo no phpmyadmin, selecionando o banco de dados e executando-o na janela de comando.

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

No entanto, eu nunca fiz isso via terminal antes. Minha pergunta é: como eu "aponto" esse comando para um banco de dados específico e o executo?


1
Tente mysql -u root -p.
Mitch

1
Como você pode executar qualquer comando sem fazer login no MySQL? Primeiro no terminal, você precisa fazer o login usando o MySQL usernamee, por passwordexemplo: mysql -uroot -pdepois de logado, selecione sua base de dados usando use <yourdatabasenamee poderá executar este comando.
Saurav Kumar

Você também pode colocar o banco de dados na frente da tabela da seguinte maneira: DELETE FROM {databasename}.wp_posts WHERE post_type` = "attachment" `
Rinzwind 5/09/2013

Veja também a pergunta relacionada: askubuntu.com/q/1077725/295286
Sergiy Kolodyazhnyy

Respostas:


33

Para você executá-lo no terminal, você precisa estar logado no mysql primeiro e depois executar seu programa. O código ideal seria

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

Tenho certeza que isso funciona, espero que ajude


2
Você precisa escapar os acentos graves usando \ se a execução de um normais do terminal
myol

13

Eu acho que você esqueceu seu nome de usuário para mySQL. portanto, digite o nome de usuário e a senha corretos ao digitar o comando mysql. por exemplo

$ mysql   -u  root   -p 
Enter Password:

Nota: Nome de usuário e senha padrão são root


1
Sudo de raiz padrão necessitem de acesso,sudo mysql -u root -p
Peter Krauss

Sudo de raiz padrão necessitem de acesso,sudo mysql -u root -p
Peter Krauss

9

Basta digitar o seguinte comando no terminal para usar o interpretador mysql:

mysql -u root -p database_name

Digite sua senha, então você pode executar seus comandos mysql.

Outra maneira é usar:

mysql -u root -p database_name << eof
DELETE FROM `wp_posts` WHERE` post_type` = "anexo"
eof

4

Tente o seguinte:

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

1

Usando o cliente CLI do MySQL.

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

Observe que estou usando um -unome de usuário, mas -pnão estou definindo nada. O MySQL solicitará sua senha.

E se você estiver tentando usá-lo em linha, poderá usar

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

Aqui, observe que estou usando também -eargumento. Significa executar .

Dica profissional

No cliente MySQL você pode usar:

mysql> show databases;

se você deseja visualizar todas as dabatases no seu servidor. E você pode usar:

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

se você deseja visualizar todas as tabelas em um banco de dados.

Estou usando $e mysql>como prompts, $significa o seu terminal Linux e o mysql>cliente MySQL.


-1

Há uma série de etapas para executar o MySQL no Linux Ubuntu Terminal.

  1. Execute o MySQL Client usando o seguinte comando: mysql -u root -p
  2. É importante criar um novo banco de dados primeiro usando o comando: create database demo_db;
  3. Então você deve autorizar o banco de dados usando o comando: grant all on demo_db.* to ‘testuser’ identified by ‘12345’;
  4. Em seguida, efetue login no próprio banco de dados usando o comando: mysql -u testuser -p
  5. Em seguida, você pode realmente começar com os comandos SQL reais.

Eu me referi ao artigo http://www.codingalpha.com/run-mysql-database-linux-ubuntu/, onde eles explicaram etapas perfeitas para executar o MySQL no Linux Ubuntu! Espero que seu MySQL esteja funcionando perfeitamente.


1
Observe que mysqlé o cliente, e não o servidor. Antes de iniciar o cliente, verifique se o servidor está em execução emitindo sudo status mysqle, se não estiver em execução, inicie-o sudo start mysql.
Guss

-2

Ok, basicamente era "SELECT databasename;" depois executando meu comando.


1
Você também pode especificar o nome do banco de dados na linha de comando, como mysql -u root -p databasename- digite a senha quando solicitado e estiver usando o banco de dados.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.