improve speed of mysql import

前端 未结 9 1537
無奈伤痛
無奈伤痛 2021-01-31 14:26

I have large database of 22GB. I used to take backup with mysqldump command in a gzip format.

When i extract the gz file it produces the

9条回答
  •  时光说笑
    2021-01-31 15:07

    There are a lot of parameters that are missing, to fully understand the reason for the problem. such as:

    1. MySQL version
    2. Disk type and speed
    3. Free memory on the server before you start MySQL server
    4. iostat output before and at the time of the mysqldump.
    5. What are the parameters that you use to create the dump file in the first place.

    and many more.

    So I'll try to guess that your problem is in the disks because I have 150 instances of MySQL that I manage with 3TB of data on one of them, and usually the disk is the problem

    Now to the solution:

    First of all - your MySQL is not configured for best performance.

    You can read about the most important settings to configure at Percona blog post: http://www.percona.com/blog/2014/01/28/10-mysql-settings-to-tune-after-installation/

    Especially check the parameters:

    innodb_buffer_pool_size 
    innodb_flush_log_at_trx_commit
    innodb_flush_method
    

    If your problem is the disk - reading the file from the same drive - is making the problem worse.

    And if your MySQL server starting to swap because it does not have enough RAM available - your problem becomes even bigger.

    You need to run diagnostics on your machine before and at the time of the restore procedure to figure that out.

    Furthermore, I can suggest you to use another technic to perform the rebuild task, which works faster than mysqldump.

    It is Percona Xtrabackup - http://www.percona.com/doc/percona-xtrabackup/2.2/

    You will need to create the backup with it, and restore from it, or rebuild from running server directly with streaming option.

    Also, MySQL version starting from 5.5 - InnoDB performs faster than MyISAM. Consider changing all your tables to it.

提交回复
热议问题