MySQL中选取FREDATED引擎达成跨数据库服务器、跨实例访问

发布时间:2019-06-05  栏目:MyBatis  评论:0 Comments

MySQL中选用FREDATED引擎实现跨数据库服务器、跨实例访问,mysqlfredated

跨数据库服务器,跨实例访问是比较分布的一种访问情势,在Oracle中得以因而DB
LINK的点子来促成。对于MySQL来讲,有一个FEDERATED存储引擎与之相呼应。一样也是经过创造八个链接形式的情势来拜访远程服务器上的数额。本文简要描述了FEDERATED存款和储蓄引擎,以及演示了基于FEDERATED存款和储蓄引擎跨实例访问的示范。

1、FEDERATED存款和储蓄引擎的叙述

 
FEDERATED存款和储蓄引擎允许在不使用复制或集群技艺的情状下促成长途访问数据库
 
创设基于FEDERATED存款和储蓄引擎表的时候,服务器在数据库目录仅创立二个表定义文件,即以表名开首的.frm文件。

  FEDERATED存款和储蓄引擎表无其余数据存款和储蓄到本地,即没有.myd文件
  对于远程服务器上表的操作与本地球表面操作一样,仅仅是数据位于远程服务器
  基本流程如下:   

图片 1

2、安装与启用FEDERATED存款和储蓄引擎

  源码安装MySQL时利用DWITH_FEDERATED_STORAGE_ENGINE来配置
  rpm安装方式缺省意况下已安装,只须求启用该功用就可以

三、图谋远程服务器情形

复制代码 代码如下:

— 此演示中国远洋运输总公司程服务器与本土服务器为同壹服务器上的多版本多实例 
— 假定远程服务为:5.陆.1二(实例340陆) 

跨数据库服务器,跨实例访问是相比广泛的1种访问格局,在Oracle中得以由此DB
LINK的法子来贯彻。对于MySQL来讲,有叁个FEDERATED存款和储蓄引擎与之相对应。相同也是经过创办一个链接形式的款型来做客远程服务器上的数量。本文简要描述了FEDERATED存款和储蓄引擎,以及演示了凭借FEDERATED存款和储蓄引擎跨实例访问的示范。

— 假定本地服务器:伍.6.二一(实例330陆)    

基于实例330陆制造FEDERATED存款和储蓄引擎表test.federated_engine以达到访问实例3406数据库tempdb.tb_engine的目的 
 
[[email protected]
~]# cat /etc/issue 
Red Hat Enterprise Linux Server release 6.4 (Santiago)  
 
–启动3406的实例 
[[email protected]
~]# /u01/app/mysql/bin/mysqld_multi start 3406 
[[email protected]
~]# mysql -uroot -pxxx -P3406 –protocol=tcp 
 
[email protected][(none)]>
show variables like ‘server_id’; 
+—————+——-+ 
| Variable_name | Value | 
+—————+——-+ 
| server_id     | 3406  | 
+—————+——-+ 
 
–实例340陆的本子号 
[email protected][tempdb]>
show variables like ‘version’; 
+—————+————+ 
| Variable_name | Value      | 
+—————+————+ 
| version       | 5.6.12-log | 
+—————+————+ 
 
–创设数量库 
[email protected][(none)]>
create database tempdb; 
Query OK, 1 row affected (0.00 sec) 
 
— Author : Leshami 
— Blog   :http://blog.csdn.net/leshami 
 
[email protected][(none)]>
use tempdb 
Database changed 
 
–创造用于访问的表 
[email protected][tempdb]>
create table tb_engine as  
    -> select engine,support,comment from
information_schema.engines; 
Query OK, 9 rows affected (0.10 sec) 
Records: 9  Duplicates: 0  Warnings: 0 
 
–提取表的SQL语句用于创立为FEDERATED存款和储蓄引擎表 
[email protected][tempdb]>
show create table tb_engine \G 
*************************** 1. row
*************************** 
       Table: tb_engine 
