conectando ao MySQL a partir da linha de comando

225

Como você pode se conectar ao MySQL a partir da linha de comando em um Mac? (ou seja, mostre-me o código)

Estou fazendo um tutorial sobre PHP / SQL, mas começa assumindo que você já está no MySQL.

Leahcim
fonte

Respostas:

404

Veja aqui http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

As opções acima significam:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

Olhe para o link, está detalhado lá!


Como já mencionado por Rick , você pode evitar passar a senha como parte do comando, não passando a senha assim:

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

Pessoas que estão editando esta resposta: POR FAVOR, NÃO ADICIONE UM ESPAÇO entre -pePASSWORD

Nishant
fonte
obrigado, 2 perguntas 1) você tem que incluir o "- u" "- p" etc, ou são substituídos pelo nome de usuário etc 2) se não houver um banco de dados criado, basta deixá-lo em branco?
Leahcim 27/02
2
É possível configurar a autenticação MySQL com base no usuário no qual você efetuou login ou não se autentica, mas também não é uma boa ideia. Especificar a senha na linha de comando é até um pequeno risco à segurança, pois acaba no seu comando tabelas de histórico e processo. Se você deixar de fora a senha, ela será solicitada.
dj_segfault 27/02
@ Michael 1) atualizado. o ALL-CAPS precisa ser substituído pelos valores reais. deixe -u, -p, -h, pois é 2) sim. Após o logon, digite show databasespara ver a lista de bancos de dados.
Nishant 27/02
3
@dj_segfault right. Portanto, se você sair, -psem especificar a senha, ele solicitará a senha.
Nishant 27/02
Se você não possui um banco de dados criado no momento, precisa usar o comando mysqladmin para criar um. Mas acredito que quando você instala o servidor, o banco de dados "mysql" padrão é criado, contendo todas as informações de esquema e autenticação. Você pode fazer login nesse (se você tiver privilégios suficientes) e criar outros bancos de dados a partir daí.
dj_segfault 27/02
128

A melhor prática seria mysql -u root -p. Então o MySQL solicitará a senha depois que você pressionar enter.

Rick
fonte
25
Para elaborar, isso evita que sua senha seja exibida .bash_history. Usando o método mais votado atualmente, se alguém obtiver acesso $HOME(e, portanto .bash_history), também terá seus detalhes de autenticação - assustador! Este tipo de intrusão pode (e faz ) acontecer ...
Jeremy
Você pode executar um comando bash sem que ele apareça no .bash_profie. Leia mais aqui: commandlinefu.com/commands/view/1512/…
Skid Kadda 6/15
@ Jeremy Não apenas no, .bash_historymas em tope mais ferramentas também! Você pode até proteger seus arquivos, basta compartilhar o computador com outro usuário legítimo.
Melebius 14/07/16
+1 porque minha senha possui símbolos especiais e não será analisada quando parte do comando, ela deve ser feita separadamente.
Jacksonkr
10

Use o seguinte comando para se conectar ao seu banco de dados MySQL

mysql -u USERNAME -h HOSTNAME -p

Swamy
fonte
9

Depois de executar o MySQL Shell e você viu o seguinte:

mysql-js>

Em primeiro lugar, você deve:

mysql-js>\sql

Em segundo lugar:

 mysql-sql>\connect username@servername (root@localhost)

E finalmente:

Enter password:*********
Nome sobrenome
fonte
3

Uma maneira de se conectar diretamente ao MySQL usando o nome de usuário e a senha adequados do MySQL é:

mysql --user=root --password=mypass

Aqui,

root is the MySQL username
mypass is the MySQL user password

Isso é útil se você tiver uma senha em branco.

Por exemplo, se você tiver um usuário MySQL chamado rootcom uma senha vazia, use

mysql --user=root --password=
arsho
fonte
0

Isso funcionou para mim :: -

mysql --host=hostNameorIp --user=username --password=password  

ou

mysql --host=hostNameorIp --user=username --password=password database_name
Anand Tiwari
fonte