当前位置:  数据库>mysql

innodb存储引擎修改表共享空间为独立空间

    来源: 互联网  发布时间:2014-10-12

    本文导语:  1,查看一下是共享表空间,还是独立表空间 代码如下:mysql> show variables like '%per_table%';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| innodb_file_per_table | OFF |+-----------------------+-------+1 row in set (0.00 sec)如果是...

1,查看一下是共享表空间,还是独立表空间

代码如下:

mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
1 row in set (0.00 sec)

如果是OFF,肯定不是独立表空间。如果是ON的话,也不一定是独立表空间。最直接的方法就是查看硬盘上的文件,独立表空间,每个表都对应了一个空间。
[/code]
[root@localhost tg]# ll
总用量 64
-rw-rw----. 1 mysql mysql 65 12月 30 20:09 db.opt
-rw-rw----. 1 mysql mysql 8658 12月 30 23:17 gb.frm
-rw-rw----. 1 mysql mysql 8658 12月 30 23:19 qr.frm
-rw-rw----. 1 mysql mysql 8658 12月 30 23:19 qy.frm
-rw-rw----. 1 mysql mysql 8658 12月 30 23:19 tg.frm
-rw-rw----. 1 mysql mysql 8658 12月[/code]

tg是一个数据库名,里面的都是innodb的。像这种情况就是共享表空间。

2,停掉mysql

代码如下:

/etc/init.d/mysqld stop

3,修改my.cnf的配置文件

代码如下:

innodb-file-per-table=1

4,备份使用innodb引擎的数据库

代码如下:

mysqldump -u tg -p tg >/home/6fan/tg.sql;

5,删除使用innodb的数据库,以及日志文件

代码如下:

cd /var/lib/mysql //数据库文件位置
rm -f ib* //删除日志和空间
rm -rf tg //删除使用innodb引擎的数据库文件夹

如果不删除使用innodb的数据库文件夹,启动不了innodb引擎,我查看了一下错误日志。如下

代码如下:

111231 20:54:44 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 512 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100 200 300 400 500
111231 20:54:50 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 512 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100 200 300 400 500
InnoDB: Cannot initialize created log files because
InnoDB: data files are corrupt, or new data files were
InnoDB: created when the database was started previous
InnoDB: time but the database was not shut down
InnoDB: normally after that.
111231 20:54:55 [ERROR] Plugin 'InnoDB' init function returned error.
111231 20:54:55 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
111231 20:54:55 [Note] Event Scheduler: Loaded 0 events

6,启动mysql

代码如下:

/etc/init.d/mysqld start

7,导入数据库

代码如下:

mysql -u root -p < /home/6fan/tg.sql

8,在查看一下,是转换好了

代码如下:

mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
//查看数据库目录下的文件
[root@localhost tg]# ll
总用量 544
-rw-rw----. 1 mysql mysql 65 12月 31 22:48 db.opt
-rw-rw----. 1 mysql mysql 8658 12月 31 22:49 gb.frm
-rw-rw----. 1 mysql mysql 98304 12月 31 22:49 gb.ibd
-rw-rw----. 1 mysql mysql 8658 12月 31 22:49 qr.frm
-rw-rw----. 1 mysql mysql 98304 12月 31 22:49 qr.ibd
-rw-rw----. 1 mysql mysql 8658 12月 31 22:49 qy.frm
-rw-rw----. 1 mysql mysql 98304 12月 31 22:49 qy.ibd
-rw-rw----. 1 mysql mysql 8658 12月 31 22:49 tg.frm
-rw-rw----. 1 mysql mysql 98304 12月 31 22:49 tg.ibd
-rw-rw----. 1 mysql mysql 8658 12月 31 22:49 xcy.frm
-rw-rw----. 1 mysql mysql 98304 12月 31 22:49 xcy.ibd

从这里可以看出,每一张表都对应有一个.ibd的文件,根共享表空间是不一样的。到这儿就完全配置好了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 数据库存储引擎 InnoDB
  • 探讨:innodb与myisam在存储上有何特点和区别
  • MySQL存储引擎MyISAM与InnoDB的9点区别
  • 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
  • MySQL数据库MyISAM存储引擎转为Innodb的方法
  • MySQL存储引擎简介及MyISAM和InnoDB的区别
  • MySQL存储引擎 InnoDB与MyISAM的区别
  • InnoDB与Oracle单行存储长度对比
  • Mysql5.5 InnoDB存储引擎配置和优化
  • MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
  • javascript开源软件 iis7站长之家
  • mysql 提示INNODB错误的解决方法
  • show engine innodb status显示信息不全如何解决
  • Percona Data Recovery Tool for InnoDB
  • 嵌入式数据管理 Embedded InnoDB
  • MySQL InnoDB和MyISAM数据引擎的差别分析
  • Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
  • innodb 库的备份注意点(由phpmyadmin引起的解决方案)
  • 关于mysql中innodb的count优化问题分享
  • MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法
  • mysql之innodb的锁分类介绍
  • mysql 有关“InnoDB Error ib_logfile0 of different size”错误
  • mysql5.5与mysq 5.6中禁用innodb引擎的方法
  • MySQL禁用InnoDB引擎的方法
  • 可以改善mysql性能的InnoDB配置参数
  • 关于mysql innodb count(*)速度慢的解决办法
  • mysql中engine=innodb和engine=myisam的区别介绍
  • MySQL不支持InnoDB的解决方法
  • MySQL数据库INNODB表损坏修复处理过程分享
  • InnoDB引擎数据库主从复制同步新的分享
  • MyISAM和InnoDB引擎优化分析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3