Dnes jsem představují pohodlné polohy pro úsporu nosri zautomatizovalo databáze mysql databáze, v dodatku k původnímu skriptu může být přidána na konci roku na záchranu a komprese jednotlivých databází v několika řádků kopírování na vzdálený server a okna v naší zprávy e-mail.
#! / Bin / bash
# Shell skript na zálohování databáze MySQL
# Chcete-li zálohovat soubory do databáze Nysql / backup dir a později vyzvednout vaše
Script #. Můžete přeskočit několik databází ze zálohy příliš.
# Pro více info viz (Instalace info):
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Poslední aktualizace: srpen - 2005
# -----------------------
# Toto je svobodný shell skript pod GNU GPL verze 2.0 nebo vyšší
# Copyright (C) 2004, 2005 nixCraft projektu
# Ohlasy / připomínky / návrhy: http://cyberciti.biz/fb/
# -------------------------
# Tento skript je součástí nixCraft shell skript kolekce (NSSC)
Navštivte # http://bash.cyberciti.biz/ pro více informací.
# Aktualizováno Září - 2007 by CyberTek - http://www.cybertek.it
# -------------------------
Myuser = "SET-mysql-user-NAME" # USERNAME
Mypass = "-SET PASSWORD" # PASSWORD
MyHOST = "localhost" # Hostname
# Linux bin cest, změna, pokud ji nelze autodetected, přes který příkaz
MYSQL = "$ (což mysql)"
Mysqldump = "$ (což mysqldump)"
Chown = "$ (což chown)"
Chmod = "$ (což chmod)"
GZIP = "$ (což gzip)"
# Záložní Dest adresáře změnit, pokud máte someother umístění
DEST = "/ backup"
# Hlavní adresář, kde se budou zálohy ukládat
MBD = "$ DEST / mysql"
# Get hostname
HOST = "$ (hostname)"
# Get údajů v dd-mm-rrrr formát
NOW = "$ (datum +"% d -% m -% Y ")"
# Soubor pro ukládání aktuální zálohu file
FILE = ""
# Uchovávejte Seznam databází
DBS = ""
# DON'T BACKUP těchto databází
Iggy = "test"
[- D $ MBD] & & mkdir - p $ MBD | |:
# Pouze root může přístup je!
Chown $ 0.0 - R $ DEST
$ Chmod 0600 $ DEST
# Get první seznam všech databází
DBS = "$ ($ mysql-u myuser-h $ $ $ MyHOST-p-mypass BSE 'show databáze')"
za $ db v DBS
dělat
skipdb = - 1
if [ "$ iggy!" = ""];
pak
pro i in $ iggy
dělat
[ "$ Db" = = "$ i"] & & skipdb = 1 | |:
hotovo
florencie
if [ "$ skipdb" = = "-1"]; potom
FILE = "$ MBD / $ db. $ HOST. NOW.gz $"
# Do všech InOne práci v potrubí,
# Připojení k MySQL pomocí mysqldump pro zvolení mysql databáze
# A pipe to na gz soubor zálohy dir:)
$ Mysqldump - u myuser $ - $ MyHOST h - p $ $ db mypass | GZIP $ - 9> $ FILE
florencie
hotovo
# Kopírování na vzdálený server
echo'******************* Example_Backup *******************'> / root / mybackup.txt
echo \>> / root / mybackup.txt
datum>> / root / mybackup.txt
echo \>> / root / mybackup.txt
'********************* Detaily *********************' echo>> / root / mybackup.txt
# Pamatovat, že scp příkaz nelze zadat heslo, pokud jste schválila klíčový pro cílový systém
# Jinak budete muset dělat
scp / backup / mysql / * root@example.dom: / home / backup / example / mysql /
oh-ls / backup / mysql />> / root / mybackup.txt
echo'************************************************ * '>> / root / mybackup.txt
# Odeslat email se zprávou o provedené práci
mail-s "Příklad Zálohování" example@example.dom </ root / mybackup.txt
# Odstranit po nahrání
rm-f / backup / mysql / *
Zaslal: admin (3. července) Samozřejmě, že výrobek není v pozici, aby soutěžit s potenciálními phpMyAdmin, ale voltela jednoduchost a lehkost nostromotivo by mohla být volba. Pokud bychom intragrare MySQL klient přes web snad můžeme se obrátit na tento produkt. Chcete-li přejít na místě sidu naleznete zde.
- Třídění a filtrování databázových tabulek.
- Možnost připojit k hostiteli a místní a vzdálené databáze.
- Bezpečný přístup k zabránění neoprávněnému přístupu k údajům.
- Práce s uživateli a více souběžných relací.
- Caching db a tabulky, které umožní rychlé zobrazení.
Published in: mysql, tipy, www Zaslal: admin (19. června) Není čas si promluvit o tom, jak vytvářet tabulky optimalizovány pro lepší výsledky. Pamatuji si jen, že pole indexovaný zlepšit mnohem doby provedení. Diskuse namísto některých malý trik, aby efektivněji MySQL, která obvykle přichází instalovaný na většině distro bez mnoha parametrů pro ladění. Info viz linuxové distro, ale mohou být snadno použity na jiné OS.
Konfigurační soubor je obvykle v / etc / my.ini.
Eempio z my.ini:
[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-proměnná = key_buffer = 64m
set-proměnná = max_user_connections = 100
set-proměnná = query_cache_size = 64m
# Implicitní k použití staré heslo formát pro kompatibilitu s MySQL 3.x
# Klienti (ty pomocí mysqlclient10 kompatibilita balíček).
old_passwords = 1
[mysql.server]
user = mysql
basedir = / var / lib
[mysqld_safe]
err-log = / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid
pufry: bufferu jakéhokoli incremeto dostanete databáze mnohem rychleji. Nastavte pufry založené na velikost paměti je k dispozici, s přihlédnutím ke spotřebě, které operační systém a další aplikace a služby v provozu. Pokud si rozdělit příliš mnoho paměti a zároveň nemají ustanovení může vběhnout do celkového výkonu systému.
Wait_timeout: je doba, která uplyne, než bude uzavřena automaticky připojit k MySQL z důvodu nečinnosti. Nižší číslo je lepší výkon. V tomto případě musíte také hrát druh spojení a jejich údajné čas pro kalibraci nejlepší parametr.
back_log: určuje, jak mnoho současných připojení může udržet MySql a zároveň vytváří nové vlákno. Čím nižší číslo, tím vyšší rychlost. Pozor, je to snadné nebude zhoršovat funkci by tento parametr nastavit správně, použijte pouze v případě, že je naprosto nezbytné.
Max_user_connections: Nastaví maximální počet povolených spojení s uživateli. To je velmi užitečné v systémech, kde na stejném serveru MySQL uživatelé mají přístup současně.
Delayed_queue_size: počet řádků spolu s INSERT zpožděno. Méně se podél linie, tím rychleji MySQL.
Sort_buffer_size: nastaví velikost bufferu přidělené na provádění ORDER BY klauzule a GROUP BY klauzule. Chcete-li, aby dotazy efektivnější je tento parametr nastaven na hodnotu vyšší než 2m.
Table_cache: určuje počet otevřených tabulek pro všechna vlákna, zvýšení této proměnné zvýší stoly naložené současně a provedení MySql bude mnohem rychlejší. Pozor na tento parametr, operační systémy mají limit odkazy na soubory otevřeny najednou, pokud si tento limit překročíte vám mohou vzniknout v jakémkoli systému závadu.
Thread_cache_size: Nastavuje počet závitů uchovávat v cache. Tato vlastnost umožňuje použití vláken velmi rychle.
Zobrazit STATUSU příkaz nám pomáhá sledovat v reálném čase ty proměnné, které více než ostatní, aby nám pomohli pochopit, co jsou nejvýznamnější vylepšení můžeme provést:
Handler_read_first: Udává, kolikrát se první záznam byl číst z tabulky. Jestliže se toto děje, často to znamená, že v tabulce nebyl indexováno správně.
Innodb_buffer_pool_wait_free: udává, kolikrát že MySQL má počkat na splachování stránek paměti. Pokud je návratová hodnota je vysoká, pak velikost bufferu bazén nebyl správně nakonfigurován pro výši zápisu, kterým prošlo server.
Key_reads: udává, kolikrát MySQL, že přístup k systému souborů pro databázové indexy. Tím se zpomaluje rychlost vyřízení dotazů, takže pokud je tato hodnota vysoká pak to znamená, že klíčové pufru je příliš malý, a měl by být zvýšen.
Max_used_connections: Označuje maximální počet připojení, která MySQL musela otevřít během posledního startu. Na jednu stranu je to pravda benchmark (pomáhá rozhodnout, maximální počet připojení k serveru může podporovat) a druhý je prezentován jako pohodlný provoz analyzátoru.
Open_tables: Označuje aktuální počet otevřených tabulek. Tato hodnota by měla být analyzována v kombinaci s mezipaměť velikost tabulky. Obvykle se velikost table_cache je třeba nastavit vyšší u této proměnné. Pokud je hodnota open_tables je mnohem nižší než table_cache aby nedocházelo k problémům s výkonem, proto je také snížit velikost vyrovnávací paměti. Pokud je hodnota open_tables je velmi vysoká a blíží velikosti cache, pak ji zvýšit table_cache.
- Select_full_join: Počet plnou připojit MySQL provedl, aby odpovídaly požadavkům klienta. A vysoká hodnota naznačuje, že místo pomocí indexů, MySQL byla nucena provést úplnou připojit. To naznačuje, že je třeba pro silnou index těchto tabulek.
Slow_queries: udává počet dotazů, které trvalo déle než obvykle, je třeba udělat. Vysoká hodnota by měla vést nás k analýze Pomalé Přihlásit dotazu zjistit, jaké jsou pomalé dotazu k optimalizaci.
Threads_connected: Označuje celkový počet klientů, kteří jsou připojeni k serveru v takové chvíli.
Created_tmp_disk_tables: udává počet dočasných tabulek, které byly vytvořeny na disku místo paměti. Vzhledem k tomu, že přístup do tabulek na disku je obvykle pomalejší než v paměti, že obsah proměnné bude úměrná rychlosti, s dotazy, které jsou spuštěny na příkaz CREATE dočasnou tabulku.
- Uptime: Zobrazuje, kolik sekund se na servis.
Published in: mysql, tipy