Arquivo automatico de mysql

1. Arquivo automatico de mysql

Adriano Custodio
brekler

(usa CentOS)

Enviado em 26/08/2015 - 09:16h

Bom dia pessoal... diremos que eu não tenho experiencia alguma com Mysql... sei apenas o básico.
Estou gerando automaticamente um arquivo para gravação de usuarios em um BD mysql.
o comando esta correto pois testei inserindo ele manualmente no phpmyadmin.
gostaria de saber como posso fazer pra esse arquivo se tornar executavel e fazer automatico...
Segue abaixo um exemplo da linha que tem no arquivo.
Insert into USUARIOS (CONTRATO,SENHA_GERADA,SENHA_ALTERADA) values ('1234','1234',encrypt('1234'));
preciso saber se vai algo no inicio do arquivo tipo "login no mysql" ou algo assim e como tornar o arquivo executável (bash ?)
Meu S.O é o Centos7




  


2. Re: Arquivo automatico de mysql

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 26/08/2015 - 10:34h

seria algo assim

#!/bin/bash

sql="mysql -u root -pSENHA -e"

$sql "use NOMEBANCO; insert..........;"




espero que ajude


3. Re: Arquivo automatico de mysql

Adriano Custodio
brekler

(usa CentOS)

Enviado em 26/08/2015 - 11:34h


opa. então cara fiz o seguinte só pra testes

#!/bin/bash

sql="mysql -u root -p SENHA"
$sql = "show databases;"

mas ele retorna todos os comandos possíveis do mysql....
Não sei o porque.

mysql Ver 14.14 Distrib 5.6.26, for Linux (x86_64) using EditLine wrapper
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Usage: mysql [OPTIONS] [database]

Ele fica dando isso dai e abaixo todos os comandos que tem no mysql. Como se minha sintaxe estivesse errada.
Alguma ideia ?





4. Re: Arquivo automatico de mysql

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/08/2015 - 11:46h

brekler escreveu:


opa. então cara fiz o seguinte só pra testes

#!/bin/bash

sql="mysql -u root -p SENHA"
$sql = "show databases;"

mas ele retorna todos os comandos possíveis do mysql....
Não sei o porque.

mysql Ver 14.14 Distrib 5.6.26, for Linux (x86_64) using EditLine wrapper
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Usage: mysql [OPTIONS] [database]

Ele fica dando isso dai e abaixo todos os comandos que tem no mysql. Como se minha sintaxe estivesse errada.
Alguma ideia ?




# mysql --help

-e, --execute=name  Execute command and quit. (Disables --force and history
file.)


Teste:
# mysql -u root -p -e "show databases;"
Enter password:
+---------------------------+
| Database |
+---------------------------+
| information_schema |
| mysql |
| performance_schema |
+---------------------------+






5. Re: Arquivo automatico de mysql

Airton Lastori
alastori

(usa Outra)

Enviado em 26/08/2015 - 13:38h


mysql -u root -p sua_senha < seu_arquivo.txt


6. Re: Arquivo automatico de mysql

Adriano Custodio
brekler

(usa CentOS)

Enviado em 26/08/2015 - 16:00h

alastori escreveu:


mysql -u root -p sua_senha < seu_arquivo.txt


Esse comando funcionou parcial....
Quando eu faço isso vamos ao exemplo:
mysql -u root -p senhateste < teste.txt
ele pede a senha ainda e fala ERROR 1049 (42000): Unknown database 'senhateste'

Se eu executo o comando mysql -u root -p <teste.txt
ele pede a senha e executa o arquivo certinho...
Resumindo, funciona, mas eu tenho que digitar a senha.
Alguma ideia do porque disso ?







7. Re: Arquivo automatico de mysql

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 26/08/2015 - 16:02h


-p senhateste
deixe assim
-p"senhateste"
ou
-psenhateste


8. Re: Arquivo automatico de mysql

Adriano Custodio
brekler

(usa CentOS)

Enviado em 26/08/2015 - 17:17h

danniel-lara escreveu:


-p senhateste
deixe assim
-p"senhateste"
ou
-psenhateste


-p"senhateste" funcionou perfeitamente
Obrigado galera!
ficou top... no meu script php que pega os dados e gera esse txt ja mandei escrever o "open XXX" e depois "truncate table XXX" e depois todos os insert.
São aproximadamente 800 insert... ajudou muito isso











Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts