Ubuntu 22.04
Sponsored Link

MySQL 8.0 : प्रतिकृति2023/09/14

 
MySQL प्रतिकृति सेटिंग्स कॉन्फ़िगर करें। यह कॉन्फ़िगरेशन सामान्य प्राथमिक-प्रतिकृति सेटिंग्स है।
[1]
[2]
प्रतिकृति कनेक्शन पर, यह स्वयं हस्ताक्षरित प्रमाणपत्रों का उपयोग करता है जो कि mysqld डिफ़ॉल्ट रूप से उत्पन्न होता है जैसे इस उदाहरण में, हालाँकि, इसके लिए चेतावनी संदेश लॉग किए जाते हैं, इसलिए यदि आप उन चेतावनियों की परवाह करते हैं, तो Let's encrypt और अन्य जैसे वैध प्रमाणपत्र का उपयोग करें।
[3] प्राइमरी होस्ट पर, सेटिंग्स बदलें और प्रतिकृति और क्लोन के लिए उपयोगकर्ता भी बनाएं।
root@dlp:~#
vi /etc/mysql/mysql.conf.d/mysqld.cnf
# पंक्ति 31 : परिवर्तन (सभी सुनें)
bind-address            = 0.0.0.0

# पंक्ति 73 : टिप्पणी हटाएं और बदलें (विशिष्ट आईडी निर्दिष्ट करें)
server-id               = 101

# पंक्ति 74 : टिप्पणी रद्द करें
log_bin                 = /var/log/mysql/mysql-bin.log

# अंत में जोड़ें: क्लोन प्लगइन सक्षम करें
plugin-load=mysql_clone.so

root@dlp:~#
systemctl restart mysql

root@dlp:~#
mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.30-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# प्रतिकृति उपयोगकर्ता बनाएं ([password] अनुभाग के लिए कोई भी पासवर्ड सेट करें)
mysql> create user 'repl_user'@'%' identified by 'password';
Query OK, 0 rows affected (0.10 sec)

mysql> grant replication slave on *.* to repl_user@'%'; 
Query OK, 0 rows affected (0.05 sec)

# क्लोन उपयोगकर्ता बनाएं ([password] अनुभाग के लिए कोई भी पासवर्ड सेट करें)
mysql> create user 'clone_user'@'%' identified by 'password'; 
Query OK, 0 rows affected (0.07 sec)

mysql> grant backup_admin on *.* to 'clone_user'@'%'; 
Query OK, 0 rows affected (0.06 sec)

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[4] रेप्लिका होस्ट पर, प्रतिकृति के लिए सेटिंग्स बदलें।
root@node01:~#
vi /etc/mysql/mysql.conf.d/mysqld.cnf
# पंक्ति 31 : परिवर्तन (सभी सुनें)
bind-address            = 0.0.0.0

# पंक्ति 73 : टिप्पणी हटाएं और बदलें (विशिष्ट आईडी निर्दिष्ट करें)
server-id               = 102

# पंक्ति 74 : टिप्पणी हटाएँ
log_bin                 = /var/log/mysql/mysql-bin.log

# add to the end
# केवल पढ़ने के लिए
read_only=1
# अपना होस्टनाम परिभाषित करें
report-host=node01.srv.world
# रिले लॉग को परिभाषित करें
relay-log=/var/log/mysql/node01-relay-bin
relay-log-index=/var/log/mysql/node01-relay-bin
# क्लोन प्लगइन सक्षम करें
plugin-load=mysql_clone.so

root@node01:~#
systemctl restart mysql

root@node01:~#
mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.21-0ubuntu0.20.04.4 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# क्लोन उपयोगकर्ता बनाएं ([password] अनुभाग के लिए कोई भी पासवर्ड सेट करें)
mysql> create user 'clone_user'@'%' identified by 'password'; 
Query OK, 0 rows affected (0.07 sec)

mysql> grant clone_admin on *.* to 'clone_user'@'%'; 
Query OK, 0 rows affected (0.06 sec)

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[5] रेप्लिका होस्ट पर, प्राथमिक होस्ट पर डेटा कॉपी करने और प्रतिकृति प्रारंभ करने के लिए क्लोन कार्य चलाएँ।
प्रतिकृति शुरू करने के बाद, सुनिश्चित करें कि परीक्षण डेटाबेस बनाने या परीक्षण डेटा डालने आदि के लिए प्रतिकृति सामान्य रूप से काम करती है।
root@node01:~#
mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.30-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# [set global clone_valid_donor_list = (Primary Host IP address:port)]
mysql> set global clone_valid_donor_list = '10.0.0.30:3306'; 
Query OK, 0 rows affected (0.00 sec)

# क्लोन प्रारंभ करें
mysql> clone instance from clone_user@10.0.0.30:3306 identified by 'password'; 
Query OK, 0 rows affected (0.49 sec)

# क्लोन स्थिति की पुष्टि करें
# यदि स्थिति [Completed] है तो ठीक है
mysql> select ID,STATE,SOURCE,DESTINATION,BINLOG_FILE,BINLOG_POSITION from performance_schema.clone_status; 
+------+-----------+----------------+----------------+------------------+-----------------+
| ID   | STATE     | SOURCE         | DESTINATION    | BINLOG_FILE      | BINLOG_POSITION |
+------+-----------+----------------+----------------+------------------+-----------------+
|    1 | Completed | 10.0.0.30:3306 | LOCAL INSTANCE | mysql-bin.000001 |            1089 |
+------+-----------+----------------+----------------+------------------+-----------------+
1 row in set (0.00 sec)

# प्रतिकृति सेटिंग्स
# master_host      ⇒ प्राथमिक होस्ट आईपी पता
# master_user      ⇒ प्रतिकृति उपयोगकर्ता
# master_password  ⇒ प्रतिकृति उपयोगकर्ता का पासवर्ड
# master_ssl       ⇒ SSL कनेक्शन सक्षम करें
# master_log_file  ⇒ [BINLOG_FILE] मान निर्दिष्ट करें, यह ऊपर प्रदर्शित है
# master_log_pos   ⇒ [BINLOG_POSITION] मान निर्दिष्ट करें, यह ऊपर प्रदर्शित है
mysql> change master to
master_host='10.0.0.30',
master_user='repl_user',
master_password='password',
master_ssl=1,
master_log_file='mysql-bin.000001',
master_log_pos=1089;
Query OK, 0 rows affected, 9 warnings (0.04 sec)

# प्रतिकृति प्रारंभ करें
mysql> start slave; 
Query OK, 0 rows affected, 1 warning (0.02 sec)

# स्थिति दिखाओ
mysql> show slave status\G 
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: 10.0.0.30
                  Master_User: repl_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 1089
               Relay_Log_File: node01-relay-bin.000002
                Relay_Log_Pos: 326
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              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: 1089
              Relay_Log_Space: 537
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: Yes
           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: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 101
                  Master_UUID: f80cf47a-3ecd-11ed-831e-52540097aacc
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates
           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
         Replicate_Rewrite_DB:
                 Channel_Name:
           Master_TLS_Version:
       Master_public_key_path:
        Get_master_public_key: 0
            Network_Namespace:
1 row in set, 1 warning (0.00 sec)
मिलान सामग्री