Hướng dẫn này giải thích cách thiết lập và cấu hình MySQL multi-master replication trên Oracle Linux. Như tất cả các bạn đã biết, MySQL là một sản phẩm cơ sở dữ liệu hàng đầu nổi tiếng đã được chứng minh là sẵn sàng cho doanh nghiệp. Vì dữ liệu rất quan trọng đối với mọi tổ chức, hầu hết các quản trị viên cơ sở dữ liệu đang tìm kiếm một giải pháp phù hợp để thiết lập tính khả dụng cao nhằm đảm bảo người dùng có thể truy cập dữ liệu của họ 24/7. MySQL replication là một giải pháp có thể đảm bảo chính sách khả dụng cao. Trên hết, MySQL replication cũng có thể giúp các quản trị viên cơ sở dữ liệu phân phối tải trên nhiều máy chủ cơ sở dữ liệu bằng cách cân bằng tải các yêu cầu ĐỌC và GHI. Thật không may, tính năng sao chép cơ bản chỉ có thể mang lại lợi ích cho các yêu cầu ĐỌC. Do đó, MySQL multi-master replication đã được giới thiệu để cung cấp tính năng sao chép cho cả yêu cầu GHI.
Đối với hướng dẫn này, tôi đang sử dụng Oracle Linux 6.8 ở phiên bản 32 bit. Xin lưu ý rằng mặc dù cấu hình được thực hiện trên Oracle Linux, nhưng các bước và cấu hình chủ yếu giống với CentOS và Red Hat Linux. Trong hướng dẫn này, chúng ta sẽ sử dụng 2 máy chủ. Trên mỗi máy chủ, chúng ta sẽ thiết lập cơ sở dữ liệu MySQL và cấu hình nó để sao chép đa chủ. Vào cuối hướng dẫn này, chúng ta sẽ thấy rằng bất kỳ yêu cầu ĐỌC hoặc GHI nào bao gồm các yêu cầu DDL (Ngôn ngữ định nghĩa dữ liệu) và DML (Ngôn ngữ thao tác dữ liệu) sẽ được chạy trên cả hai máy chủ.
Đối với giai đoạn cài đặt, chúng ta chỉ yêu cầu gói máy chủ MySQL cho giai đoạn cấu hình và máy khách MySQL để truy cập môi trường cơ sở dữ liệu. Cả hai gói đều yêu cầu phải cài đặt một số phụ thuộc. Trước tiên, hãy xác nhận phiên bản Hệ điều hành của chúng ta và ghi lại địa chỉ IP để cấu hình trước.
Bây giờ hãy thực hiện tương tự trên máy chủ khác.
Tiếp theo, thêm địa chỉ IP vào tệp máy chủ của máy chủ. Thực hiện tương tự trên cả hai máy chủ như bên dưới.
Tiếp theo, tôi sẽ cấu hình một kho lưu trữ mới để cài đặt máy chủ MySQL và các gói máy khách MySQL thông qua tiện ích yum. Vui lòng thực hiện việc này trên CẢ HAI máy chủ.
Kho lưu trữ mới cho phiên bản MySQL mới nhất đã được cài đặt. Hãy bật chúng lên.
Sau khi hoàn tất, hãy đảm bảo rằng các gói MySQL đã khả dụng.
Tuyệt, giờ chúng ta đã hoàn thành được một nửa chặng đường. Vì không có gói MySQL nào được cài đặt trên máy chủ hiện tại, chúng ta hãy bắt đầu cài đặt gói. Dưới đây là các bước.
Tuyệt vời, bây giờ quá trình cài đặt đã hoàn tất. Khởi động daemon MySQL lần đầu tiên.
Tuyệt, giờ dịch vụ máy chủ MySQL của chúng ta đã hoạt động. Hãy xác nhận bằng cách liệt kê cổng được dịch vụ MySQL sử dụng. Theo mặc định, MySQL sẽ sử dụng cổng 3306 khi khởi động dịch vụ. Dưới đây là các lệnh:
Bây giờ, hãy thiết lập mật khẩu ban đầu cho người dùng root MySQL để đảm bảo chúng ta không bỏ lỡ bảo mật cơ bản cho máy chủ MySQL của mình.
Hoàn tất giai đoạn cài đặt. Chúng ta hãy chuyển sang cấu hình thiết lập sao chép đa máy chủ.
Dưới đây là giải thích về cấu hình:
Xong, bây giờ hãy khởi động lại máy chủ MySQL và xem cấu hình đã được kích hoạt hay chưa. Dưới đây là các bước:
Tuyệt, bây giờ chúng ta hãy thiết lập máy chủ DB2 làm máy chủ phụ cho máy chủ sao chép DB1 chính và trên hết là thiết lập máy chủ DB2 cũng làm máy chủ chính cho máy chủ DB1. Sau đây là các bước:
Giống như cấu hình trong DB1, hãy vào bên trong môi trường máy chủ MySQL và tạo cơ sở dữ liệu liên quan và chỉ định người dùng cho quy trình sao chép.
Xong, bây giờ hãy khởi động lại máy chủ MySQL DB2 và xem cấu hình đã được kích hoạt hay chưa. Nếu có, thì chúng ta tiếp tục tiến hành tạo slave cho máy chủ DB1.
Tuyệt! Vì mọi thứ đã được thiết lập cho máy chủ DB2, hãy quay lại máy chủ DB1 và tạo cấu hình phụ cho máy chủ DB2.
Hoàn thành tốt lắm, giờ mọi thứ đã sẵn sàng, chúng ta hãy tiến hành giai đoạn thử nghiệm để kết luận rằng mọi cấu hình đã được thực hiện chính xác.
Xong, vì việc tạo bảng là câu lệnh DDL (Ngôn ngữ định nghĩa dữ liệu), không cần phải nhập lệnh commit. Bây giờ hãy vào bên trong máy chủ DB2 MySQL và xem bảng mới tạo có tồn tại không.
Tuyệt, lưu ý rằng bảng mới tạo trong máy chủ DB1 hiện tự động tồn tại trong máy chủ MySQL DB2. Sau đó, chúng tôi cũng đã chèn được 5 hàng dữ liệu vào bảng. Đối với lần kiểm tra cuối cùng, hãy xem các hàng đã cập nhật trong bảng TBL1 có thể được nhìn thấy trong máy chủ DB1 hay không.
Thích quá! Chúng tôi đã tạo thành công bản sao đa chủ MySQL giữa 2 máy chủ.
1. Lưu ý sơ bộ
Đối với hướng dẫn này, tôi đang sử dụng Oracle Linux 6.8 ở phiên bản 32 bit. Xin lưu ý rằng mặc dù cấu hình được thực hiện trên Oracle Linux, nhưng các bước và cấu hình chủ yếu giống với CentOS và Red Hat Linux. Trong hướng dẫn này, chúng ta sẽ sử dụng 2 máy chủ. Trên mỗi máy chủ, chúng ta sẽ thiết lập cơ sở dữ liệu MySQL và cấu hình nó để sao chép đa chủ. Vào cuối hướng dẫn này, chúng ta sẽ thấy rằng bất kỳ yêu cầu ĐỌC hoặc GHI nào bao gồm các yêu cầu DDL (Ngôn ngữ định nghĩa dữ liệu) và DML (Ngôn ngữ thao tác dữ liệu) sẽ được chạy trên cả hai máy chủ.
2. Giai đoạn cài đặt
Đối với giai đoạn cài đặt, chúng ta chỉ yêu cầu gói máy chủ MySQL cho giai đoạn cấu hình và máy khách MySQL để truy cập môi trường cơ sở dữ liệu. Cả hai gói đều yêu cầu phải cài đặt một số phụ thuộc. Trước tiên, hãy xác nhận phiên bản Hệ điều hành của chúng ta và ghi lại địa chỉ IP để cấu hình trước.
Mã:
[root@DB1 ~]# lsb_release -a
Phiên bản LSB: :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
ID nhà phân phối: OracleServer
Mô tả: Oracle Linux Server bản phát hành 6.8
Bản phát hành: 6.8
Tên mã: n/a
[root@DB1 ~]# ifconfig
eth0 Liên kết encap:Ethernet HWaddr 08:00:27:42:C0:4C
inet addr:192.168.43.11 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe42:c04c/64 Phạm vi:Liên kết
PHÁT SÓNG LÊN ĐANG CHẠY PHÁT NHIỀU PHÁT MTU:1500 Số liệu:1
Gói RX:544 lỗi:0 bị loại bỏ:0 tràn:0 khung:0
Gói TX:79 lỗi:0 bị loại bỏ:0 tràn:0 sóng mang:0
va chạm:0 txqueuelen:1000
Byte RX:51274 (50,0 KiB) Byte TX:9474 (9,2 KiB)
lo Liên kết encap:Vòng lặp cục bộ
inet addr:127.0.0.1 Mặt nạ: 255.0.0.0
inet6 addr: ::1/128 Phạm vi: Máy chủ
LẶP LẠI LÊN ĐANG CHẠY MTU: 65536 Số liệu: 1
Gói RX: 4 lỗi: 0 đã loại bỏ: 0 tràn: 0 khung: 0
Gói TX: 4 lỗi: 0 đã loại bỏ: 0 tràn: 0 sóng mang: 0
va chạm: 0 txqueuelen: 0
RX byte: 240 (240,0 b) TX byte: 240 (240,0 b)
Mã:
[root@DB2 ~]# lsb_release -a
Phiên bản LSB: :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
ID nhà phân phối: OracleServer
Mô tả: Oracle Linux Server bản phát hành 6.8
Bản phát hành: 6.8
Tên mã: n/a
[root@DB2 ~]# ifconfig
eth0 Liên kết encap:Ethernet HWaddr 09:00:30:42:C1:5D
inet addr:192.168.43.12 Bcast:192.168.43.255 Mặt nạ:255.255.255.0
inet6 địa chỉ: fe80::a00:27ff:fe42:c04c/64 Phạm vi:Liên kết
PHÁT SÓNG LÊN ĐANG CHẠY PHÁT NHIỀU PHÁT MTU:1500 Số liệu:1
Gói RX:544 lỗi:0 bị loại bỏ:0 tràn:0 khung:0
Gói TX:79 lỗi:0 bị loại bỏ:0 tràn:0 sóng mang:0
va chạm:0 txqueuelen:1000
Byte RX:51274 (50,0 KiB) Byte TX:9474 (9,2 KiB)
Liên kết lo encap:Vòng lặp cục bộ
inet địa chỉ:127.0.0.1 Mặt nạ:255.0.0.0
inet6 addr: ::1/128 Phạm vi: Máy chủ
LÊN VÒNG LẶP LẠI ĐANG CHẠY MTU:65536 Số liệu:1
Gói RX:4 lỗi:0 bị loại bỏ:0 tràn:0 khung:0
Gói TX:4 lỗi:0 bị loại bỏ:0 tràn:0 sóng mang:0
va chạm:0 txqueuelen:0
RX byte:240 (240.0 b) TX byte:240 (240.0 b)
Mã:
[root@DB1 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.43.11 DB1
192.168.43.12 DB2
Mã:
[root@DB1 ~]# cd /etc/yum.repos.d/
[root@DB1 yum.repos.d]# ls
OEL6.repo
[root@DB1 yum.repos.d]# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
--2017-05-22 09:43:59-- http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
Đang giải quyết repo.mysql.com... 23.8.231.210
Đang kết nối tới repo.mysql.com|23.8.231.210|:80... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 200 OK
Độ dài: 5824 (5,7K) [application/x-redhat-package-manager]
Đang lưu vào: "mysql-community-release-el6-5.noarch.rpm"
100%[======================================================>] 5.824 --.-K/giây trong 0 giây
2017-05-22 09:44:00 (264 MB/giây) - "mysql-community-release-el6-5.noarch.rpm" đã lưu [5824/5824]
[root@DB1 yum.repos.d]# ls
OEL6.repo mysql-community-release-el6-5.noarch.rpm
[root@DB1 yum.repos.d]# rpm -Uvh mysql-community-release-el6-5.noarch.rpm
Đang chuẩn bị... ################################################# [100%]
1:mysql-community-release############################################### [100%]
[root@DB1 yum.repos.d]# ls
CentOS.repo mysql-community.repo
mysql-community-release-el6-5.noarch.rpm mysql-community-source.repo
Mã:
[root@DB1 yum.repos.d]# vi mysql-community.repo
# Bật để sử dụng MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Mã:
[root@DB1 yum.repos.d]# rpm -qa|grep -i mysql
mysql-community-release-el6-5.noarch
Mã:
[root@DB1 yum.repos.d]#
[root@DB1 yum.repos.d]# yum install mysql-server mysql-client
Các plugin đã tải: fastestmirror, refresh-packagekit, security
Thiết lập quy trình cài đặt
Kho lưu trữ 'OEL' bị thiếu tên trong cấu hình, sử dụng id
Xác định các bản sao nhanh nhất
epel/metalink | 6,2 kB 00:00
* epel: epel.mirror.angkasa.id
* remi-php56: remi.mirror.wearetriple.com
* remi-safe: remi.mirror.wearetriple.com
OEL | 3,7 kB 00:00
epel | 4,3 kB 00:00
epel/primary_db | 5,9 MB 00:00
mysql-connectors-community | 2,5 kB 00:00
mysql-connectors-community/primary_db | 15 kB 00:00
mysql-tools-community | 2,5 kB 00:00
mysql-tools-community/primary_db | 35 kB 00:00
mysql56-community | 2,5 kB 00:00
mysql56-community/primary_db | 183 kB 00:00
remi-php56 | 2,9 kB 00:00
remi-php56/primary_db | 218 kB 00:01
remi-safe | 2,9 kB 00:00
remi-safe/primary_db | 725 kB 00:02
Gói mysql-server đã lỗi thời bởi mysql-community-server, đang cố gắng cài đặt mysql-community-server-5.6.36-2.el6.i686 thay thế
Không có gói mysql-client nào khả dụng.
Giải quyết các phụ thuộc
--> Đang chạy kiểm tra giao dịch
---> Gói mysql-community-server.i686 0:5.6.36-2.el6 sẽ được cài đặt
--> Đang xử lý phụ thuộc: mysql-community-common(i686) = 5.6.36-2.el6 cho gói: mysql-community-server-5.6.36-2.el6.i686
--> Xử lý phụ thuộc: mysql-community-client(i686) >= 5.6.10 cho gói: mysql-community-server-5.6.36-2.el6.i686
--> Xử lý phụ thuộc: perl(DBI) cho gói: mysql-community-server-5.6.36-2.el6.i686
--> Kiểm tra giao dịch đang chạy
---> Gói mysql-community-client.i686 0:5.6.36-2.el6 sẽ được cài đặt
--> Xử lý phụ thuộc: mysql-community-libs(i686) >= 5.6.10 cho gói: mysql-community-client-5.6.36-2.el6.i686
---> Gói mysql-community-common.i686 0:5.6.36-2.el6 sẽ được cài đặt
---> Gói perl-DBI.i686 0:1.609-4.el6 sẽ được cài đặt
--> Kiểm tra giao dịch đang chạy
---> Gói mysql-community-libs.i686 0:5.6.36-2.el6 sẽ được cài đặt
--> Đã hoàn tất giải quyết sự phụ thuộc
Đã giải quyết sự phụ thuộc
============================================================================================================================================================================================================================================================================================================
Đang cài đặt:
mysql-community-server i686 5.6.36-2.el6 mysql56-community 55 M
Cài đặt cho các phụ thuộc:
mysql-community-client i686 5.6.36-2.el6 mysql56-community 18 M
mysql-community-common i686 5.6.36-2.el6 mysql56-community 308 k
mysql-community-libs i686 5.6.36-2.el6 mysql56-community 1.9 M
perl-DBI i686 1.609-4.el6 CentOS 705 k
Tóm tắt giao dịch
===================================================================================================================
Cài đặt 5 gói
Tổng kích thước tải xuống: 76 M
Kích thước đã cài đặt: 338 M
Như vậy có ổn không [y/N]: y
Đang tải xuống các gói:
(1/5): mysql-community-client-5.6.36-2.el6.i686.rpm | 18 MB 00:01
(2/5): mysql-community-common-5.6.36-2.el6.i686.rpm | 308 kB 00:00
(3/5): mysql-community-libs-5.6.36-2.el6.i686.rpm | 1,9 MB 00:00
(4/5): mysql-community-server-5.6.36-2.el6.i686.rpm | 55 MB 00:02
(5/5): perl-DBI-1.609-4.el6.i686.rpm | 705 kB 00:00
----------------------------------------------------------------------------------------------------------------
Tổng cộng 18 MB/giây | 76 MB 00:04
cảnh báo: rpmts_HdrFromFdno: Tiêu đề V3 DSA/SHA1 Chữ ký, ID khóa 5072e1f5: NOKEY
Đang lấy khóa từ tệp:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Đang nhập khóa GPG 0x5072E1F5:
ID người dùng: MySQL Release Engineering
Gói: mysql-community-release-el6-5.noarch (đã cài đặt)
Từ: tệp:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Như vậy có ổn không [y/N]: y
Đang chạy rpm_check_debug
Đang chạy Kiểm tra giao dịch
Kiểm tra giao dịch thành công
Đang chạy Giao dịch
Cảnh báo: RPMDB đã thay đổi bên ngoài yum.
Đang cài đặt: mysql-community-common-5.6.36-2.el6.i686 1/5
Đang cài đặt: mysql-community-libs-5.6.36-2.el6.i686 2/5
Đang cài đặt: mysql-community-client-5.6.36-2.el6.i686 3/5
Đang cài đặt: perl-DBI-1.609-4.el6.i686 4/5
Đang cài đặt: mysql-community-server-5.6.36-2.el6.i686 5/5
Đang xác minh: perl-DBI-1.609-4.el6.i686 1/5
Đang xác minh: mysql-community-server-5.6.36-2.el6.i686 2/5
Đang xác minh: mysql-community-libs-5.6.36-2.el6.i686 3/5
Đang xác minh: mysql-community-common-5.6.36-2.el6.i686 4/5
Đang xác minh: mysql-community-client-5.6.36-2.el6.i686 5/5
Đã cài đặt:
mysql-community-server.i686 0:5.6.36-2.el6
Đã cài đặt phần phụ thuộc:
mysql-community-client.i686 0:5.6.36-2.el6 mysql-community-common.i686 0:5.6.36-2.el6
mysql-community-libs.i686 0:5.6.36-2.el6 perl-DBI.i686 0:1.609-4.el6
Hoàn tất!
Mã:
[root@DB1 yum.repos.d]# service mysqld restart
Đang dừng mysqld: [OK]
Đang khởi tạo cơ sở dữ liệu MySQL: 2017-05-22 09:55:53 0 [Cảnh báo] TIMESTAMP với giá trị DEFAULT ngầm định đã lỗi thời. Vui lòng sử dụng tùy chọn máy chủ --explicit_defaults_for_timestamp (xem tài liệu để biết thêm chi tiết).
2017-05-22 09:55:53 0 [Lưu ý] Bỏ qua giá trị --secure-file-priv vì máy chủ đang chạy với --bootstrap.
2017-05-22 09:55:53 0 [Lưu ý] /usr/sbin/mysqld (mysqld 5.6.36) bắt đầu như tiến trình 18645 ...
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Sử dụng atomic để tham chiếu số lượng trang nhóm bộ đệm
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đống bộ nhớ InnoDB bị vô hiệu hóa
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Mutexe và rw_lock sử dụng các hàm tích hợp atomic của GCC
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Rào cản bộ nhớ không được sử dụng
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Bảng nén sử dụng zlib 1.2.3
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Sử dụng AIO gốc của Linux
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Sử dụng lệnh CPU crc32
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đang khởi tạo nhóm bộ đệm, kích thước = 128,0M
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đã hoàn tất khởi tạo nhóm bộ đệm
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Tệp dữ liệu được chỉ định đầu tiên ./ibdata1 không tồn tại: cần tạo cơ sở dữ liệu mới!
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đặt kích thước tệp ./ibdata1 thành 12 MB
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Cơ sở dữ liệu ghi tệp đầy đủ về mặt vật lý: đợi...
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đặt kích thước tệp nhật ký ./ib_logfile101 thành 48 MB
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đặt kích thước tệp nhật ký ./ib_logfile1 thành 48 MB
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đổi tên tệp nhật ký ./ib_logfile101 đến ./ib_logfile0
2017-05-22 09:55:53 18645 [Cảnh báo] InnoDB: Đã tạo tệp nhật ký mới, LSN=45781
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Không tìm thấy bộ đệm Doublewrite: đang tạo
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đã tạo bộ đệm Doublewrite
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Có 128 phân đoạn khôi phục đang hoạt động.
2017-05-22 09:55:53 18645 [Cảnh báo] InnoDB: Đang tạo bảng hệ thống ràng buộc khóa ngoại.
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đã tạo bảng hệ thống ràng buộc khóa ngoại
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đang tạo bảng hệ thống không gian bảng và tệp dữ liệu.
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đã tạo bảng hệ thống không gian bảng và tệp dữ liệu.
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đang chờ quá trình xóa bắt đầu
2017-05-22 09:55:53 18645 [Lưu ý] InnoDB: Đã bắt đầu 5.6.36; số thứ tự nhật ký 0
2017-05-22 09:55:54 18645 [Lưu ý] Binlog kết thúc
2017-05-22 09:55:54 18645 [Lưu ý] InnoDB: FTS tối ưu hóa luồng thoát.
2017-05-22 09:55:54 18645 [Lưu ý] InnoDB: Đang bắt đầu tắt máy...
2017-05-22 09:55:55 18645 [Lưu ý] InnoDB: Đã tắt máy hoàn tất; số thứ tự nhật ký 1625977
2017-05-22 09:55:55 0 [Cảnh báo] DẤU THỜI GIAN với giá trị MẶC ĐỊNH ngầm định đã lỗi thời. Vui lòng sử dụng tùy chọn máy chủ --explicit_defaults_for_timestamp (xem tài liệu để biết thêm chi tiết).
2017-05-22 09:55:55 0 [Lưu ý] Bỏ qua giá trị --secure-file-priv vì máy chủ đang chạy với --bootstrap.
2017-05-22 09:55:55 0 [Lưu ý] /usr/sbin/mysqld (mysqld 5.6.36) bắt đầu như tiến trình 18667 ...
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Sử dụng atomic để tham chiếu số lượng trang nhóm bộ đệm
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Đống bộ nhớ InnoDB bị vô hiệu hóa
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Mutexe và rw_lock sử dụng các hàm tích hợp atomic của GCC
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Rào cản bộ nhớ không được sử dụng
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Bảng nén sử dụng zlib 1.2.3
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Sử dụng AIO gốc của Linux
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Sử dụng lệnh CPU crc32
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Đang khởi tạo nhóm bộ đệm, kích thước = 128,0M
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Đã hoàn tất khởi tạo nhóm bộ đệm
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Định dạng tệp được hỗ trợ cao nhất là Barracuda.
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: 128 phân đoạn khôi phục đang hoạt động.
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Đang chờ bắt đầu xóa
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: 5.6.36 đã bắt đầu; số thứ tự nhật ký 1625977
2017-05-22 09:55:55 18667 [Lưu ý] Binlog kết thúc
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: FTS tối ưu hóa luồng thoát.
2017-05-22 09:55:55 18667 [Lưu ý] InnoDB: Đang bắt đầu tắt máy...
2017-05-22 09:55:57 18667 [Lưu ý] InnoDB: Đã tắt máy hoàn tất; số thứ tự nhật ký 1625987
VUI LÒNG NHỚ ĐẶT MẬT KHẨU CHO NGƯỜI DÙNG root MySQL!
Để thực hiện, hãy khởi động máy chủ, sau đó đưa ra các lệnh sau:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h vdevknime1 password 'new-password'
Ngoài ra, bạn có thể chạy:
/usr/bin/mysql_secure_installation
cũng sẽ cung cấp cho bạn tùy chọn xóa cơ sở dữ liệu thử nghiệm và người dùng ẩn danh được tạo theo mặc định. Điều này
được khuyến nghị mạnh mẽ cho các máy chủ sản xuất.
Xem hướng dẫn để biết thêm hướng dẫn.
Vui lòng báo cáo bất kỳ sự cố nào tại http://bugs.mysql.com/
Thông tin mới nhất về MySQL có sẵn trên web tại
http://www.mysql.com
Hỗ trợ MySQL bằng cách mua hỗ trợ/giấy phép tại http://shop.mysql.com
Lưu ý: tệp cấu hình mặc định mới chưa được tạo.
Vui lòng đảm bảo tệp cấu hình của bạn là tệp hiện tại
CẢNH BÁO: Tệp cấu hình mặc định /etc/my.cnf tồn tại trên hệ thống
Tệp này sẽ được máy chủ MySQL đọc theo mặc định
Nếu bạn không muốn sử dụng tệp này, hãy xóa tệp này hoặc sử dụng
#NAME?
[ OK ]
Đang khởi động mysqld: [ OK ]
Mã:
[root@DB1 yum.repos.d]# netstat -apn|grep -i mysql
tcp 0 0 :::3306 :::* LISTEN 2139/mysqld
unix 2 [ ACC ] STREAM LISTENING 16018 2139/mysqld /var/lib/mysql/mysql.sock
Mã:
[root@DB1 yum.repos.d]# mysqladmin -u root password "Pass1234"
Cảnh báo: Sử dụng mật khẩu trên giao diện dòng lệnh có thể không an toàn.
[root@DB1 yum.repos.d]# mysql -u root -p
Nhập mật khẩu:
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 5
Phiên bản máy chủ: 5.6.36 MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Gõ 'help;' hoặc '\h' để được trợ giúp. Gõ '\c' để xóa câu lệnh nhập hiện tại.
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 hàng trong bộ (0,00 giây)
3. Giai đoạn cấu hình
Chúng ta hãy vào bên trong tệp cấu hình MySQL my.cnf và thực hiện các thay đổi như bên dưới trên máy chủ DB1.
Mã:
[root@DB1 ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=3306
innodb_file_per_table=ON
pid-file=/var/lib/mysql/mysqld.pid
server-id = 11
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = test_rep
- server-id ==> ID sao chép
- log_bin ==> Tệp nhật ký được sử dụng cho hoạt động sao chép
- binlog_do_db ==> Cơ sở dữ liệu liên quan đến quy trình sao chép
Mã:
[root@DB1 ~]# mysql -u root -p
Nhập mật khẩu:
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 5
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> show databases;
+------------------+
| Database |
+------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+------------------+
4 hàng trong tập hợp (0,01 giây)
mysql> create database test_rep;
Query OK, 1 hàng bị ảnh hưởng (0,01 giây)
mysql> create user 'replicator'@'DB2' được xác định bởi 'Rep1234';
Query OK, 0 hàng bị ảnh hưởng (0,01 giây)
mysql> grant replication slave on *.* to 'replicator'@'DB2';
Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây)
Mã:
[root@DB1 yum.repos.d]# service mysqld restart
Dừng mysqld: [ OK ]
Đang khởi động mysqld: [ OK ]
[root@DB1 ~]# mysql -u root -p
Nhập mật khẩu:
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 5
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> show master status;
+-------------------+----------+--------------+-----------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+-----------------+-------------------+
| mysql-bin.000001 | 854 | test_rep | | |
+-------------------+----------+--------------+-----------------+-------------------+
1 hàng trong tập hợp (0,00 giây)
Mã:
[root@DB2 ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=3306
innodb_file_per_table=ON
pid-file=/var/lib/mysql/mysqld.pid
server-id = 12
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = test_rep
Mã:
[root@DB2 ~]# mysql -u root -p
Nhập mật khẩu:
Chào mừng đến với màn hình giám sát MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 5
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> show databases;
+------------------+
| Database |
+------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+------------------+
4 hàng trong tập hợp (0,01 giây)
mysql> create database test_rep;
Query OK, 1 hàng bị ảnh hưởng (0,01 giây)
mysql> create user 'replicator'@'DB1' defined by 'Rep1234';
Query OK, 0 hàng bị ảnh hưởng (0,01 giây)
mysql> grant replication slave on *.* to 'replicator'@'DB1';
Query OK, 0 hàng bị ảnh hưởng (0,00 giây)
mysql> show slave status;
Empty set (0,01 giây)
Mã:
[root@DB2 ~]# service mysqld restart
Stopping mysqld: [OK]
Starting mysqld: [OK]
[root@DB2 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands ends with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.36-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. All rights reserved.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các
chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> hiển thị trạng thái master;
+-------------------+----------+--------------+-----------------+-------------------+
| Tệp | Vị trí | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+-----------------+-------------------+
| mysql-bin.000001 | 553 | test_rep | | |
+-------------------+----------+--------------+-----------------+-------------------+
1 hàng trong tập hợp (0,00 giây)
mysql> dừng slave;
Truy vấn OK, 0 hàng bị ảnh hưởng, 1 cảnh báo (0,00 giây)
mysql> THAY ĐỔI MASTER THÀNH MASTER_HOST = 'DB1', MASTER_PORT = 3306, MASTER_USER = 'replicator', MASTER_PASSWORD = 'Rep1234', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 854;
Truy vấn OK, 0 hàng bị ảnh hưởng, 2 cảnh báo (0,07 giây)
mysql> khởi động slave;
Truy vấn OK, 0 hàng bị ảnh hưởng (0,04 giây)
mysql> hiển thị trạng thái slave\G;
****************************** 1. hàng ***************************
Slave_IO_State: Đang chờ master gửi sự kiện
Master_Host: DB1
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 854
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 284
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Có
Slave_SQL_Running: Có
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 854
Relay_Log_Space: 459
Until_Condition: Không có
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: Không
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: Không
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 11
Master_UUID: 6e143d91-3635-11e7-b9ad-08002742c04c
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave đã đọc tất cả nhật ký chuyển tiếp; đang chờ luồng I/O phụ cập nhật
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 hàng trong tập hợp (0,00 giây)
ERROR:
Không có truy vấn nào được chỉ định
mysql> hiển thị trạng thái phụ;
+----------------------------------+---------------+--------------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------
| Slave_IO_State | Master_Host | Master_User | Master_Port | Kết nối_Thử lại | Tệp_Nhật_Nhật_Ký_Nhật_Nhật_Ký_Nhật_Nhật_Nhật_Ký_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_Nhật_IO_Chạy_Slave_IO_Chạy_Slave_SQL_Chạy_Slave_Do_DB | Sao chép_Do_DB | Sao chép_Do_Table | Sao chép_Do_Table | Sao chép_Do_Bảng | Sao chép_Do_Bảng | Sao chép_Wild_Do_Table | Sao chép_Wild_Ignore_Table | Lỗi_Lần_Ghi_Lần | Lỗi_Lần_Ghi_Lần | Bỏ_Quét_Bộ_Đếm | Exec_Master_Log_Pos | Không gian_Nhật_Nhật_Nhật_Nhật_Chuyển_Đổi | Cho_Đến_Điều_Kiện | Cho_Đến_Đến_Cho_Đến_Cho_Đến | Cho_Được_Cho_Thừa_SSL | Tệp_Master_SSL_CA | Đường_Dẫn_SSL_CA | Chứng_nhận_SSL_Master | Mã_Mã_SSL_Master | Khóa_SSL_Master | Giây_Sau_Chủ_Chủ | Chứng_nhận_Máy_chủ_Xác_nhận_SSL_Master | Chứng_nhận_IO_Lần_Ghi_Lần_Ghi | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID | Master_Info_File | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position |
+----------------------------------+--------------+--------------+-------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------
| Đang chờ master gửi sự kiện | DB1 | replicator | 3306 | 60 | mysql-bin.000001 | 854 | mysqld-relay-bin.000002 | 284 | mysql-bin.000001 | Có | Có | | | | | | | 0 | | 0 | 854 | 459 | Không có | | 0 | Không | | | | | | 0 | Không | 0 | | 0 | | 11 | 6e143d91-3635-11e7-b9ad-08002742c04c | /var/lib/mysql/master.info | 0 | NULL | Slave đã đọc toàn bộ nhật ký chuyển tiếp; đang chờ luồng I/O của slave cập nhật | 86400 | | | | | | | | 0 |
+----------------------------------+---------------+--------------------------+---------------+-------------------+---------------------+---------------------+------------------------+------------------------+------------------------+------------------------
1 hàng trong bộ (0,00 giây)
Mã:
[root@DB1 ~]# mysql -u root -p
Nhập mật khẩu:
Cảnh báo: Sử dụng mật khẩu trên giao diện dòng lệnh có thể không an toàn.
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 11
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các
chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> show master status;
+-------------------+----------+--------------+-----------------+-------------------+
| Tệp | Vị trí | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+-------------------+-------------------+
| mysql-bin.000001 | 854 | test_rep | | |
+-------------------+----------+--------------+-----------------+-------------------+
1 hàng trong tập hợp (0,01 giây)
mysql> dừng nô lệ;
Truy vấn OK, 0 hàng bị ảnh hưởng, 1 cảnh báo (0,00 giây)
mysql> THAY ĐỔI MASTER THÀNH MASTER_HOST = 'DB2', MASTER_PORT = 3306, MASTER_USER = 'replicator', MASTER_PASSWORD = 'Rep1234', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 553;
Truy vấn OK, 0 hàng bị ảnh hưởng, 2 cảnh báo (0,25 giây)
mysql> khởi động slave;
Truy vấn OK, 0 hàng bị ảnh hưởng (0,03 giây)
mysql> hiển thị trạng thái slave;
+----------------------------------+---------------+--------------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------
| Slave_IO_State | Master_Host | Master_User | Master_Port | Connect_Retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID | Master_Info_File | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position |
+----------------------------------+--------------+--------------+-------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------
| Đang chờ master gửi sự kiện | DB2 | replicator | 3306 | 60 | mysql-bin.000001 | 553 | mysqld-relay-bin.000002 | 284 | mysql-bin.000001 | Có | Có | | | | | | | 0 | | 0 | 553 | 459 | Không có | | 0 | Không | | | | | | 0 | Không | 0 | | 0 | | 12 | 14f5ab41-3c7b-11e7-a293-08002742c04c | /var/lib/mysql/master.info | 0 | NULL | Slave đã đọc toàn bộ nhật ký chuyển tiếp; đang chờ luồng I/O của slave cập nhật | 86400 | | | | | | | | 0 |
+--------------------------------------------------+---------------+--------------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------+---------------------
1 hàng trong tập hợp (0,01 giây)
mysql> hiển thị trạng thái slave\G;
****************************** 1. hàng ***************************
Slave_IO_State: Đang chờ master gửi sự kiện
Master_Host: DB2
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 553
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 284
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Có
Slave_SQL_Running: Có
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 553
Relay_Log_Space: 459
Until_Condition: Không có
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: Không
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: Không
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 12
Master_UUID: 14f5ab41-3c7b-11e7-a293-08002742c04c
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave đã đọc tất cả nhật ký chuyển tiếp; đang chờ luồng I/O phụ cập nhật
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 hàng trong tập hợp (0,00 giây)
ERROR:
Không có truy vấn nào được chỉ định
4. Giai đoạn thử nghiệm
Trước khi bắt đầu thử nghiệm, chúng ta hãy đưa ra các giả định cho kỳ vọng về kết quả cuối cùng. Đối với thử nghiệm này, chúng ta sẽ tạo một bảng trên máy chủ MySQL DB1, sau đó trên DB2, chúng ta sẽ kiểm tra xem bảng có tự động tồn tại hay không. Nếu có, chúng ta sẽ thêm một hàng dữ liệu mới vào đó và kiểm tra lại trên máy chủ DB1 xem dữ liệu mới có sẵn trên cả hai máy chủ hay không.
Mã:
[root@DB1 ~]# mysql -u root -p test_rep
Nhập mật khẩu:
Cảnh báo: Sử dụng mật khẩu trên giao diện dòng lệnh có thể không an toàn.
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 16
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> select database();
+------------+
| database() |
+------------+
| test_rep |
+------------+
1 hàng trong tập hợp (0,00 giây)
mysql> create table tbl1( id int(11) primary key auto_increment, fullname varchar(30));
Query OK, 0 hàng bị ảnh hưởng (0,22 giây)
mysql> show tables in test_rep;
+------------------+
| Tables_in_test_rep |
+------------------+
| tbl1 |
+------------------+
1 hàng trong tập hợp (0,01 giây)
Mã:
[root@DB2 ~]# mysql -u root -p test_rep
Nhập mật khẩu:
Đang đọc thông tin bảng để hoàn thành tên bảng và tên cột
Bạn có thể tắt tính năng này để khởi động nhanh hơn bằng -A
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 8
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các
chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Gõ '\c' để xóa câu lệnh nhập hiện tại.
mysql> show tables in test_rep;
+------------------+
| Tables_in_test_rep |
+------------------+
| tbl1 |
+------------------+
1 hàng trong tập hợp (0,00 giây)
mysql> insert into tbl1 (fullname) values ('Shahril'), ('mark'), ('Allen'), ('Suzy'), ('Adam') ;
Query OK, 5 hàng bị ảnh hưởng (0,05 giây)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select * from tbl1;
+-----+--------+
| id | fullname |
+-----+--------+
| 1 | Shahril |
| 2 | mark |
| 3 | Allen |
| 4 | Suzy |
| 5 | Adam |
+----+----------+
5 hàng trong tập hợp (0,00 giây)
mysql> commit;
Query OK, 0 hàng bị ảnh hưởng (0,00 giây)
Mã:
[root@DB1 ~]# mysql -u root -p test_rep
Nhập mật khẩu:
Đang đọc thông tin bảng để hoàn thành tên bảng và tên cột
Bạn có thể tắt tính năng này để khởi động nhanh hơn bằng cách sử dụng -A
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 8
Phiên bản máy chủ: 5.6.36-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2017, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Gõ 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
mysql> select * from tbl1;
+-----+----------+
| id | fullname |
+-----+----------+
| 1 | Shahril |
| 2 | mark |
| 3 | Allen |
| 4 | Suzy |
| 5 | Adam |
+-----+----------+
5 hàng trong tập hợp (0,01 giây)
mysql> delete from tbl1 where fullname like 'A%';
Query OK, 2 hàng bị ảnh hưởng (0,07 giây)
mysql> select * from tbl1;
+-----+----------+
| id | fullname |
+----+----------+
| 1 | Shahril |
| 2 | mark |
| 4 | Suzy |
+----+----------+
3 hàng trong tập hợp (0,00 giây)