Yadda ake Sanya MySQL (Jagora-Bawa) a cikin RHEL, CentOS, Fedora


Abubuwan da ke gaba yana nufin samar muku da jagora mai sauƙin tsari don kafa MySQL (Jagora-Bawa) Maimaitawa a RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 da Fedora 17 , 16,15,14,13,12 ta hanyar amfani da sabuwar sigar ta MySQL. An tsara wannan jagorar musamman don CentOS 6.3 Operating System, amma kuma yana aiki tare da tsofaffin sigar rarraba Linux tare da MySQL 5.x.

Rubutun MySQL yana da matukar amfani dangane da Tsaron Bayanai, Maganin kasawa, Bayanin Bayanai daga Bawa, Nazari da sauransu. Muna amfani da waɗannan abubuwa don ɗaukar aikin maimaitawa. A cikin yanayinku zai zama daban.

  1. Aiki Linux OS kamar Fedora 17
  2. Jagora da Bawa su ne CentOS 6.3 Sabar Linux.
  3. Jagoran IP Adireshin shine: 192.168.1.1.
  4. Adireshin IP ɗin bawan shine: 192.168.1.2.
  5. Jagora da Bawa suna kan hanyar sadarwar LAN ɗaya.
  6. Jagora da Bawa sun girka na MySQL.
  7. Jagora bada izinin haɗin haɗin MySQL na nesa akan tashar jiragen ruwa 3306.

Muna da sabobin biyu, daya Master ne tare da IP (192.168.1.1) dayan kuma Slave ne a matsayin (192.168.1.2). Mun rarraba tsarin saitawa a matakai biyu don sauƙaƙa abubuwa a gare ku, A cikin Phase I za mu saita sabar Babbar Jagora kuma a cikin Phase II tare da sabar Slave. Bari mu fara aikin saitin kwafi.

Lokaci Na: Sanya Babbar Jagora (192.168.1.1) don Sakewa

A cikin Phase I, zamu ga sanya MySQL, saitin Replication sannan kuma a tabbatar da kwafin.

Da farko, ci gaba da shigarwa na MySQL ta amfani da umarnin YUM. Idan kun riga kun girke MySQL, zaku iya tsallake wannan matakin.

# yum install mysql-server mysql

Bude fayil na sanyi na my.cnf tare da editan VI.

# vi /etc/my.cnf

Sanya shigarwar masu zuwa a karkashin [mysqld] kuma kar a manta da maye gurbin tecmint da sunan bayanan da kake so a maimaita a kan 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

Sake kunna sabis na MySQL.

# /etc/init.d/mysqld restart

Shiga cikin MySQL azaman tushen mai amfani kuma ƙirƙirar mai amfani da bawa kuma bayar da dama don kwafi. Sauya bawa_user tare da mai amfani da kalmar wucewa tare da kalmar wucewa.

# 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;

Da fatan za a rubuta Fayil (mysql-bin.000003) da Matsayi (11128001), muna buƙatar waɗannan lambobin daga baya a kan sabar Slave. Nan gaba amfani da KARANTA LOCK zuwa rumbun adana bayanai don fitarwa duk ɗakunan bayanai da kuma jagorancin babban bayanan bayanai tare da umarnin mysqldump.

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

Da zarar kun zubar da dukkan bayanan bayanan, yanzu kuma ku sake haɗawa zuwa MySQL a matsayin mai amfani da tushen da kuma tebur ɗin unlcok.

mysql> UNLOCK TABLES;
mysql> quit;

Loda fayil ɗin jujjuya bayanai akan Server Slave (192.168.1.2) ta amfani da umarnin SCP.

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

Shi ke nan mun sami nasarar daidaita sabar Babbar Jagora, bari mu ci gaba zuwa sashe na II.

Phase II: Sanya Sabar Bawa (192.168.1.2) don Sakewa

A cikin Phase II, muna yin shigarwa na MySQL, saita Maimaitawa sannan kuma tabbatar da kwafi.

Idan baka shigar MySQL ba, to shigar dashi ta amfani da umarnin YUM.

# yum install mysql-server mysql

Bude fayil na sanyi na my.cnf tare da editan VI.

# vi /etc/my.cnf

Addara shigarwar da ke ƙasa a ƙarƙashin [mysqld] kuma kar a manta da maye gurbin adireshin IP na Master uwar garken, tecmint tare da sunan bayanan bayanai da sauransu, da za ku so a maimaita tare da Master.

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

Yanzu shigo da fayil ɗin juji wanda muka fitarwa a cikin umarnin da ya gabata kuma sake farawa sabis na MySQL.

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

Shiga cikin MySQL azaman tushen mai amfani kuma dakatar da bawan. Sannan ka gaya wa bawan zuwa inda zaka nemi Babbar Jagora, cewa mun rubuta a kan maigidan tare da SHOW MASTER MATSAYI; umarni azaman Fayil (mysql-bin.000003) da Matsayi (11128001). Dole ne ku canza 192.168.1.1 zuwa adireshin IP na Master Server, kuma canza mai amfani da kalmar wucewa daidai.

# 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)

Tabbatar da MySQL Replic akan Master da Slave Server

Yana da matukar mahimmanci a san cewa kwafin yana aiki daidai. A kan sabar Jagora ƙirƙirar tebur ka saka wasu ƙimomi a ciki.

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)

Tabbatar da BAYI, ta hanyar aiwatar da umarni iri ɗaya, zai dawo da ƙimomi ɗaya a cikin bawa shima.

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

Shi ke nan, a ƙarshe kun saita Maimaita MySQL a cikin stepsan matakai kaɗan. Za a iya samun ƙarin bayani a Jagoran Sanarwa na MySQL.