შემდეგი გაკვეთილი მიზნად ისახავს მოგაწოდოთ მარტივი ნაბიჯ ნაბიჯ სახელმძღვანელო შექმნისთვის MySQL (ოსტატი-მონა) გამეორება ში RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 და ფედორა 17,16,15,14,13,12 უახლესი გამოყენებით MySQL ვერსია. ეს სახელმძღვანელო სპეციალურად არის დაწერილი CentOS 6.3 ოპერაციული სისტემა, არამედ მუშაობა ძველი ვერსიით Linux განაწილება ერთად MySQL 5.x.
განახლება: თუ თქვენ ეძებთ MariaDB Master-Slave Replication– ს CentOS/RHEL 7 და Debian 8 – ის ქვეშ და ის ისეთი წარმოებულებია, როგორიცაა Ubuntu, მიჰყევით ამ სახელმძღვანელოს დააყენეთ MariaDB Master-Slave Replication.
MySQL რეპლიკაცია არის ძალიან სასარგებლო თვალსაზრისით მონაცემთა უსაფრთხოება, წარუმატებელი გადაწყვეტა, მონაცემთა ბაზის სარეზერვო მონადან, ანალიტიკა და ა.შ. ჩვენ ვიყენებთ შემდეგ ნივთებს რეპლიკაციის პროცესის შესასრულებლად. თქვენს სცენარში სხვაგვარად იქნებოდა.
ჩვენ გვაქვს ორი სერვერი, ერთი არის ოსტატი თან IP (192.168.1.1) და სხვა არის Მონა როგორც (192.168.1.2). ჩვენ დაყავით დაყენების პროცესი ორ ფაზად, რათა გაგიადვილოთ საქმეები, In I ფაზა ჩვენ დავაკონფიგურირებთ ოსტატი სერვერი და შიგნით II ფაზა თან Მონა სერვერი. დავიწყოთ რეპლიკაციის დაყენების პროცესი.
ში I ფაზა, ჩვენ ვნახავთ ინსტალაციას MySQL, დაყენება გამეორება და შემდეგ გადამოწმება გამეორება.
პირველი, გააგრძელეთ MySQL ინსტალაცია გამოყენებით YUM ბრძანება. თუ უკვე გაქვთ MySQL ინსტალაცია, შეგიძლიათ გამოტოვოთ ეს ნაბიჯი.
# yum დააინსტალირეთ mysql-server mysql
გახსნა my.cnf კონფიგურაციის ფაილი VI რედაქტორი.
# vi /etc/my.cnf
დაამატეთ შემდეგი ჩანაწერები ქვემოთ [mysqld] განყოფილება და არ დაგავიწყდეთ შეცვლა ექსპედიცია მონაცემთა ბაზის სახელით, რომლის გამეორებაც გსურთ Მონა.
სერვერის id = 1. binlog-do-db =ექსპედიცია სარელეო- log =/var/lib/mysql/mysql-relay-bin. სარელეო- 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. სარელეო- log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin =/var/lib/mysql/mysql-bin
გადატვირთეთ MySQL მომსახურება.
# /etc/init.d/mysqld გადატვირთვა
შედით სისტემაში MySQL როგორც ფესვი მომხმარებელი და შექმენით მონა მომხმარებელი და მისცეს პრივილეგიები გამეორებისთვის. შეცვალეთ მონა_მომხმარებელი მომხმარებელთან და თქვენი პაროლი პაროლით.
# mysql -u root -p
mysql> Grant Replication SLAVE ON *. * TO 'მონა_მომხმარებელი'@'%'იდენტიფიცირებული მიერ'თქვენი პაროლი'; mysql> FLUSH პრიორიტეტები; mysql> FLUSH მაგიდები წაკითხული საკეტით; mysql> აჩვენე სამაგისტრო სტატუსი; +++++ | ფაილი | პოზიცია | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| ტექნიკა | | +++++ 1 რიგი კომპლექტში (0.00 წმ) mysql> დატოვება;
გთხოვთ ჩაწეროთ ფაილი (mysql-bin.000003) და პოზიცია (11128001) ნომრები, ჩვენ მოგვიანებით მოვითხოვეთ ეს რიცხვები Მონა სერვერი. შემდეგი მიმართვა წაიკითხეთ საკეტი მონაცემთა ბაზები მონაცემთა ბაზის ექსპორტირებისთვის და დაეუფლონ მონაცემთა ბაზას mysqldump ბრძანება.
# mysqldump -u root -p -ყველა მონაცემთა ბაზა -master -data> /root/dbdump.db
მას შემდეგ რაც გადაყარეთ ყველა მონაცემთა ბაზა, ახლა ისევ დაუკავშირდით mysql– ს, როგორც root მომხმარებელი და გახსენით ცხრილები.
mysql> მაგიდების გახსნა; mysql> დატოვება;
ატვირთეთ მონაცემთა ბაზის ნაგავსაყრელი ფაილი Მონა სერვერი (192.168.1.2) SCP ბრძანების გამოყენებით.
scp /root/dbdump.db [ელფოსტა დაცულია]:/root/
ეს არის ის, რაც ჩვენ წარმატებით დავაყენეთ ოსტატი სერვერი, გავაგრძელოთ II ფაზა განყოფილება.
ში II ფაზა, ჩვენ ვაკეთებთ ინსტალაციას MySQL, დაყენება გამეორება და შემდეგ გადამოწმება გამეორება.
თუ არ გაქვთ MySQL დაინსტალირებული, შემდეგ დააინსტალირეთ YUM ბრძანების გამოყენებით.
# yum დააინსტალირეთ mysql-server mysql
გახსნა my.cnf კონფიგურაციის ფაილი VI რედაქტორი.
# vi /etc/my.cnf
დაამატეთ შემდეგი ჩანაწერები ქვემოთ [mysqld] განყოფილება და არ დაგავიწყდეთ შეცვლა IP -ის მისამართი ოსტატი სერვერი, ექსპედიცია მონაცემთა ბაზის სახელით და ა.შ., რომლითაც გსურთ გამეორება ოსტატი.
server-id = 2. სამაგისტრო-მასპინძელი =192.168.1.1 master-connect-retry = 60. სამაგისტრო მომხმარებელი =მონა_მომხმარებელი სამაგისტრო პაროლი =თქვენი პაროლი replicate-do-db =ექსპედიცია სარელეო- log =/var/lib/mysql/mysql-relay-bin. სარელეო- 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. სარელეო- log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin =/var/lib/mysql/mysql-bin
ახლა შემოიტანეთ ნაგავსაყრელი ფაილი, რომელიც ჩვენ ექსპორტირებული გვქონდა ადრეულ ბრძანებაში და გადატვირთეთ MySQL სერვისი.
# mysql -u root -pშედით სისტემაში MySQL როგორც root მომხმარებელი და შეწყვიტე მონა. შემდეგ უთხარი მონა სად უნდა ვეძებოთ სამაგისტრო ჟურნალის ფაილი, რომ ჩვენ დავწეროთ სამაგისტრო ერთად აჩვენეთ სამაგისტრო სტატუსი; ბრძანება როგორც ფაილი (mysql-bin.000003) და პოზიცია (11128001) რიცხვები. თქვენ უნდა შეიცვალოთ 192.168.1.1 რომ IP -ის მისამართი სამაგისტრო სერვერიდა შეცვალე მომხმარებელი და პაროლი შესაბამისად.
# mysql -u root -pmysql> მონა გაჩერება; mysql> MASTER_HOST MASTER_HOST = '192.168.1.1', MASTER_USER ='მონა_მომხმარებელი', MASTER_PASSWORD ='თქვენი პაროლი', MASTER_LOG_FILE ='mysql-bin.000003', MASTER_LOG_POS =11128001; mysql> მონა დაწყება; mysql> მონა სტატუსის ჩვენება \ G*************************** 1. მწკრივი ************************** Slave_IO_State: ველოდები მასტერს, რომ გამოაგზავნოს ღონისძიება 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 სარელეო_მომარაგება_ დადებითი: 11381900 სარელეო_ სამაგისტრო_ლოგის_ ფაილი: mysql-bin.000003 Slave_IO_ გაშვება: დიახ Slave_SQL_ გაშვება: დიახ 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: 12345100 Relay_Log_Space: 11382055 Before_Condition: None სანამ 0 Master_SSL_ დასაშვებია: Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: წამი_ბატონის უკან: 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)MySQL რეპლიკაციის გადამოწმება Master და Slave Server– ზე
მართლაც ძალიან მნიშვნელოვანია ვიცოდეთ, რომ გამეორება მშვენივრად მუშაობს. ჩართული ოსტატი სერვერმა შექმნა ცხრილი და ჩადეთ მასში გარკვეული მნიშვნელობები.
სამაგისტრო სერვერზე
mysql> მონაცემთა ბაზის შექმნა tecmint; mysql> გამოიყენეთ tecmint; mysql> შექმნა მაგიდის თანამშრომელი (c int); mysql> თანამშრომლის ჩასმა (გ) ღირებულებები (1); mysql> SELECT * თანამშრომლისგან;++ | გ | ++ | 1 | ++ 1 რიგი ნაკრებში (0.00 წმ)მონა სერვერზე
შემოწმება ᲛᲝᲜᲐიგივე ბრძანების შესრულებით, იგი დააბრუნებს იგივე მნიშვნელობებს მონაში.
mysql> გამოიყენეთ tecmint; mysql> SELECT * თანამშრომლისგან;++ | გ | ++ | 1 | ++ 1 რიგი ნაკრებში (0.00 წმ)ეს არის ის, საბოლოოდ თქვენ დააკონფიგურირეთ MySQL რეპლიკაცია რამდენიმე მარტივი ნაბიჯი. დამატებითი ინფორმაცია შეგიძლიათ იხილოთ მისამართზე MySQL რეპლიკაციის გზამკვლევი.