Rumah pangkalan data tutorial mysql 为MySQL数据文件ibdata1瘦身_MySQL

为MySQL数据文件ibdata1瘦身_MySQL

Jun 01, 2016 pm 01:31 PM
angkasa lepas

bitsCN.com

为MySQL数据文件ibdata1瘦身

 

MySQL在运行一段时间后,ibdata1的文件会增长大小,就算删除了表的数据,ibdata1的体积也不会减小。由于硬盘空间有限,这样一直膨胀下去磁盘空间接近崩溃。今天在导出数据的时候就发现了,磁盘竟然满了,明明预留了1个月的用量,1周就占满了,下面就要给ibdata1做个瘦身。

 

1. 系统环境

Linux Ubuntu 13.04 64bit server

 

~ uname -a

Linux d2 3.8.0-21-generic #32-Ubuntu SMP Tue May 14 22:16:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

~ cat /etc/issue

Ubuntu 13.04 /n /l

MySQL: 5.5.31-0ubuntu0.13.04.1

 

~ mysql --version

mysql  Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (x86_64) using readline 6.2

硬盘:36G+4G+4G+36G

 

~ df -hFilesystem                    Size  Used Avail Use% Mounted on/dev/mapper/server3--vg-root   36G   31G  3.2G  91% /none                          4.0K     0  4.0K   0% /sys/fs/cgroupudev                          4.1G  1.1G  3.0G  26% /devtmpfs                         824M  280K  823M   1% /runnone                          5.0M     0  5.0M   0% /run/locknone                          4.1G  3.4G  729M  83% /run/shmnone                          100M     0  100M   0% /run/user/dev/vda1                     228M   30M  187M  14% /boot192.168.1.10:/home/amg/data    36G   13G   21G  39% /home/amg/dataMySQL的ibdata1占用空间:20G~ cd /var/lib/mysql~ ls -ldrwxr-xr-x 2 mysql mysql        4096 Aug  2 19:38 CBdrwxr-xr-x 2 mysql mysql        4096 Jun 24 23:08 conandrwxr-xr-x 2 mysql mysql        4096 Jun  2 00:52 dbwordpress-rwxr-xr-x 1 root  root            0 May 23 00:48 debian-5.5.flag-rwxr-xr-x 1 mysql mysql 20101201920 Aug  2 20:08 ibdata1-rwxr-xr-x 1 mysql mysql     5242880 Aug  2 20:08 ib_logfile0-rwxr-xr-x 1 mysql mysql     5242880 Aug  2 19:38 ib_logfile1drwxr-xr-x 2 mysql mysql        4096 Jun 26 09:03 Macrodrwxr-xr-x 2 mysql root         4096 May 23 00:48 mysql-rwxr-xr-x 1 root  root            6 May 23 00:48 mysql_upgrade_infodrwxr-xr-x 2 mysql mysql        4096 May 23 00:48 performance_schemadrwxr-xr-x 2 mysql mysql        4096 May 23 00:53 phpmyadmindrwxr-xr-x 2 mysql root         4096 May 23 00:48 testdrwxr-xr-x 2 mysql mysql        4096 Jul 22 14:09 TFdrwxr-xr-x 2 mysql mysql        4096 Jun  2 01:04 wordpress业务数据表mysql> show tables;+-----------------+| Tables_in_CB    |+-----------------+| NSpremium       || cb_hft          || cb_hft_20130801 || cb_hft_20130802 |+-----------------+4 rows in set (0.00 sec)
Salin selepas log masuk

2. 发现问题

ibdata1单个文件占用20G大小。

1. MySQL默认设置,没有按表空间分离数据,所有的表的数据都被放到ibdata1文件中。

2. 业务操作,每天会产生一张表cb_hft,晚上的时候对表进行重命名。

RENAME TABLE cb_hft TO cb_hft_20130801;

create table cb_hft like cb_hft_20130801;

3. 每周会把数据导出,同时drop表。但drop后,ibdata1不会减少,随着数据的积累ibdata1越来越大,根空间已经不够用了。

