export from MYSQL para CSV

2

Como eu exporto do MYSQL para CSV em mariadb no Centos 7?

Estou usando:

Server version      5.5.37-MariaDB
Protocol version    10
Connection          Localhost via UNIX socket
UNIX socket         /var/lib/mysql/mysql.sock

no CentOS Linux versão 7.0.1406 (Core)

Eu tentei o seguinte:

    mysql> SELECT *
        -> INTO OUTFILE 'cd /var/foo.csv'
        -> FIELDS TERMINATED BY ','
        -> ENCLOSED BY '"'
        -> ESCAPED BY '\'
        -> LINES TERMINATED BY '\r\n'
        -> FROM foo;
    Query OK, 4079 ROWS affected (0.02 sec)

Onde foo é o nome do banco de dados? Mas isso me dá um erro de sintaxe. Não preciso selecionar uma tabela específica?

Então eu tentei isso:

mysql -u root -p enterpass nameofdb -B -e “select * from \'person\';” | sed     ‘s/\t/”,”/g;s/^/”/;s/$/”/;s/\n//g’ > nameofdb.csv

O mesmo novamente com o erro de sintaxe.

Estou praticando isso para ver se consigo migrar manualmente um tipo de armazenamento de banco de dados para outro. Um zen cart db para um carrinho aberto sem ter que usar algum produto pago como cart2cart e principalmente para que eu possa ver as entranhas das lojas para entender melhor.

    
por cea 05.11.2014 / 10:04

1 resposta

2

Ver mais ninguém está respondendo Eu vou, mas para ser justo Archemar trabalhou antes de mim. Eu sabia que precisava selecionar uma tabela, mas não tinha certeza da sintaxe e não considerei ter certeza de que a pasta era de propriedade do apache.

Para exportar a tabela do banco de dados mysql para o arquivo CSV, você efetua login no admin e usa os seguintes comandos.

SELECT *
INTO OUTFILE '/tmp/products.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\'
LINES TERMINATED BY '\n'
FROM products;

Em seguida, ele deixou três arquivos como este "systemd-private-SjP6B1", um dos quais tinha a pasta tmp e dentro desse products.csv.

Eu poderia abrir o products.csv no google docs ou excel se eu o tivesse.

    
por 06.11.2014 / 09:36