时间:2021-05-23
一、概述
本文主要介绍通过federated存储引擎建立远程连接表
测试环境:mysql 5.6.21
二、步骤
开启federated存储引擎
先查看federated存储引擎存储引擎是否启用
SHOW ENGINES ;默认mysql是没有开启federated存储引擎,我这里因为已经配置了。
开启federated存储引擎只需要在my.cnf文件中增加‘federated'就可以。
创建远程连接表
mysql配置远程连接必须在本地创建federated存储引擎的表,配置远程连接参数,本地创建的表必须和远程表的定义保持一致,这里我就拿本地另一个案例数据库来做测试,效果和远程是一样。
复制代码 代码如下:show create table sakila.actor;
创建远程存储引擎表
注意:本地创建的表定义要和远程表一致,本地存储引擎选择:ENGINE =FEDERATED
CONNECTION选项中的连接字符串的一般形式如下:scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
还有一些连接字符串的例子:
CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'
注意:配置密码作为纯文本的话会存在安全问题,运行show create table,show table status是可以见的
复制代码 代码如下:SELECT * FROM test.federated_actor;
更新本地表
USE test;update federated_actorset last_name='GUINESS1'where actor_id=1;SELECT * FROM test.federated_actor;SELECT * FROM sakila.actor;对本地进行更新操作,本地和远程的数据都被更改了。
增加字段
复制代码 代码如下:alter table federated_actor add column idtest INT DEFAULT 0;
Error Code: 1031. Table storage engine for 'federated_actor' doesn't have this option
federated存储引擎不支持alter table 操作
删除表
复制代码 代码如下:drop table test.federated_actor;
删除本地表对远程表无影响
三、总结
federated存储引擎就是mysql用来解决类型于其它数据库系统的dblink功能,但是配置federated相对来说麻烦一点,还需要在本地创建表,同时也存在安全方面的因素,总体来说该功能避还是很多,希望mysql在后续版本能有所改善。
以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
vim/etc/my.cnf注释这一行:bind-address=127.0.0.1==>#bind-address=127.0.0.1保存退出。mysql-u
debian6系统:首先先安装mysql吧:打开终端(root)用户登入apt-getpurgemysql-server-5.5安装完成后:默认情况下Mysql
前言: 安装过程不再赘述,直接说问题,mysql的远程连接需要解决两个问题:1.允许root用户远程连接。2.允许任意ip远程连接数据库。当然,在测试和解决问
MySql远程连接无法打开解决办法1、改表法。请使用mysql管理工具,如:SQLyogEnterprise、navicatemysql可能是你的帐号不允许从远
第一中方法:比较详细以下的文章主要介绍的是MySQL数据库开启远程连接的时机操作流程,其实开启MySQL数据库远程连接的实际操作步骤并不难,知识方法对错而已,今