3. 解决问题

1). 导出数据

现在数据库中,有两个数据表,cb_hft_20130801,cb_hft_20130802,分别导出到/run/shm, /dev

~ cd /dev~ mysqldump -uroot -p CB cb_hft_20130802 > export_cb_hft_20130802.sql~ cd /run/shm~ mysqldump -uroot -p CB cb_hft_20130801 > export_cb_hft_20130801.sql~ df -hFilesystem                    Size  Used Avail Use% Mounted on/dev/mapper/server3--vg-root   36G   31G  3.2G  91% /none                          4.0K     0  4.0K   0% /sys/fs/cgroupudev                          4.1G  3.7G  368M  92% /devtmpfs                         824M  280K  823M   1% /runnone                          5.0M     0  5.0M   0% /run/locknone                          4.1G  3.4G  729M  83% /run/shmnone                          100M     0  100M   0% /run/user/dev/vda1                     228M   30M  187M  14% /boot192.168.1.10:/home/amg/data    36G   13G   21G  39% /home/amg/data两张表分别占了,3.4G,3.7G。登陆mysql删除CB数据库~ mysql -uroot -p~ drop database CB导出其他数据库数据~ cd /run/shm~ mysqldump -uroot -p -R -q --all-databases > others.sql
Salin selepas log masuk

2). 修改配置文件/etc/mysql/my.cnf

对每张表使用单独的数据文件存储innodb_file_per_table

停止mysql服务器~ sudo /etc/init.d/mysql stop#清空所有数据文件~ sudo rm -rf /var/lib/mysql/*修改配置文件~ sudo vi /etc/mysql/my.cnf[mysqld]innodb_file_per_table重新构建数据库实例~ /usr/bin/mysql_install_db~ ls /var/lib/mysqlmysql  performance_schema  test#启动MySQL~ sudo /etc/init.d/mysql start
Salin selepas log masuk

3). 恢复其他数据库

~ mysql < /run/shm/others.sql ~ mysql -umysql -p mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || Macro              || TF                 || conan              || dbwordpress        || mysql              || performance_schema || phpmyadmin         || test               || wordpress          |+--------------------+10 rows in set (0.01 sec)#查看ibdata1大小~ ls -l /var/lib/mysqldrwx------ 2 mysql mysql     4096 Aug  2 21:33 CBdrwx------ 2 mysql mysql     4096 Aug  2 21:23 conandrwx------ 2 mysql mysql     4096 Aug  2 21:23 dbwordpress-rw-rw---- 1 mysql mysql 18874368 Aug  2 21:34 ibdata1-rw-rw---- 1 mysql mysql  5242880 Aug  2 21:34 ib_logfile0-rw-rw---- 1 mysql mysql  5242880 Aug  2 21:34 ib_logfile1drwx------ 2 mysql mysql     4096 Aug  2 21:23 Macrodrwx------ 2 mysql root      4096 Aug  2 21:23 mysqldrwx------ 2 mysql mysql     4096 Aug  2 21:19 performance_schemadrwx------ 2 mysql mysql     4096 Aug  2 21:23 phpmyadmindrwx------ 2 mysql root      4096 Aug  2 21:19 testdrwx------ 2 mysql mysql     4096 Aug  2 21:23 TFdrwx------ 2 mysql mysql     4096 Aug  2 21:23 wordpress
Salin selepas log masuk

4). 恢复CB数据库

