MySQL学习【第十篇存储引擎实际应用】
一.将现有的myiasm引擎转化为innodb引擎
1.首先我们知道myisam有几点特别烦
a( 运用的是表级锁
b( 不支持csr(故障自动恢复)
2.mysql的5.1.177版本innodb引擎支持并不完善,到了5.6.38支持则非常完美,所以不要拿太低版本来做实验了
3.开始备份我们的数据
mysqldump -uroot -p123 库名 表名 >/tmp/a.sql
4.对备份进行处理,将引擎转化为engine
sed -i 's#ENGINE=MYISAM#ENGINE=INNODB#g' /tmp/a.sql
5.将修改后的备份导入
mysql> source /tmp/a.sql
6.测试一下是否发生改变,用命令看看
mysql> show table status like '表名'\G
二.存储引擎共享表空间和独立空间
1.表空间概念实在5.5版本之后出现的,目的是为了让数据库的存储更容易扩展
2.共享表空间中默认存储(临时表、undo、系统数据)5.7版本中默认会将undo和临时表独立出来,5.6版本也可以独立,只不过需要在初始化的时候进行配置
3.查看共享表空间
#物理查看
[root@db01 ~]# ll /application/mysql/data/
-rw-rw---- mysql mysql Aug : ibdata1
#命令行查看
mysql> show variables like '%path%';
innodb_data_file_path =bdata1:12M:autoextend
4.设置方法(第一个ibdata的数值要求与查看一样)
#编辑配置文件
[root@db01 ~]# vim /etc/my.cnf
[mysqld]
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend
5.独立表空间:对于用户自主创建的表,会采用此种模式,每个表由一个独立的表空间进行管理
6.查看独立表空间
#物理查看
[root@db01 ~]# ll /application/mysql/data/world/
-rw-rw---- mysql mysql Aug : city.ibd
#命令行查看
mysql> show variables like '%per_table%';
innodb_file_per_table=ON
三.在没备份数据时,由于意外你表坏了,如何恢复
1.拷贝你的表到新的mysql数据库中
[root@db01 ~]# cp -r /application/mysql/data/world/ /xingku/data/
2.启动新的数据库
mysqld_safe --defaults-file=/xingku/my.cnf &
3.登陆以前的数据库进行查看
mysql> select * from city;
ERROR (42S02): Table 'world.city' doesn't exist
4.找到以前的表结构在新库中创建(没有,就找开发要)
mysql> show create table world.city;
#删掉外键创建语句
CREATE TABLE `city` (
`ID` int() NOT NULL AUTO_INCREMENT,
`Name` char() NOT NULL DEFAULT '',
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
5.删除新库的表空间文件
mysql> alter table city_new discard tablespaces;
6.拷贝旧表空间文件
[root@db01 world]# cp /application/data/world/city.ibd /xingku/data/world/city_new.ibd
7.授权
chown -R mysql.mysql /xingku
8.导入表空间
mysql> alter table city_new import tablespace;
接下来有两种方法
a( 让开发把代码改一下链接到新库中
b( 将新表导入到旧库中(小数据使用,大量数据你试试)
9.导出新的表
mysqldump -uroot -p123 world city > /tmp/a.sql
10.删除旧库中的表文件
rm -rf city.*
11.登陆旧库,导入新表
mysql> source /tmp/a.sql
MySQL学习【第十篇存储引擎实际应用】的更多相关文章
- MySQL学习【第九篇存储引擎】
一.存储引擎介绍 1.我们知道mysql程序构成由连接层,sql层,存储引擎层.存储引擎层和磁盘进行交互,由其去取数据,而我们取得数据是表的形式展现出来,谁做的呢?就是存储引擎结构化成表的形式返回给用 ...
- MySQL学习笔记七:存储引擎
1.MySQL存储引擎的设计采用“插件式”方案,用户可以很方便地选择使用哪种存储引擎,想使用mysql没有提供的引擎时,可以自己安装进去. 查看支持的存储引擎 mysql> show engin ...
- MySQL学习笔记(四):存储引擎的选择
一:几种常用存储引擎汇总表 二:如何选择 一句话:除非需要InnoDB 不具备的特性,并且没有其他办法替代,否则都应该优先考虑InnoDB:或者,不需要InnoDB的特性,并且其他的引擎更加合适当前情 ...
- MySQL学习笔记:Engine存储引擎
在使用Mysql建表过程中,有时候会遇到一些奇怪的现象.例如,如何插入数据就是查询不到数据,此时可能是建表的存储引擎设置成为engine=blackhole的原因. 1.engine=innodb 提 ...
- mysql-介绍、MySQL部署、数据类型、存储引擎
数据库介绍 什么是数据? 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材.数据是信息的表现形式和载体,可以是符号.文字.数字.语音.图像.视频等. ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- 《MySQL技术内幕:InnoDB存储引擎(第2版)》书摘
MySQL技术内幕:InnoDB存储引擎(第2版) 姜承尧 第1章 MySQL体系结构和存储引擎 >> 在上述例子中使用了mysqld_safe命令来启动数据库,当然启动MySQL实例的方 ...
- MySql(十一):MySQL性能调优——常用存储引擎优化
一.前言 MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.本章将介绍最为常用的两种存储引擎进行针对性的优化建议. 二.MyISAM存储 ...
- MySQL的四种主要存储引擎
在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? ...
随机推荐
- Flutter: 图解 ListView 的多种绑定方式
小菜昨天刚学习了一下底部状态栏 BottomNavigationBar 的基本使用方法,今天学习一下 ListView 的基本用法. 小菜觉得 Flutter 中 ListView ...
- Android 图板之保存图像
(1)为了能适应多种屏幕尺寸的手机,我们在创建图像的时候就要根据用户手机屏幕的宽高像素来创建. (2)该软件将把图形保存到sdcard中,在保存之前,需要检测sdcard是否存在,是否可写入.如通过以 ...
- 功能强大的StickyHeaderListView:标题渐变、吸附悬停、筛选分类、动态头部
StickyHeaderListView 主要是通过 ListView 添加头部实现,将复杂的头部分解为若干部分,如下图:Header 1(广告位).Header 2(频道位).Header 3(运营 ...
- 3The superclass “javax.servlet.http.HttpServlet" was not found on the Java Build Path 之一
另外一篇短文里还有第三种解决方案,查看请点击这里 1.异常信息 创建maven web项目时,出现 The superclass “javax.servlet.http.HttpServlet&quo ...
- ExtJs 4.1.1 文件结构解析
- Maven安装及MyEclipse中使用Maven
Step1:下载mavenhttp://maven.apache.org/download.cgi,下载好后解压到一个路径中 Step2:配置环境变量, 新建变量名:MAVEN_HOME 变量值:D: ...
- mongodb存储引擎
存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引 ...
- Python项目生成requirements.txt的多种方式
我相信任何软件程序都会有依赖的类库,尤其现在开源如此的火爆,因为一个项目可能会有无很多的依赖的包 这个时候难道我们都要一个一个的去找到安装吗?即使你找到了依赖的包 但是呢模块的版本又有很多难道你都要装 ...
- [UI] Pull menu interaction concept - 下拉菜单交互
Pull menu interaction concept - 下拉菜单交互 http://freebiesbug.com/code-stuff/pull-menu-interaction-conce ...
- UNIX高级环境编程(3)Files And Directories - stat函数,文件类型,和各种ID
在前面的两篇,我们了解了IO操作的一些基本操作函数,包括open.read和write. 在本篇我们来学习一下文件系统的其他特性和一个文件的属性,涉及的函数功能包括: 查看文件的所有属性: 改变文件所 ...