mysql中怎么启用federated引擎
在file文件夹下的导航栏中有一些小的图标,第一、二个都是sql的标志,如果点击第二个会出现下面图片的弹窗,意思是选择保存在本地的sql,其实就是保存在本地的sql工作台,有时候工作没有完成,就先保存,然后接着工作就使用这个。federated是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。
但通过federated引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要)。
通过这个引擎可以实现类似oracle 下dblink的远程数据访问功能。
使用show engines 命令查看数据库是否已支持federated引擎:
support 的值有以下几个:
yes
支持并开启
default
支持并开启, 并且为默认引擎
no
不支持
disabled
支持,但未开启
可以看出myisam为当前默认的引擎。
使用federated建表语句如下:
create table (......) engine =federated connection='mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]'
创建成功后就可直接在本地查询相应的远程表了。
mysql 怎么开启innodb
1、停止 mysql服务
2、编辑my.cnf文件,把skip-innodb注释
3、在目录中把ibdata1、ib_logfile0、ib_logfile1 这三个文件删掉
4、启动mysql 服务保存 然后 重启mysql
你这样做只是把默认引擎更改为innodb,根本没启用肯定出错。
把my.ini中skip-innodb前面的注释和空格去掉,保存重启mysql
上面两项都修改下,如果还是启动不了,可以先把my.ini改名,如启动了innode。再改回my.ini
也可以使用mysql的向导来配置my.ini1.找到 my.ini 修改 default-storage-engine = InnoDB
2.把my.ini中skip-innodb前面的注释和空格去掉,
3.保存重启mysql