mysql> create database CB;Query OK, 1 row affected (0.00 sec)~  mysql --database CB < /run/shm/export_cb_hft_20130801.sql~  mysql --database CB < /dev/export_cb_hft_20130802.sql~  mysql --database CB < /dev/export_NSpremium.sql#查看ibdata1大小:还是出初始值没有增长~ ls -l /var/lib/mysqldrwx------ 2 mysql mysql     4096 Aug  2 21:33 CBdrwx------ 2 mysql mysql     4096 Aug  2 21:23 conandrwx------ 2 mysql mysql     4096 Aug  2 21:23 dbwordpress-rw-rw---- 1 mysql mysql 18874368 Aug  2 22:01 ibdata1-rw-rw---- 1 mysql mysql  5242880 Aug  2 22:01 ib_logfile0-rw-rw---- 1 mysql mysql  5242880 Aug  2 22:01 ib_logfile1drwx------ 2 mysql mysql     4096 Aug  2 21:23 Macrodrwx------ 2 mysql root      4096 Aug  2 21:23 mysqldrwx------ 2 mysql mysql     4096 Aug  2 21:19 performance_schemadrwx------ 2 mysql mysql     4096 Aug  2 21:23 phpmyadmindrwx------ 2 mysql root      4096 Aug  2 21:19 testdrwx------ 2 mysql mysql     4096 Aug  2 21:23 TFdrwx------ 2 mysql mysql     4096 Aug  2 21:23 wordpress#查看CB库目录:所有的数据都保存在自己单独的数据文件~ ls -l /var/lib/mysql/CB-rw-rw---- 1 mysql mysql       9928 Aug  2 21:33 cb_hft_20130801.frm-rw-rw---- 1 mysql mysql 7159676928 Aug  2 22:08 cb_hft_20130801.ibd-rw-rw---- 1 mysql mysql       9928 Aug  2 22:09 cb_hft_20130802.frm-rw-rw---- 1 mysql mysql 7805599744 Aug  2 22:38 cb_hft_20130802.ibd-rw-rw---- 1 mysql mysql         61 Aug  2 21:30 db.opt
Salin selepas log masuk

刚才设置的innodb_file_per_table参数已经起作用了,当我们再导出表drop后,对应的数据文件idb就会被删除,系统硬盘空间使用就会在正常值范围内。

查看表数据

mysql> show tables;+-----------------+| Tables_in_CB    |+-----------------+| cb_hft_20130801 || cb_hft_20130802 |+-----------------+2 rows in set (0.00 sec)mysql> select count(1) from cb_hft_20130801;+----------+| count(1) |+----------+| 21063172 |+----------+1 row in set (1 min 1.46 sec)#删除表~ drop table cb_hft_20130801;#查看数据文件~ ls -l /var/lib/mysql/CB-rw-rw---- 1 mysql mysql       9928 Aug  2 22:09 cb_hft_20130802.frm-rw-rw---- 1 mysql mysql 7805599744 Aug  2 22:38 cb_hft_20130802.ibd-rw-rw---- 1 mysql mysql         61 Aug  2 21:30 db.opt-rw-rw---- 1 mysql mysql       9274 Aug  2 22:52 NSpremium.frm-rw-rw---- 1 mysql mysql      98304 Aug  2 22:53 NSpremium.ibd
Salin selepas log masuk

 

drop后,数据就一起被删除了。

 

经过对MySQL的调优,ibdata1已经被瘦身!数据库又可以继续正常的稳定的工作了。

 

bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jarak berangka berdasarkan pembelajaran mesin: jarak antara titik dalam ruang Jarak berangka berdasarkan pembelajaran mesin: jarak antara titik dalam ruang Apr 11, 2023 pm 11:40 PM

Artikel ini dicetak semula daripada akaun awam WeChat "Hidup dalam Era Maklumat" Penulis hidup dalam era maklumat. Untuk mencetak semula artikel ini, sila hubungi akaun awam Living in the Information Age. Dalam pembelajaran mesin, konsep asas ialah cara menilai perbezaan antara dua sampel, supaya persamaan dan maklumat kategori antara kedua-dua sampel dapat dinilai. Ukuran untuk menilai persamaan ini ialah jarak antara dua sampel dalam ruang ciri. Terdapat banyak kaedah pengukuran berdasarkan ciri data yang berbeza. Secara umumnya, untuk dua sampel data x, y, takrifkan fungsi d(x, y) Jika ia ditakrifkan sebagai jarak antara dua sampel, maka d(x, y) perlu memenuhi sifat asas berikut : Bukan-). negatif: d(x, y)&gt;=0 Identiti: d(x, y)=0 ⇔ x=y pasangan

