Man bija problēmas ar Zabbix datubāzes jaunināšanas uz izlaidums 2.0, jo man bija bojāts dB ( https://support.zabbix.com/browse/ZBX-4729 ). Zabbix Es neesmu eksperts, tāpēc es neesmu atbildīgs par kaitējumu jums. Jums vajadzētu zināt, ko jūs darāt. Jums vajadzētu palaist šos soļus uz ražošanas serveri. I did this vairākas reizes uz testēšanas servera.
Te ir manas soļi:
- Izveidot backup DB (datu + struktūra).
Esmu izveidojis nelielu skriptu, kas palielina ātrumu rezerves, jo tā izmanto vairāk CPU kodoliem. Nelietojiet palaist šo skriptu, ja jums ir viens kodols vai tikai vienu CPU. Šis skripts darbojas tikai ar MySQL lietotājs bez paroles. Ja jūs izmantot MySQL ar lietotāja paroli, jums ir pievienot <lietotājs>-u un-p <password> lai mysqldump līniju.
#!/bin/bash
db=$1
if [ "$db" = "" ]; then
echo "Usage: $0 db_name"
exit 1
fi
mkdir $$
cd $$
clear
for table in `mysql $db -e 'show tables' | egrep -v 'Tables_in_' `; do
echo "Dumping $table"
mysqldump --single-transaction --master-data $db $table > $table.sql&
done
if [ "$table" = "" ]; then
echo "No tables found in db: $db"
fi - Izgāzt tikai datus no bojāta DB.
Ar šo soli es dempinga vienīgi datus, ne struktūru. Atkal, jūs varat izmantot iepriekš skriptu, bet jums ir jāmaina līnija
mysqldump --single-transaction --master-data $db $table > $table.sql&
uz šo
mysqldump --single-transaction --master-data --no-create-db --no-create-info $db $table > $table.sql&
Neaizmirstiet MySQL lietotājs ar paroli. Jums ir jāpievieno <lietotājs>-u un-p <password> lai mysqldump līniju. - Izveidot jaunu datu bāzi
<database_name> mainīt savu jauno datu bāzes nosaukumu
mysql -u<user> -p<password> -e 'create database <database_name> character set utf8 collate utf8_general_ci;' - Pievienot jaunu parauga datus no DB uzstādīšanu
Jums ir nepieciešams augšupielādēt datu bāzes struktūru no pagājušā stabilu 1.8.x versiju. MySQL faili ir Zabbix avota failā izveidot / shēmas direktorijā. Mainīt <database_name> uz savu jauno datu bāzes nosaukumu
mysql -u<user> -p<password> <database_name> < mysql.sql
Jums nav nepieciešams augšupielādēt failus no izveidotu / datu direktorijā (data.sql, images_mysql.sql), jo tie jau savā datu bāzē. - Upload dempinga dati no bojāti DB
Lai augšupielādētu Man ir līdzīgas skriptu, ražota paralēli augšupielādēt tabulas MySQL datu bāze. Jums ir nepieciešams, lai mainītu failus parametrs. Atkal, ja jūs izmantot MySQL ar lietotāja paroli, jums ir add-p mysql <password> šī līnija.
FILES=./db/*
db=$1
if [ "$db" = "" ]; then
echo "Usage: $0 db_name"
exit 1
fi
for f in $FILES
do
echo "Processing $f file..."
# take action on each file. $f store current file name
mysql $db < $f&
done - Notīrīt indeksi
Pirms jaunināšanas, jums ir nepieciešams, lai piliens indeksi. Soļi ir rakstīts Zabbix jauninājums dokumentācijā.
mysql -u<user> -p<password> -e 'DROP INDEX node_cksum_1 ON node_cksum;'
mysql -u<user> -p<password> -e 'DROP INDEX node_cksum_cksum_1 ON node_cksum;' - Patch DB līdz 2,0
Šis galīgais soļi ir daudz laika. Jauninājums darbojas tikai 1 pavedienu, tāpēc tas aizņem pārāk ilgu laiku. Mana 13 gigabaitiem datu bāze tika pārveidots pēc 19h 30 m uz 2x Xeon 2.8GHz, 8GB RAM, RAID10, MySQL + InnoDB. Tāpēc, esiet pacietīgi.
Tagad jūs varat palaist jauninājums plāksteris no Zabbix-1.9.x (vai 2.0) / upgrades/dbpatches/2.0/mysql direktorijā.
./upgrade <database_name>
Jūs varat uzraudzīt progresu
mysql -u<user> -p<password> -e 'show processlist;'
Pēc šī soļiem jums ir remontēts datu bāzi, patched ar versiju 2.0, un tagad jūs varat uzstādīt Zabbix binaries, un PHP GUI.











































Saistītie raksti
3 lietotāji atbildēja šajā amatā
Atkarībā setup jūsu MySQL datu bāzi, tas ir poibssle, ka jūs joprojām varat pieteikties ar lietotājvārdu root un bez paroles. Tas ir masveidā nedroši, bet, šķiet, ir noklusējuma daudziem instalē.
Hei,
paldies par HOWTO un skriptus.
Es domāju, ka ir viens typo pirmajā skriptu 10 Line Tā vietā, lai
" for table in 'mysql $db -e 'show tables' | egrep -v 'Tables_in_' `; do "tam vajadzētu būt
" for table in `mysql $db -e 'show tables' | egrep -v 'Tables_in_' `; do "citādi jūs saņemsiet negaidītu un EOL kļūda.
apsveikumi,
alexx
jā, ir typo, remontēta, thx.
Atstāt ziņu
Lūdzu, ņemiet vērā: Komentārs mērenība varbūt aktīvs, tāpēc nav nepieciešams atkārtoti jūsu komentārus