Làm cách nào để sử dụng các bảng LIÊN KẾT MySQL?

Tôi muốn sử dụng công cụ lưu trữ liên kết do MySQL cung cấp. Bạn có thể giúp tôi giải thích cách tạo bảng kiểu liên kết trong MySQL không?

Quy trình tạo bảng liên kết hơi khác so với quy trình của các loại bảng khác do MySQL cung cấp. Quá trình này được minh họa tốt nhất bằng ví dụ. Giả sử một bảng có tiêu đề sản phẩm nằm trong cơ sở dữ liệu công ty trên một máy chủ từ xa (gọi nó là "My_Remote_Server"). Cái bàn trông như thế này

CREATE TABLE product (
             product_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
             product_sku CHAR(8) NOT NULL,
             product_name VARCHAR(35) NOT NULL,
             product_price DECIMAL(6,2)
) ENGINE=MyISAM;

Bây giờ, giả sử rằng bạn muốn truy cập bảng trên từ một số máy chủ khác (gọi nó là "My_Local_Server"). Để làm như vậy, hãy tạo cấu trúc bảng giống như trên "My_Local_Server", với điểm khác biệt duy nhất là loại công cụ bảng phải là LIÊN KẾT thay vì MyISAM. Ngoài ra, phải cung cấp các tham số kết nối, cho phép "My_Local_Server" giao tiếp với bảng trên "My_Remote_Server"

CREATE TABLE product (
             product_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
             product_sku CHAR(8) NOT NULL,
             product_name VARCHAR(35) NOT NULL,
             product_price DECIMAL(6,2)
) ENGINE=FEDERATED;
COMMENT='mysql://remoteuser:[email protected]/corporate/product';

Đầu tiên, người dùng được xác định bởi tên người dùng từ xa và bí mật mật khẩu phải nằm trong cơ sở dữ liệu MySQL được tìm thấy trên "My_Remote_Server". Thứ hai, hãy nhớ rằng thông tin này sẽ được truyền qua một mạng có thể không an toàn đến "My_Remote_Server", bất kỳ ai cũng có thể nắm bắt được không chỉ các biến xác thực mà còn cả dữ liệu bảng. Vì vậy bạn cũng nên làm vài phép đo để thoát khỏi bên này

Sau khi nó được tạo, bạn có thể truy cập bảng sản phẩm "My_Remote_Server" bằng cách truy cập bảng sản phẩm trên "My_Local_Server". Hơn nữa, miễn là người dùng được chỉ định trong chuỗi kết nối có các đặc quyền cần thiết, thì cũng có thể thêm, sửa đổi và xóa dữ liệu nằm trong bảng từ xa này

Bạn có thể sử dụng Cổng SQL để định cấu hình dịch vụ truy cập từ xa MySQL và thiết lập các bảng được liên kết cho dữ liệu Access. Dịch vụ này là một quy trình daemon cung cấp giao diện MySQL cho Trình điều khiển CData ODBC để truy cập. Sau khi bạn đã bắt đầu dịch vụ, bạn có thể tạo một máy chủ và các bảng bằng cách sử dụng Công cụ lưu trữ LIÊN KẾT trong MySQL. Sau đó, bạn có thể làm việc với dữ liệu Access giống như cách bạn làm với các bảng MySQL cục bộ

Nếu bạn chưa làm như vậy, hãy cung cấp các giá trị cho thuộc tính kết nối bắt buộc trong tên nguồn dữ liệu (DSN). Bạn có thể sử dụng Quản trị viên nguồn dữ liệu ODBC tích hợp sẵn của Microsoft để định cấu hình DSN. Đây cũng là bước cuối cùng của quá trình cài đặt driver. Xem chương "Bắt đầu" trong tài liệu trợ giúp để biết hướng dẫn sử dụng Quản trị viên nguồn dữ liệu ODBC của Microsoft để tạo và định cấu hình DSN

Để kết nối, hãy đặt thuộc tính DataSource thành đường dẫn đến cơ sở dữ liệu Access

Định cấu hình Cổng SQL