Bagaimana untuk menambah ruang swap pada Ubuntu 22.04 LTS Bagaimana untuk menambah ruang swap pada Ubuntu 22.04 LTS Feb 20, 2024 am 11:12 AM

Ruang swap memainkan peranan penting dalam sistem Linux, terutamanya apabila sistem kekurangan ingatan. Ia bertindak sebagai ruang storan memori sandaran yang membantu sistem berjalan dengan lancar dan mengekalkan kestabilan walaupun di bawah beban yang tinggi. Artikel ini memberi anda panduan terperinci untuk menambah ruang swap pada Ubuntu 22.04LTS untuk memastikan prestasi sistem anda dioptimumkan dan boleh mengendalikan pelbagai beban kerja. Memahami Ruang Swap Space Swap menyediakan memori maya yang digunakan untuk menambah RAM fizikal sistem. Apabila sistem kekurangan RAM, kernel menukar data ke cakera untuk mengelakkan kehabisan memori dan sistem ranap. Sistem Linux biasanya menggunakan ruang swap untuk mengendalikan situasi ini. Jalankan berbilang aplikasi intensif memori secara serentak untuk memproses fail atau data yang sangat besar

Berapakah jumlah baki ruang yang sesuai pada pemacu c? Berapakah jumlah baki ruang yang sesuai pada pemacu c? Jun 27, 2023 pm 02:51 PM

50-80G baki ruang pada pemacu c adalah lebih sesuai. Memandangkan sistem akan menjana fail sampah, fail cache, dsb. pada masa hadapan, adalah disyorkan untuk menempah sekurang-kurangnya 50GB-80GB ruang untuk pemacu C jika anda tidak biasa memilih laluan semasa memasang perisian dan tidak membersihkannya; komputer anda dengan kerap, maka sekurang-kurangnya 100GB diperlukan .

Pengenalan kepada ruang pemacu C yang diperlukan untuk menaik taraf win11 Pengenalan kepada ruang pemacu C yang diperlukan untuk menaik taraf win11 Dec 23, 2023 am 08:57 AM

Seperti yang kita sedia maklum, jika cakera sistem yang diduduki terlalu besar selepas pemasangan sistem selesai, ia boleh menyebabkan sistem ketinggalan, kelewatan dan juga kehilangan fail. Oleh itu, sebelum anda memasang sistem win11, anda perlu tahu berapa banyak ruang pemacu C yang diperlukan untuk menaik taraf win11 Mari kita lihat dengan editor. Berapa banyak ruang pemacu C diperlukan untuk menaik taraf win11: Jawapan: Menaik taraf win11 memerlukan 20-30GB ruang pemacu C. 1. Menurut keperluan konfigurasi win11 Microsoft, anda dapat melihat bahawa pemasangan win11 memerlukan ruang cakera keras 64GB. 2. Tetapi sebenarnya, secara umumnya, tidak memerlukan ruang yang begitu besar. 3. Mengikut maklum balas daripada pengguna yang telah memasang win11, peningkatan win11 memerlukan kira-kira 20-30GB ruang pemacu C. 4. Tetapi jika pintu kita hanya mempunyai

Cara mengosongkan ruang pada Xbox Series S atau Xbox Series X Cara mengosongkan ruang pada Xbox Series S atau Xbox Series X Apr 19, 2023 pm 01:46 PM

Konsol Xbox mempunyai banyak pilihan permainan untuk dimuat turun dan dimainkan. Ditambah dengan langganan Xbox Game Pass Microsoft, keseronokan tidak pernah berhenti dengan koleksi permainan anda. Walau bagaimanapun, terdapat isu ruang yang tersedia untuk permainan, iaitu 356GB pada Xbox Series S dan 850GB pada Xbox Series X. Walaupun ini baik dalam versi permainan sebelumnya, saiz maksimum permainan mungkin antara 20 dan 45GB, yang tidak berlaku dengan permainan baru-baru ini. Permainan yang tersedia baru-baru ini akhirnya mengambil banyak ruang pada cakera, menjadikan kami kurang ruang untuk memuat turun permainan lain. ForzaHorizon5 dan Halo5Guardians dan banyak lagi

