mysql远程表链接

FEDERATED简介

FEDERATED存储引擎是访问远程数据库中的表,在平时开发中可以用此特性来访问远程库中的参数表之类的,还是非常方便的。使用时直接在本地构建一个federated表来链接远程数据表,配置好之后本地数据库可以直接和远程数据表进行同步,实际上这个数据库并不是真实存放数据,所需要的数据都是存放在远程服务器上。

配置条件

  • mysql版本需要5.1以上;
  • 在安装是需要把federated引擎已经安装;

配置步骤

  • 1.开启federated引擎;

在mysql终端执行:

	show engines;

若是引擎关闭则需要配置开启,方式如下;

修改mysql的配置文件:

在my.ini中[mysqld]标签下下直接加上一行 federated重启数据库服务即可

  • 2.建立远程表连接
CREATE TABLE table_test (
   id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
   name varchar(255) not null,
  PRIMARY KEY (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION=‘mysql://root:[email protected]:3306/dbname/tablename‘

注意

  • 1.本地的表结构必须与远程的完全一样。
  • 2.远程数据库目前仅限MySQL
  • 3.不支持事务
  • 4.不支持表结构修改

http://daodaoliang.com/blog/2015/04/02/mysql%E8%BF%9C%E7%A8%8B%E8%A1%A8%E9%93%BE%E6%8E%A5.html

时间: 2024-11-05 11:40:03

mysql远程表链接的相关文章

MySQL远程工具链接报错—1130

1130 - Host '192.168.0.1' is not allowed to connect to this MySQL server 使用MySQL远程工具链接数据库报错,这个错误原因是没有开放远程链接功能,可以在MySQL里面输入如下命令进行解决: >user mysql; >UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; >flush privileges;

允许MySQl远程链接

A机器上安装了MySQl Server,想在B机器上远程连接.不想,收到拒绝提示.搜索之,时A机器上MySQL未授权给B机器远程连接权限. 1.直接法,即将MySQL库中user表中新增一个新用户test,密码为test,然后使用授权语句授之一定的权限 grant 权限 on 数据库名.表名 to 用户名@登录主机 identified by "用户密码" A机器上,操作指令如下: 1>use mysql 2>grant all on *.* to [email prote

linux下mysql远程链接

前言:我的系统是ubuntu,默认不支持mysql远程链接.接下来的步骤改变这点. 1,首先取消mysql本机绑定 编辑/etc/mysql/my.cnf 将”bind-address = 127.0.0.1“注释 sudo /etc/init.d/mysql restart重启即可远程访问,或 sudo service mysql restart 2,你最好新增一个用户,并给这个用户限制权限.比如,只允许他访问某个库,某个表. grant all on 库名.* to [email prote

Mac下配置PHP+Apache+phpMyAdmin+MySql远程链接

最近的项目是微信公众号平台的开发,微信官方给出的Demo是PHP的,发现大部分的学习资料也是PHP,那好吧,放弃Java,来段儿PHP吧 下面说说Mac下搭建PHP环境 数据库:MySQL-5.6.26 OS X:10.11.1 Apache:2.4.16 phpMyAdmin:4.5.2 编辑器:Sublime Text3 Apache: Mac系统下已经自带,打开『终端』输入: sudo apachectl -v 或 httpd -v 和 密码 可看到系统自带的版本信息: Server ve

mysql数据库表间内外链接详解

1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制)(2)右外连接(右边的表不加限制)(3)全外连接(左右两表都不加限制) 3. 自连接(同一张表内的连接) SQL的标准语法:select table1.column,table2.column from table1 [inner | left | right | full ] join table2 ontable1.column1 = table2.column2; inner join 表示内连接: left jo

【3.3】mysql中的Federated存储引擎,远程表,相当于sql server的linked server

MySQL中针对不同的功能需求提供了不同的存储引擎.所谓的存储引擎也就是MySQL下特定接口的具体实现. FEDERATED是其中一个专门针对远程数据库的实现.一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件. 但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要). 通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能. 1.使用show engines 命令查看数据库是否已支持FED

mysql 远程连接设置

1.MySQL创建远程登陆用户并授权: grant all PRIVILEGES on discuz.* to [email protected]'123.123.123.123' identified by '123456'; 下面逐一分析所有的参数: all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用","半角逗号分隔. discuz.

python3 mysql 多表查询

python3 mysql 多表查询 一.准备表 创建二张表: company.employee company.department #建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male'

设置mysql远程连接root权限

在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接.需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库.方法如下:默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆:需要更改权限才能实现远程连接MYSQL数据库.可以通过以下方式来确认:root#mysql -h localhost -uroot -pEnter password: ******Welcome to the