Bii o ṣe le Ṣeto MySQL (Master-Slave) Idapada ni RHEL, CentOS, Fedora


Ikẹkọ atẹle yii ni ifọkansi lati fun ọ ni itọsọna igbesẹ-nipasẹ-igbesẹ fun siseto MySQL (Olukọni-Ẹru) Idapọ ni RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 ati Fedora 17 , 16,15,14,13,12 nipa lilo ẹya MySQL tuntun. Itọsọna yii jẹ kikọ pataki fun CentOS 6.3 Ẹrọ Ṣiṣẹ, ṣugbọn tun ṣiṣẹ pẹlu ẹya ti atijọ ti awọn pinpin Linux pẹlu MySQL 5.x.

Iṣeduro MySQL wulo pupọ ni awọn ofin ti Aabo Data, Solusan-Ikuna, Afẹyinti data lati ọdọ Slave, Awọn atupale abbl. A lo awọn nkan wọnyi lati gbe ilana atunse. Ninu oju iṣẹlẹ rẹ yoo jẹ iyatọ.

  1. Ṣiṣẹ Linux OS bi Fedora 17
  2. Master ati Slave jẹ Awọn olupin Linux Linux CentOS 6.3.
  3. Adirẹsi IP Titunto ni: 192.168.1.1.
  4. Adirẹsi IP Ẹrú ni: 192.168.1.2.
  5. Titunto si ati Ẹrú wa lori nẹtiwọọki LAN kanna. Titunto si ati Ẹrú ti fi sori ẹrọ ẹya MySQL.
  6. Titunto gba awọn isopọ MySQL latọna jijin lori ibudo 3306.

A ni awọn olupin meji, ọkan jẹ Titunto si pẹlu IP (192.168.1.1) ati ekeji jẹ Slave bi (192.168.1.2). A ti pin ilana iṣeto ni awọn ipele meji lati jẹ ki awọn nkan rọrun fun ọ, Ni Alakoso I a yoo tunto olupin Titunto ati ni Alakoso II pẹlu olupin Slave. Jẹ ki a bẹrẹ ilana iṣeto ẹda.

Alakoso I: Tunto Oluṣakoso Titunto (192.168.1.1) fun Idapada

Ni Alakoso I, a yoo rii fifi sori ẹrọ ti MySQL, ṣiṣatunṣe Idapọ ati lẹhinna ijẹrisi atunse.

Ni akọkọ, tẹsiwaju pẹlu fifi sori MySQL nipa lilo pipaṣẹ YUM. Ti o ba ti ni fifi sori MySQL tẹlẹ, o le foju igbesẹ yii.

# yum install mysql-server mysql

Ṣii faili iṣeto my.cnf pẹlu olootu VI.

# vi /etc/my.cnf

Ṣafikun awọn titẹ sii wọnyi labẹ apakan [mysqld] ati maṣe gbagbe lati rọpo tecmint pẹlu orukọ ibi ipamọ data ti iwọ yoo fẹ lati tun ṣe lori Slave.

server-id = 1
binlog-do-db=tecmint
relay-log = /var/lib/mysql/mysql-relay-bin
relay-log-index = /var/lib/mysql/mysql-relay-bin.index
log-error = /var/lib/mysql/mysql.err
master-info-file = /var/lib/mysql/mysql-master.info
relay-log-info-file = /var/lib/mysql/mysql-relay-log.info
log-bin = /var/lib/mysql/mysql-bin

Tun iṣẹ MySQL bẹrẹ.

# /etc/init.d/mysqld restart

Buwolu wọle sinu MySQL bi olumulo olumulo ati ṣẹda olumulo ẹrú ati fifun awọn anfani fun ẹda. Ropo slave_user pẹlu olumulo ati your_password pẹlu ọrọ igbaniwọle.

# mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'your_password';
mysql> FLUSH PRIVILEGES;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 11128001 | tecmint		 |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> quit;

Jọwọ kọ Faili (mysql-bin.000003) ati Awọn ipo (11128001) silẹ, a nilo awọn nọmba wọnyi nigbamii lori olupin Slave. Nigbamii lo LEAD LOCK si awọn apoti isura infomesonu lati gbe okeere gbogbo ibi ipamọ data ati alaye ibi ipamọ data oluwa pẹlu aṣẹ mysqldump.

#  mysqldump -u root -p --all-databases --master-data > /root/dbdump.db

