Mysql
 sql >> Database >  >> RDS >> Mysql

Come vedere lo stato di avanzamento del caricamento .csv in MySQL

Su Linux puoi stampare informazioni sul descrittore di file (ls -l /proc//fd) e sul lettore di posizione dei file (cat /proc//fdinfo). Quindi:

  1. Trova mysqld pid (in questo esempio:1234 ):

    $ ps -ef | grep mysqld

    mysql 1234 1 0 feb12 ? 00:00:55 /usr/sbin/mysqld

  2. Trova il numero del descrittore di file del file caricato (in questo esempio:45 ):

    $ sudo ls -l /proc/1234/fd

    lr-x------ 1 root root 64 Feb 13 10:56 45 -> /var/lib/mysql/db/Loaded_file.txt

  3. Stampa le informazioni su quel descrittore di file e controlla il numero di byte già letti (in questo esempio:494927872 ):

    $ cat /proc/1234/fdinfo/45

    pos: 494927872

    flags: 0100000

Puoi confrontare questo indicatore di avanzamento (in byte) con la dimensione effettiva del file in fase di caricamento.

Invece dei passaggi 1 e 2, puoi anche usare il comando 'lsof':

$ lsof /var/lib/mysql/db/Loaded_file.txt | grep mysql

COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME

mysqld    1234 youknowwho    45r   REG  252,0   190312 5505353 /var/lib/mysql/db/Loaded_file.txt