Pg外掛 MySQL_fdw原始碼安裝使用
阿新 • • 發佈:2018-11-09
Pg外掛 MySQL_fdw原始碼安裝使用
概述
postgresql的外部表外掛MySQL_fdw 可以實現pg與MySQL的資料同步功能。是通過pg資料庫的外部表功能實現,搭建也十分簡單。
編譯安裝mysql_fdw
下載外掛
https://github.com/EnterpriseDB/mysql_fdw
使用git,或者直接下載
編譯安裝
unzip mysql_fdw-master.zip
cd mysql_fdw-master
要有pg和mysql的config命令(下列需按實際安裝目錄)
export PATH=/usr/local/pgsql/bin/:$PATH
export PATH=/usr/mysql/bin/:$PATH
安裝
make USE_PGXS=1
make USE_PGXS=1 install
如果出錯,安裝mysql客戶端
yum install mysql-devel
配置mysql_fdw
建立extension
create extension mysql_fdw ;
檢視外掛
select * from pg_extension ;
\dx
建立extension時可能出現的錯誤
SQL Error [HV00L]: ERROR: failed to load the mysql query:
libmysqlclient.so: cannot open shared object file: No such file or directory
建議:export LD_LIBRARY_PATH to locate the library
org.postgresql.util.PSQLException: ERROR: failed to load the mysql query:
libmysqlclient.so: cannot open shared object file: No such file or directory
建議:export LD_LIBRARY_PATH to locate the library
需要建立一個link
ln -s /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/pgsql-9.6/lib/libmysqlclient.so
注意自己的版本
建立server
CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS (HOST '192.168.1.111', PORT '3320');
填進相應的mysql資料庫的資訊
建立user mapping
CREATE USER MAPPING FOR PUBLIC SERVER mysql_server OPTIONS (username 'third_admin', password 'eisoo.com');
如果想修改
alter user MAPPING FOR public server mysql_server options ( set password 'eisoo.com');
注:一些高版本的mysql需要修改密碼策略
將mysql的密碼策略改為mysql_native_password
alter user [email protected] identified with mysql_native_password by 'password';