我有一个运行在一台服务器上的MariaDB,该服务器包含一个特定的表,我希望在同一台私有network.The上的另一台服务器上能够访问该表,第二台服务器也在运行MariaDB。这可以通过连接存储引擎来实现吗?如果是的话,你能指出怎样做的例子吗?谢谢!
发布于 2019-07-14 15:07:54
是的,这是可能的:
首先安装软件包。在Redhat和朋友上,运行以下命令:
sudo yum install MariaDB-connect-engine或者在Debian/Ubuntu和朋友上:
sudo apt-get install mariadb-plugin-connect-engine (或者应该说‘mariadb-插件-连接’?)
然后登录到MariaDB并安装插件:
INSTALL SONAME 'ha_connect';现在在本地创建CONNECT表:
CREATE TABLE my_connect_table (
col1 type1 -- same columns as in your remote table
...
)
ENGINE=CONNECT TABLE_TYPE=MYSQL dbname=the_db_name tabname=the_table_name
CONNECTION='mysql://the_username:the_password@the_hostname'; 现在您可以随意使用该表的SELECT、INSERT、UPDATE、DELETE等。如果您DROP这个表,那么您只DROP本地CONNECT表,而不是远程表。
有关参考,请参见:连接MYSQL表类型:访问MySQL/MariaDB表
您可能还需要考虑MariaDB 蜘蛛存储引擎。连接引擎可以使用任何远程数据库系统(Oracle、MSSQL、PostgreSQL、.)如果您安装ODBC驱动程序,或者它甚至可以是一个CSV文件,而不是实际的数据库系统。蜘蛛引擎只适用于远程MariaDB数据库。然而,Spider的优点是它具有切分功能(即允许跨多个服务器在表中分发数据)并支持XA事务。
https://dba.stackexchange.com/questions/242833
复制相似问题