mysql共享表空间转独立表空间
使用innodb_export_import.py脚本:
https://github.com/thecpaneladmin/innodb-tools
安装MySQL-python模块:
shell > yum install MySQL-python -y
步骤一:修改my.cnf文件
增加innodb_force_recovery = 4参数,重启mysql,阻塞所有读写操作,
步骤二:执行脚本导出innodb表的数据(脚本没有用户和密码选项,需要写在my.cnf文件中,即user=xxx和password=xxx参数):
shell > python innodb_export_import.py --export --dir=/data/mysql.bak --config=/usr/local/services/mysql/my.cnf
备份过程:
Getting a list of databases...
Checking for InnoDB tables...
Database performance_schema... No InnoDB tables
Database sbtest... Detected 1 InnoDB tables
Database test... No InnoDB tables
Database xiaoboluo... Detected 2 InnoDB tables
Dumping tables...
Dumped table xiaoboluo.t1 (1 / 3)
Dumped table xiaoboluo.t2 (2 / 3)
Dumped table sbtest.sbtest (3 / 3)
SUMMARY:
Tables Exported: 3
Tables Failed: 0
Databases Total: 2
Tables Total: 3
Log file: /data/mysql.bak/201510140221/innodb_export.log
Tables were dumped to: /data/mysql.bak/201510140221
此时可以查看export日志文件:
shell > cat /data/mysql.bak/201510140221/innodb_export.log
查看备份文件:
shell > ll /data/mysql.bak/201510140221/
总用量 12
-rw-r--r-- 1 root root 211 10月 14 02:21 innodb_export.log
drwxr-xr-x 2 root root 4096 10月 14 02:21 sbtest
drwxr-xr-x 2 root root 4096 10月 14 02:21 xiaoboluo
步骤三:停止mysql,在my.cnf中添加独立表空间参数:innodb_file_per_table=1,删掉my.cnf中的innodb_force_recovery=4参数,备份原来的数据目录,并删掉ibdata1和ib_logfile*文件,启动mysql
shell > cp -ar /data/mysql/data /data/mysql/data.bak
shell > rm -rf /data/mysql/data/ibdata1 /data/mysql/data/ib_logfile*
shell > service mysqld start
步骤四:并执行恢复innodb表操作:
shell > python innodb_export_import.py --import --dir=/data/mysql.bak/201510140221/ --config=/usr/local/services/mysql/my.cnf
Checking sbtest...
/var/lib/mysql/sbtest/sbtest.ibd
Imported table sbtest.sbtest
MySQL Error 1049: Unknown database '201510140246'
MySQL Error 1049: Unknown database '201510140253'
Checking xiaoboluo...
/var/lib/mysql/xiaoboluo/t1.ibd
Imported table xiaoboluo.t1
/var/lib/mysql/xiaoboluo/t2.ibd
Imported table xiaoboluo.t2
SUMMARY:
Tables Failed: 0
Tables Imported: 3
Databases Total: 4
Tables Total: 3
Tables Skipped: 0
Log file: /data/mysql.bak/201510140221/innodb_import.log
此时可以查看import日志:
shell > cat /data/mysql.bak/201510140221/innodb_import.log
步骤五:进行检测:
shell > python innodb_export_import.py --verify --dir=/data/mysql.bak/201510140221/ --config=/usr/local/services/mysql/my.cnf
Getting a list of databases...
Checking for InnoDB tables...
Database performance_schema... No InnoDB tables
Database sbtest... Detected 1 InnoDB tables
Database test... No InnoDB tables
Database xiaoboluo... Detected 2 InnoDB tables
Checking tables...
Checking xiaoboluo.t1...
Table xiaoboluo.t1 is OK
Checking xiaoboluo.t2...
Table xiaoboluo.t2 is OK
Checking sbtest.sbtest...
Table sbtest.sbtest is OK
SUMMARY:
Tables Ok: 3
Databases Total: 2
Tables Checked: 3
Tables Total: 3
Tables Bad: 0
Log file: /data/mysql.bak/201510140221/201510140259/innodb_check.log
此时可以查看check日志:
shell > cat /data/mysql.bak/201510140221/201510140259/innodb_check.log
参考链接:http://thecpaneladmin.com/how-to-convert-innodb-to-innodb_file_per_table-and-shrink-ibdata1/
除了这个方法,还可以使用mysqldump来备份数据
mysql共享表空间转独立表空间的更多相关文章
- Mysql InnoDB 共享表空间和独立表空间
前言:学习mysql的时候总是习惯性的和oracle数据库进行比较.在学习mysql InnoDB的存储结构的时候也免不了跟oracle进行比较.Oracle的数据存储有表空间.段.区.块.数据文件: ...
- mysql共享表空间和独立表空间
innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等. 对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 什么是共享表空间和独占表空间 共享 ...
- mysql InnoDB引擎 共享表空间和独立表空间(转载)
PS:innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 1.什么是共享表空间和独占表空 ...
- MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解
一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...
- 如何开启 MySQL InnoDB 共享表空间和独立表空间
修改数据库的表空间管理方式 修改my.ini文件的innodb_file_per_table的参数值即可,但是修改不能影响之前已经使用过的共享表空间和独立表空间: innodb_file_per_ta ...
- mysql之 共享表空间与独立表空间、frm,MYD,MYI.idb,par文件说明
一.共享表空间与独立表空间MySQL5.5默认是共享表空间 ,5.6中,默认是独立表空间. 共享表空间:ibdata1是InnoDB的共享表空间,默认配置是把全部表空间存放到ibdata1中,因此而造 ...
- 共享表空间VS独立表空间
基础概念:共享表空间 VS 独立表空间 [共享表空间] 又称为system tablespace系统表空间,a small set of data files (the ibdata files) . ...
- 【转载】Innodb共享表空间VS独立表空间
http://www.mysqlsupport.cn/innodb%E5%85%B1%E4%BA%AB%E8%A1%A8%E7%A9%BA%E9%97%B4vs%E7%8B%AC%E7%AB%8B%E ...
- mysql 共享空间转为独立表空间
由于以前的mysql配置为共享表空间,服务器空间不足,清理日志表里的数据后,数据库并没缩小,照成空间浪费,现在修改为独立表空间 #独立表空间innodb_file_per_table=1 #停止事物日 ...
- MySQL 中的共享表空间与独立表空间
对于 InnoDB 存储引擎来说,它可以将每张表存放于独立的表空间,即tablename.ibd 文件:也可以将数据存放于 ibdata 的共享表空间,一般命名是 ibdataX,后面的 X 是一个具 ...
随机推荐
- ScrollBar, Not working
Case 1: TabPanel autoScroll, DataGridView full anchor. DataGridView full anchor to partial anchor, t ...
- web系统登陆页面增加验证码
传统登陆页面中包含两个输入项: • 用户名 • 密码有时为了防止机器人进行自动登陆操作,或者防止恶意用户进行用户信息扫描,需增加动态验证码功能.此时,登陆页面中包含了三个输入项: • 用户名 • 密码 ...
- How to change hostname on SLE
修改/etc/HOSTNAME文件,在此文件中保存主机名,例如: linuxserv1 然后运行命令设置主机名 # /etc/rc.d/boot.localnet start 方法3. 运行 sysc ...
- js null 和 undefined
undefined是一个特殊类型,null本质上是一个对象 typeof undefined//"undefined"typeof null//"object" ...
- sshpass----------------sshfs--sftp(sublime)
源码下载地址:http://sourceforge.net/projects/sshpass/ tar -zxvf sshpass-1.05.tar.gz cd sshpass-1.05 ./co ...
- H264编码原理以及I帧、B和P帧详解
H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点 ...
- Swift: 比较Swift中闭包传值、OC中的Block传值
一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包 ...
- Spring操作指南-针对JDBC配置声明式事务管理(基于注解)
- Java 实现函数回调
在Java里没用委托(delegate)这方法,所以想要实现回调还是有些麻烦.(想了解C#如何实现?请查看:http://www.cnblogs.com/Martin_Q/p/4478494.html ...
- CentOS 7 安装字体库 & 中文字体
前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体 ...