Xem phần thiết lập kết nối với dữ liệu Access dưới dạng cơ sở dữ liệu MySQL ảo. Bạn sẽ định cấu hình dịch vụ điều khiển từ xa MySQL lắng nghe các yêu cầu MySQL từ máy khách. Dịch vụ có thể được cấu hình trong giao diện người dùng SQL Gateway

Tạo Máy chủ LIÊN KẾT và Bảng cho Dữ liệu Truy cập

Sau khi bạn đã định cấu hình và khởi động dịch vụ, hãy tạo máy chủ LIÊN KẾT để đơn giản hóa quá trình tạo bảng LIÊN KẾT

Tạo một máy chủ LIÊN KẾT

Câu lệnh sau sẽ tạo một máy chủ LIÊN KẾT dựa trên Trình điều khiển ODBC để truy cập. Lưu ý rằng tên người dùng và mật khẩu của máy chủ LIÊN KẾT phải khớp với tài khoản người dùng mà bạn đã xác định trên tab Người dùng của Cổng SQL

CREATE SERVER fedAccess
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'sql_gateway_user', PASSWORD 'sql_gateway_passwd', HOST 'sql_gateway_host', PORT ####, DATABASE 'CData Access Sys');

Tạo một bảng LIÊN KẾT

Để tạo bảng LIÊN KẾT bằng máy chủ mới tạo của chúng tôi, hãy sử dụng từ khóa KẾT NỐI và chuyển tên của máy chủ LIÊN KẾT và bảng từ xa (Đơn hàng). Tham khảo mẫu sau để biết câu lệnh tạo bảng LIÊN KẾT

CREATE TABLE fed_orders (
  ...,
  ordername  TYPE(LEN),
  freight  TYPE(LEN),
  ...,
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='fedAccess/orders';

GHI CHÚ. Lược đồ bảng cho bảng LIÊN KẾT phải khớp chính xác với lược đồ bảng từ xa. Bạn luôn có thể kết nối trực tiếp với dịch vụ truy cập từ xa MySQL bằng bất kỳ máy khách MySQL nào và chạy truy vấn SHOW CREATE TABLE để lấy lược đồ bảng

Thực hiện truy vấn

Giờ đây, bạn có thể thực thi các truy vấn đối với các bảng Access LIÊN KẾT từ bất kỳ công cụ nào có thể kết nối với MySQL, điều này đặc biệt hữu ích nếu bạn cần THAM GIA dữ liệu từ một bảng cục bộ với dữ liệu từ Access. Tham khảo ví dụ sau

Việc sử dụng các bảng LIÊN KẾT trong MySQL là gì?

Công cụ lưu trữ LIÊN BANG cho phép bạn truy cập dữ liệu từ cơ sở dữ liệu MySQL từ xa mà không cần sử dụng công nghệ sao chép hoặc cụm . Truy vấn bảng LIÊN KẾT cục bộ sẽ tự động lấy dữ liệu từ các bảng (liên kết) từ xa. Không có dữ liệu nào được lưu trữ trên các bảng cục bộ.

Làm cách nào để bật bảng LIÊN KẾT trong MySQL?

Thêm 'liên kết' trên một dòng mới trong tệp cấu hình mysql của bạn (Tôi đã tìm thấy tệp cấu hình mysql của mình ở đây — '/etc/my. cnf'). Khi điều này được thực hiện, hãy khởi động lại mysql. Sau khi khởi động lại, công cụ liên kết sẽ được bật.

Làm cách nào để tạo cơ sở dữ liệu LIÊN KẾT trong MySQL?

Để tạo bảng LIÊN KẾT, bạn nên làm theo các bước sau. .
Tạo bảng trên máy chủ từ xa. .
Tạo bảng trên máy chủ cục bộ với định nghĩa bảng giống hệt nhau, nhưng thêm thông tin kết nối liên kết bảng cục bộ với bảng từ xa

Công cụ LIÊN KẾT MySQL là gì?

Liên kết là công cụ lưu trữ dành cho hệ thống quản lý cơ sở dữ liệu quan hệ MySQL MariaDB cho phép tạo bảng là biểu diễn cục bộ của bảng nước ngoài (từ xa). It uses the MySQL client library API as a data transport, treating remote tables as if they were located on the local server.