
MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。
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]'
创建成功后就可直接在本地查询相应的远程表了。
需要注意的几点:
1 本地的表结构必须与远程的完全一样。
2远程数据库目前仅限MySQL
3不支持事务
4不支持表结构修改
1、使用show语句找出在服务器上当前存在什么数据库:
mysql>
show
databases;
+----------+
|
database
|
+----------+
|
mysql
|
|
test
|
+----------+
3
rows
in
set
(000
sec)
2、创建一个数据库abccs
mysql>
create
database
abccs;
注意不同 *** 作系统对大小写的敏感。
3、选择你所创建的数据库
mysql>
use
abccs
database
changed
此时你已经进入你刚才所建立的数据库abccs
4、
创建一个数据库表
首先看现在你的数据库中存在什么表:
mysql>
show
tables;
empty
set
(000
sec)
说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable:
我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。
mysql>
create
table
mytable
(name
varchar(20),
sex
char(1),
->
birth
date,
birthaddr
varchar(20));
query
ok,
0
rows
affected
(000
sec)
由于name、birthadd的列值是变化的,因此选择varchar,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用alter
table语句。);性别只需一个字符就可以表示:"m"或"f",因此选用char(1);birth列则使用date数据类型。
创建了一个表后,我们可以看看刚才做的结果,用show
tables显示数据库中有哪些表:
mysql>
show
tables;
+---------------------+
|
tables
in
menagerie
|
+---------------------+
|
mytables
|
+---------------------+
5、显示表的结构:
mysql>
describe
mytable;
+-------------+-------------+------+-----+---------+-------+
|
field
|
type
|
null
|
key
|
default
|
extra
|
+-------------+-------------+------+-----+---------+-------+
|
name
|
varchar(20)
|
yes
|
|
null
|
|
|
sex
|
char(1)
|
yes
|
|
null
|
|
|
birth
|
date
|
yes
|
|
null
|
|
|
deathaddr
|
varchar(20)
|
yes
|
|
null
|
|
+-------------+-------------+------+-----+---------+-------+
4
rows
in
set
(000
sec)
6、
往表中加入记录
我们先用select命令来查看表中的数据:
mysql>
select
from
mytable;
empty
set
(000
sec)
这说明刚才创建的表还没有记录。
加入一条新记录:
mysql>
insert
into
mytable
->
values
(′abccs′,′f′,′1977-07-07′,′china′);
query
ok,
1
row
affected
(005
sec)
再用上面的select命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。
上方有一个切换数据库选项点击一下。传奇v8引擎数据库打开在这里上方有一个切换数据库选项我们点击一下,正在使用的数据库点击一下就可以了。数据库是指长期存储在计算机内有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立。
MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。其区别体现在事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持。具体如下:
1、事务安全:
InnoDB支持事务安全,MyISAM和MEMORY两个不支持。
2、存储限制:
InnoDB有64TB的存储限制,MyISAM和MEMORY要是具体情况而定。
3、空间使用:
InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。
4、内存使用:
InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度较低。
5、插入数据的速度:
InnoDB插入数据的速度较低,MyISAM和MEMORY插入数据的速度较高。
6、对外键的支持:
InnoDB对外键支持情况较好,MyISAM和MEMORY两个不支持外键。
三种引擎特点如下:
1、InnoDB存储引擎
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL55以后默认使用InnoDB存储引擎。
InnoDB特点:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。
如果需要频繁的更新、删除 *** 作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
2、MyISAM存储引擎
MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。
MyISAM特点:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用
3、MEMORY存储引擎
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。
MEMORY特点:所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。
它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。
扩展资料:
mysql其余不太常见的存储引擎如下:
1、BDB:源自BerkeleyDB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性
2、Merge:将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
3、Archive:非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差
4、Federated:将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
5、Cluster/NDB:高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
6、CSV:逻辑上由逗号分割数据的存储引擎。它会在数据库子目录里为每个数据表创建一个CSV文件。这是一种普通文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
7、BlackHole:黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
以上就是关于Federated MySQL storage engine FEDERATED 已禁用,怎么启动全部的内容,包括:Federated MySQL storage engine FEDERATED 已禁用,怎么启动、用mysql数据库,怎么选择引擎、传奇v8引擎数据库怎么打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)