Lọgan ti o ba sọ gbogbo awọn apoti isura data silẹ, ni bayi tun sopọ si mysql bi olumulo olumulo ati awọn tabili unlcok.

mysql> UNLOCK TABLES;
mysql> quit;

Po si faili ida silẹ data lori Server Slave (192.168.1.2) nipa lilo pipaṣẹ SCP.

scp /root/dbdump.db [email :/root/

Iyẹn ni a ti ṣe atunto olupin Titunto ni ifijišẹ, jẹ ki a tẹsiwaju si apakan Alakoso II.

Alakoso II: Tunto Server Server (192.168.1.2) fun Idapada

Ni Alakoso II, a ṣe fifi sori ẹrọ ti MySQL, ṣiṣatunṣe Idapọ ati lẹhinna ijẹrisi ẹda.

Ti o ko ba fi sori ẹrọ MySQL, lẹhinna fi sii nipa lilo aṣẹ YUM.

# yum install mysql-server mysql

Ṣii faili iṣeto my.cnf pẹlu olootu VI.

# vi /etc/my.cnf

Ṣafikun awọn titẹ sii wọnyi labẹ apakan [mysqld] ati maṣe gbagbe lati ropo adiresi IP ti olupin Titunto, tecmint pẹlu orukọ ibi ipamọ data ati bẹbẹ lọ, pe iwọ yoo fẹ lati tun ṣe pẹlu Titunto.

server-id = 2
master-host=192.168.1.1
master-connect-retry=60
master-user=slave_user
master-password=yourpassword
replicate-do-db=tecmint
relay-log = /var/lib/mysql/mysql-relay-bin
relay-log-index = /var/lib/mysql/mysql-relay-bin.index
log-error = /var/lib/mysql/mysql.err
master-info-file = /var/lib/mysql/mysql-master.info
relay-log-info-file = /var/lib/mysql/mysql-relay-log.info
log-bin = /var/lib/mysql/mysql-bin

Nisisiyi gbe faili ida silẹ ti a gbe si okeere ni aṣẹ tẹlẹ ki o tun bẹrẹ iṣẹ MySQL.

# mysql -u root -p < /root/dbdump.db
# /etc/init.d/mysqld restart

Wọle sinu MySQL bi olumulo olumulo ati da ẹrú naa duro. Lẹhinna sọ fun ọmọ-ọdọ si ibiti o wa fun faili log Titunto, pe a ti kọ silẹ lori oluwa pẹlu SHOW TITUN TITUN; paṣẹ bi Faili (MySQL-bin.000003) ati Awọn nọmba Ipo (11128001). O gbọdọ yipada 192.168.1.1 si adiresi IP ti Oluṣakoso Titunto, ati yi olumulo ati ọrọ igbaniwọle pada ni ibamu.

# mysql -u root -p
mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.1', MASTER_USER='slave_user', MASTER_PASSWORD='yourpassword', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11128001;
mysql> slave start;
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.1
                  Master_User: slave_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 12345100
               Relay_Log_File: mysql-relay-bin.000002
                Relay_Log_Pos: 11381900
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: tecmint
          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: 12345100
              Relay_Log_Space: 11382055
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           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:
1 row in set (0.00 sec)

Ṣiṣayẹwo Idahun MySQL lori Titunto si ati Olupin Ẹrú

O ṣe pataki pupọ gaan lati mọ pe ẹda naa n ṣiṣẹ ni pipe. Lori olupin Titunto ṣẹda tabili ki o fi sii diẹ ninu awọn iye ninu rẹ.

mysql> create database tecmint;
mysql> use tecmint;
mysql> CREATE TABLE employee (c int);
mysql> INSERT INTO employee (c) VALUES (1);
mysql> SELECT * FROM employee;
+------+
|  c  |
+------+
|  1  |
+------+
1 row in set (0.00 sec)

Ṣiṣayẹwo ẸRỌ, nipa ṣiṣe pipaṣẹ kanna, yoo pada awọn iye kanna ni ẹrú naa paapaa.

mysql> use tecmint;
mysql> SELECT * FROM employee;
+------+
|  c  |
+------+
|  1  |
+------+
1 row in set (0.00 sec)

Iyẹn ni, nikẹhin o ti tunto Idapada MySQL ni awọn igbesẹ diẹ diẹ. Alaye diẹ sii ni a le rii ni Itọsọna Itọsọna MySQL.