iOS 17.2: Cara merakam video spatial pada iPhone 15 Pro iOS 17.2: Cara merakam video spatial pada iPhone 15 Pro Dec 15, 2023 pm 01:09 PM

Jika anda mempunyai iPhone 15 atau iPhone 15 Pro Max, iOS 17.2 membolehkan anda merakam video spatial untuk tontonan dalam apl Photos pada fon kepala Vision Pro Apple yang akan datang. Begini cara anda melakukannya. Fon kepala VisionPro Apple dijangka dikeluarkan sekitar Februari 2024. Sehingga itu, satu cara anda boleh bersedia untuk ini ialah menggunakan iPhone anda untuk merakam video dalam format khas yang dipanggil video spatial, yang boleh dilihat pada fon kepala Apple. Video spatial muncul sebagai video biasa apabila dilihat pada iPhone, tetapi ia menawarkan hampir tiga dimensi pada VisionPro

Kajian semula teknologi kecerdasan buatan dalam keselamatan ruang siber Kajian semula teknologi kecerdasan buatan dalam keselamatan ruang siber Apr 11, 2023 pm 04:10 PM

1. Pengenalan Disebabkan oleh pertumbuhan pesat rangkaian komputer semasa, masalah yang berlaku ialah bilangan serangan rangkaian yang semakin meningkat. Pelbagai sektor masyarakat kita, daripada jabatan kerajaan hinggalah kepada pelbagai infrastruktur kritikal dalam masyarakat, amat bergantung kepada rangkaian komputer dan teknologi maklumat. Rupa-rupanya mereka juga terdedah kepada serangan siber. Serangan rangkaian biasa melumpuhkan komputer sasaran, mengambil perkhidmatan di luar talian atau mengakses data komputer sasaran. Bilangan dan kesan serangan siber telah meningkat dengan ketara sejak 1990-an. Keselamatan rangkaian merujuk kepada satu siri teknologi yang digunakan untuk melindungi aktiviti peranti rangkaian dan langkah untuk melindunginya daripada semua kemungkinan ancaman. Dalam teknologi keselamatan rangkaian tradisional, kebanyakannya adalah pengurusan capaian statik, dan sistem kawalan keselamatan akan melindungi berdasarkan definisi pratetap.

Perkara yang perlu dilakukan jika Baidu Cloud mempunyai ruang yang tidak mencukupi Perkara yang perlu dilakukan jika Baidu Cloud mempunyai ruang yang tidak mencukupi Mar 25, 2024 pm 11:01 PM

Storan awan telah menjadi bahagian yang amat diperlukan dalam kehidupan dan kerja harian kita. Memandangkan bilangan fail terus meningkat, permintaan untuk ruang storan awan telah menjadi semakin menonjol. Sebagai penyedia perkhidmatan storan awan terkemuka di China, Baidu Cloud telah memenangi hati pengguna dengan fungsi storan yang berkuasa dan pengalaman operasi yang mudah. Walau bagaimanapun, ramai pengguna mungkin menghadapi masalah ruang yang tidak mencukupi semasa penggunaan, jadi tutorial ini akan memberikan anda penyelesaian terperinci untuk mengembangkan kapasiti saya harap ia dapat membantu anda! 1. Log masuk ke akaun anda di Baidu Cloud. (Anda boleh log masuk dengan akaun Baidu atau akaun QQ) 2. Selepas log masuk, klik "Terima kapasiti 2048G secara percuma" di sebelah kiri Baidu Cloud. 3. Muat turun klien mudah alih Baidu Cloud, klik untuk memuat turun untuk telefon Android

See all articles