Create Table: CREATE TABLE `tb_engine` ( 
  `engine` varchar(64) NOT NULL DEFAULT ”, 
  `support` varchar(8) NOT NULL DEFAULT ”, 
  `comment` varchar(80) NOT NULL DEFAULT ” 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
 
–创立用于远程访问的账户 
[email protected][tempdb]>
grant all privileges on tempdb.* to ‘remote_user’@’192.168.1.131’
identified by ‘xxx’; 
Query OK, 0 rows affected (0.00 sec) 
 
[email protected][tempdb]>
flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

四、演示FEDERATED存款和储蓄引擎跨实例访问

复制代码 代码如下:

[[email protected]
~]# mysql -uroot -pxxx 
 
[email protected][(none)]>
show variables like ‘version’; 
+—————+——–+ 
| Variable_name | Value  | 
+—————+——–+ 
| version       | 5.6.21 | 
+—————+——–+ 
 
#翻看是不是匡助FEDERATED引擎 
[email protected][(none)]>
select * from information_schema.engines where engine=’federated’; 
+———–+———+——————————–+————–+——+————+ 
| ENGINE    | SUPPORT | COMMENT                        | TRANSACTIONS |
XA   | SAVEPOINTS | 
+———–+———+——————————–+————–+——+————+ 
| FEDERATED | NO      | Federated MySQL storage engine | NULL         |
NULL | NULL       | 
+———–+———+——————————–+————–+——+————+ 
 
[email protected][(none)]>
exit 
[[email protected]
~]# service mysql stop 
Shutting down MySQL..[  OK  ] 
#配置启用FEDERATED引擎 
[[email protected]
~]# vi /etc/my.cnf 
[[email protected]
~]# tail -7 /etc/my.cnf 
[mysqld] 
socket = /tmp/mysql3306.sock 
port = 3306 
pid-file = /var/lib/mysql/my3306.pid 
user = mysql 
server-id=3306/ 
federated         #加上该选项 
[[email protected]
~]# service mysql start 
Starting MySQL.[  OK  ] 
[[email protected]
~]# mysql -uroot -pxxx 
[email protected][(none)]>
select * from information_schema.engines where engine=’federated’; 
+———–+———+——————————–+————–+——+————+ 
| ENGINE    | SUPPORT | COMMENT                        | TRANSACTIONS |
XA   | SAVEPOINTS | 
+———–+———+——————————–+————–+——+————+ 
| FEDERATED | YES     | Federated MySQL storage engine | NO           |
NO   | NO         | 
+———–+———+——————————–+————–+——+————+ 
 
[email protected][(none)]>
use test 
 
— 创设基于FEDERATED引擎的表federated_engine 
[email protected][test]>
CREATE TABLE `federated_engine` ( 
    ->   `engine` varchar(64) NOT NULL DEFAULT ”, 
    ->   `support` varchar(8) NOT NULL DEFAULT ”, 
    ->   `comment` varchar(80) NOT NULL DEFAULT ” 
    -> ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 
    ->
CONNECTION=’mysql://remote_user:[email protected]:3406/tempdb/tb_engine’; 
Query OK, 0 rows affected (0.00 sec) 
 
— 上面是创造后表格式文件 
[email protected][test]>
system ls -hltr /var/lib/mysql/test 
total 12K 
-rw-rw—- 1 mysql mysql 8.5K Oct 24 08:22 federated_engine.frm 
 
–查询表federated_engine 
[email protected][test]>
select * from federated_engine limit 2; 
+————+———+—————————————+ 
| engine     | support | comment                               | 
+————+———+—————————————+ 
| MRG_MYISAM | YES     | Collection of identical MyISAM tables | 
| CSV        | YES     | CSV storage engine                    | 
+————+———+—————————————+ 
 
–更新表federated_engine 
[email protected][test]>
update federated_engine set support=’NO’ where engine=’CSV’; 
Query OK, 1 row affected (0.03 sec) 
Rows matched: 1  Changed: 1  Warnings: 0 
 
–查看更新后的结果 
[email protected][test]>
select * from federated_engine where engine=’CSV’; 
+——–+———+——————–+ 
| engine | support | comment            | 
+——–+———+——————–+ 
| CSV    | NO      | CSV storage engine | 
+——–+———+——————–+ 

五、创立FEDERATED引擎表的链接格局

复制代码 代码如下:

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
    scheme: A recognized connection protocol. Only mysql is supported as
the scheme value at this point.
    user_name: The user name for the connection. This user must have
been created on the remote server, and must have suitable privileges to
perform the required actions (SELECT, INSERT,UPDATE, and so forth) on
the remote table.
    password: (Optional) The corresponding password for user_name.
    host_name: The host name or IP address of the remote server.
    port_num: (Optional) The port number for the remote server. The
default is 3306.
    db_name: The name of the database holding the remote table.
    tbl_name: The name of the remote table. The name of the local and
the remote table do not have to match.
链接示例样本:
   
CONNECTION=’mysql://username:[email protected]:port/database/tablename’
   
CONNECTION=’mysql://[email protected]/database/tablename’
   
CONNECTION=’mysql://username:[email protected]/database/tablename’

一、FEDERATED存款和储蓄引擎的叙述

mysql数据库之间的转移: 怎把一个mysql数据库服务器中导入另3个mysql服务器?

  1. 用工具有份.那些大多工具.看您的程度相应 知道的.
  2. liunx 下 mysqldump 出来
  3. 再有壹种方法 复制出来 data 文件,.windows下是在 安装
    mysql的data文件夹下的. 里面都以按 数据库名称 成立的文本夹. ;linux 下
    也类似的.直接复制出来 ,复制进去 就行了.比导入导出 快得多, 作者试过的
     

 
FEDERATED存款和储蓄引擎允许在不应用复制或集群技艺的情况下实现远程访问数据库
 
创建基于FEDERATED存款和储蓄引擎表的时候,服务器在数据库目录仅创立三个表定义文件,即以表名开端的.frm文件。

php中mysql数据库展开时拒绝访问,用的是wamp的,phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝访问

在劳务这里开启mysql的劳动,作者的微管理器–右键管理–服务和应用程序–找mysql—右键属性–运行

您在指令行能或不能够进来?不能够进来正是你密码错了

任由通过什么路径远程访问都出现错误能够感觉是系统有防火墙之类的范围,化解格局是在
my.cnf 里面包车型大巴 [mysqld] 段增添二个起步参数

skip-name-resolve
 

http://www.bkjia.com/Mysql/903468.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/903468.htmlTechArticleMySQL中使用FREDATED引擎实现跨数据库服务器、跨实例访问,mysqlfredated
跨数据库服务器,跨实例访问是比较宽泛的1种访问方式,在Oracle中可…

  FEDERATED存储引擎表无此外数据存款和储蓄到地面,即没有.myd文件
  对于远程服务器上表的操作与本地表操作一样,仅仅是数额位于远程服务器
  基本流程如下:   

图片 2

贰、安装与启用FEDERATED存款和储蓄引擎

  源码安装MySQL时选择DWITH_FEDERATED_STORAGE_ENGINE来配置
  rpm安装格局缺省情状下已安装,只须要启用该意义就能够

3、希图远程服务器遇到

复制代码 代码如下:

— 此演示中国远洋运输总集团程服务器与地面服务器为一样服务器上的多版本多实例 
— 假定远程服务为:五.六.1二(实例340六) 

— 假定当地服务器:五.陆.2一(实例3306)    

基于实例330陆制造FEDERATED存款和储蓄引擎表test.federated_engine以达到访问实例3406数据库tempdb.tb_engine的目的 
 
[root@rhel64a ~]# cat /etc/issue 
Red Hat Enterprise Linux Server release 6.4 (Santiago)  
 
–启动3406的实例 
[root@rhel64a ~]# /u01/app/mysql/bin/mysqld_multi start 3406 
[root@rhel64a ~]# mysql -uroot -pxxx -P3406 –protocol=tcp 
 
root@localhost[(none)]> show variables like ‘server_id’; 
+—————+——-+ 
| Variable_name | Value | 
+—————+——-+ 
| server_id     | 3406  | 
+—————+——-+ 
 
–实例340陆的本子号 
root@localhost[tempdb]> show variables like ‘version’; 
+—————+————+ 
| Variable_name | Value      | 
+—————+————+ 
| version       | 5.6.12-log | 
+—————+————+ 
 
–创立数量库 
root@localhost[(none)]> create database tempdb; 
Query OK, 1 row affected (0.00 sec) 
 
— Author : Leshami 
— Blog   :http://blog.csdn.net/leshami 
 
root@localhost[(none)]> use tempdb 
Database changed 
 
–创立用于访问的表 
root@localhost[tempdb]> create table tb_engine as  
    -> select engine,support,comment from
information_schema.engines; 
Query OK, 9 rows affected (0.10 sec) 
Records: 9  Duplicates: 0  Warnings: 0 
 
–提取表的SQL语句用于创设为FEDERATED存款和储蓄引擎表 
root@localhost[tempdb]> show create table tb_engine \G 
*************************** 1. row
*************************** 
       Table: tb_engine 
Create Table: CREATE TABLE `tb_engine` ( 
  `engine` varchar(64) NOT NULL DEFAULT ”, 
  `support` varchar(8) NOT NULL DEFAULT ”, 
  `comment` varchar(80) NOT NULL DEFAULT ” 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
 
–创造用于远程访问的账户 
root@localhost[tempdb]> grant all privileges on tempdb.* to
‘remote_user’@’192.168.1.131’ identified by ‘xxx’; 
Query OK, 0 rows affected (0.00 sec) 
 
root@localhost[tempdb]> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

四、演示FEDERATED存款和储蓄引擎跨实例访问

复制代码 代码如下:

[root@rhel64a ~]# mysql -uroot -pxxx 
 
root@localhost[(none)]> show variables like ‘version’; 
+—————+——–+ 
| Variable_name | Value  | 
+—————+——–+ 
| version       | 5.6.21 | 
+—————+——–+ 
 
#翻开是或不是协助FEDERATED引擎 
root@localhost[(none)]> select * from information_schema.engines
where engine=’federated’; 
+———–+———+——————————–+————–+——+————+ 
| ENGINE    | SUPPORT | COMMENT                        | TRANSACTIONS |
XA   | SAVEPOINTS | 
+———–+———+——————————–+————–+——+————+ 
| FEDERATED | NO      | Federated MySQL storage engine | NULL         |
NULL | NULL       | 
+———–+———+——————————–+————–+——+————+ 
 
root@localhost[(none)]> exit 
[root@rhel64a ~]# service mysql stop 
Shutting down MySQL..[  OK  ] 
#布置启用FEDERATED引擎 
[root@rhel64a ~]# vi /etc/my.cnf 
[root@rhel64a ~]# tail -7 /etc/my.cnf 
[mysqld] 
socket = /tmp/mysql3306.sock 
port = 3306 
pid-file = /var/lib/mysql/my3306.pid 
user = mysql 
server-id=3306/ 
federated         #丰盛该选项 
[root@rhel64a ~]# service mysql start 
Starting MySQL.[  OK  ] 
[root@rhel64a ~]# mysql -uroot -pxxx 
root@localhost[(none)]> select * from information_schema.engines
where engine=’federated’; 
+———–+———+——————————–+————–+——+————+ 
| ENGINE    | SUPPORT | COMMENT                        | TRANSACTIONS |
XA   | SAVEPOINTS | 
+———–+———+——————————–+————–+——+————+ 
| FEDERATED | YES     | Federated MySQL storage engine | NO           |
NO   | NO         | 
+———–+———+——————————–+————–+——+————+ 
 
root@localhost[(none)]> use test 
 
— 创设基于FEDERATED引擎的表federated_engine 
root@localhost[test]> CREATE TABLE `federated_engine` ( 
    ->   `engine` varchar(64) NOT NULL DEFAULT ”, 
    ->   `support` varchar(8) NOT NULL DEFAULT ”, 
    ->   `comment` varchar(80) NOT NULL DEFAULT ” 
    -> ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 
    ->
CONNECTION=’mysql://remote_user:xxx@192.168.1.131:3406/tempdb/tb_engine’; 
Query OK, 0 rows affected (0.00 sec) 
 
— 上面是创建后表格式文件 
root@localhost[test]> system ls -hltr /var/lib/mysql/test 
total 12K 
-rw-rw—- 1 mysql mysql 8.5K Oct 24 08:22 federated_engine.frm 
 
–查询表federated_engine 
root@localhost[test]> select * from federated_engine limit 2; 
+————+———+—————————————+ 
| engine     | support | comment                               | 
+————+———+—————————————+ 
| MRG_MYISAM | YES     | Collection of identical MyISAM tables | 
| CSV        | YES     | CSV storage engine                    | 
+————+———+—————————————+ 
 
–更新表federated_engine 
root@localhost[test]> update federated_engine set support=’NO’
where engine=’CSV’; 
Query OK, 1 row affected (0.03 sec) 
Rows matched: 1  Changed: 1  Warnings: 0 
 
–查看更新后的结果 
root@localhost[test]> select * from federated_engine where
engine=’CSV’; 
+——–+———+——————–+ 
| engine | support | comment            | 
+——–+———+——————–+ 
| CSV    | NO      | CSV storage engine | 
+——–+———+——————–+ 

5、创造FEDERATED引擎表的链接情势

复制代码 代码如下:

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
    scheme: A recognized connection protocol. Only mysql is supported as
the scheme value at this point.
    user_name: The user name for the connection. This user must have
been created on the remote server, and must have suitable privileges to
perform the required actions (SELECT, INSERT,UPDATE, and so forth) on
the remote table.
    password: (Optional) The corresponding password for user_name.
    host_name: The host name or IP address of the remote server.
    port_num: (Optional) The port number for the remote server. The
default is 3306.
    db_name: The name of the database holding the remote table.
    tbl_name: The name of the remote table. The name of the local and
the remote table do not have to match.
链接示例样本:
   
CONNECTION=’mysql://username:password@hostname:port/database/tablename’
    CONNECTION=’mysql://username@hostname/database/tablename’
    CONNECTION=’mysql://username:password@hostname/database/tablename’

留下评论

网站地图xml地图