MySQL Innodb獨立表空間的配置 將數據庫配置成獨立表空間: 1.查看一下: [sql] <span style="font-size:14px;"><span style="font-family:SimSun;">mysql> show variables like '%per_table%'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | OFF | +-----------------------+-------+ 1 row in set (0.00 sec) </span></span> 說明:OFF代表mysql是共享表空間,也就是所有庫的數據都存放在一個ibdate1文件中 rpm安裝mysql的目錄結構 數據庫目錄:/var/lib/mysql/ 配置文件:/usr/share/mysql(mysql.server命令及配置文件) 相關命令:/usr/bin(mysqladmin、mysqldump等命令)(*mysql的一種安全啟動方式:/usr/bin/mysqld_safe --user=root &) 啟動腳本:/etc/rc.d/init.d/ 2.停掉mysql服務器: [sql] <span style="font-size:14px;"><span style="font-family:SimSun;">以rpm方式安裝的mysql [root@localhost ~]# /etc/rc.d/init.d/mysqld stop </span></span> [sql] <span style="font-size:14px;"><span style="font-family:SimSun;">[root@localhost ~]#/etc/init.d/mysqld stop</span></span> 3.修改my.cnf文件:在my.cnf文件mysqld後面加上下面這句話: 因為是rpm安裝,所以找不到,從mysql配置文件目錄中隨便復制個my-*.cnf文件到etc目錄下,改成my.cnf [sql] <span style="font-size:14px;"><span style="font-family:SimSun;">innodb-file-per-table=1 </span></span> 4.啟動mysql [sql] <span style="font-size:14px;"><span style="font-family:SimSun;">[root@localhost ~]#service mysql start 或 [root@localhost ~]#/etc/init.d/mysqld start </span></span> 5.再查看一下 [sql] <span style="font-size:14px;"><span style="font-family:SimSun;">mysql> show variables like '%per_table%'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | ON | +-----------------------+-------+ 1 row in set (0.00 sec) </span></span> 總結: mysql innodb的獨立表空間和共享表空間,獨立表空間是把每個表的數據和表文件放在一起。共享表空間是所有庫的數據都放在ibdate1文件中,網上說這個文件你刪除數據,不會收縮,也就是說如果你這個文件有40G,你刪了表數據,這個文件還是40G,這就很恐怖了,所以我們換成獨立表空間。還有就是雖然說獨立,但個人覺得還真不是很徹底,我把那些文件復制到另一個庫裡面,只有表,沒有數據,所以不徹底啊!