Portál AbcLinuxu, 12. listopadu 2025 17:23
#!/bin/sh
DBNAME=$2;
USER="root";
PASSWORD="password";
printUsage() {
echo "Usage: $0"
echo " --alter "
return
}
check_all_tables() {
TABLENAMES=`mysql -u $USER -p$PASSWORD -D $DBNAME -e "SHOW TABLES\G;"| \
grep 'Tables_in_'|sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`
for TABLENAME in $TABLENAMES
do
mysql -u $USER -p$PASSWORD -D $DBNAME -e "ALTER TABLE $TABLENAME ENGINE = InnoDB;"
done
}
if [ $# -eq 0 ]; then
printUsage
exit 1
fi
case $1 in
--alter) check_all_tables;;
--help) printUsage; exit 1;;
*) printUsage; exit 1;;
esac
Pod tim bylo napsanio:
To use it, just save it into shell script, like "db_alter.sh," make it executable (chmod +x db_alter.sh), and then run:
./db_alter.sh --alter mangos
(make this for all your databases, like forum, website, or realmd, it really encrease your q/s speed)
Linux mam teprve par dni
(prostredi: Gnome)
Bohuzel ani v anglictine nejsem vubec dobry...
Nes
ICQ: 207-433-828
Uvedený Bash skript provede konverzi tabulek v MySQL databázi, uvedené jako parametr (místo slova mangos v příkladu),z formátu MyISAM na InnoDB. Pokud máš nějakou databázi s tabulkami v tomto formátu a chceš využít možnosti nového, tak ve skriptu změň hodnoty proměnných ROOT a PASSWORD na jméno a heslo k tvé databázi. Pak nastav tento skript jako spustitelný (chmod ...) a spusť jej (s těmi parametry).
Vzhledem k tomu, že máš Linux teprve pár dní, se mi zdá nepravděpodobné, že pracuješ na nějakém rozsáhlém projektu v MySQL.
Pro bližší informace doporučuji shlédnout stránky MySQL, angličtina je ale nutností. Pro začátek alespoň toto.
nasel jsem nize uvedeny navod na optimalizaci, kterou pry nutne potrebuji-bohuzel absolutne nevim co s tim mam delat - muzete prosim poradit? DekujiPokud nevíš zda ji potřebuješ a absolutně nevíš co s tím dělat tak to asi na 99% nepotřebuješ. Takže nedělat nic.
z formátu MyISAM na InnoDB. Pokud máš nějakou databázi s tabulkami v tomto formátu a chceš využít možnosti nového, tak ve skriptu změň hodnoty proměnných ROOT a PASSWORD na jméno a heslo k tvé databázi. Pak nastav tento skript jako spustitelný (chmod ...) a spusť jej (s těmi parametry).
jak poznam jaky mam format? Je to bezpecny script? staci pokud zalohuji db (kdyby se neco pokazilo tak abych lehce mohl zalohu dat z5)?
Vazne staci zmenit jen root a pass?
Diky moc
Prekvapive nasledujici restart tak nejak nedopadnul
Mir a klid zbrani
USER="root"; PASSWORD="password";zadej uzivatele ( pokud pouzivas jinyho nez root ) a heslo nastav prava pro spusteni ( chmod +x db_alter.sh ) no a pak spust. (./db_alter.sh --alter jmeno_tvoji_db ) Samozremne nejdriv kompletni zalohu a vykopnout vsechny uzivatele.
ten clovek ktery mi to navrhnul bohuzel neni k sehnani...
je mozne, ze ta struktura co mam ted dela tyto chyby, ktere shazuji ten hlavni program, ktery zapisuje/cte z databaze - nebo to je chyba toho programu, nebo ma chyba? -
/var/log/messages
Jan 30 09:41:37 Nes kernel: mangosd[6535]: segfault at 00000000000000ba rip 00000000005bd276 rsp 00000000437fd9f0 error 4
Jan 30 10:29:02 Nes kernel: mangosd[18852]: segfault at 00000000000000b9 rip 00000000005bd496 rsp 00000000437fd9f
Jan 30 11:01:42 Nes kernel: mangosd[20660]: segfault at 0000000000000204 rip 00000000005c4654 rsp 00000000437fda0
Jan 30 13:22:45 Nes kernel: mangosd[20887]: segfault at 0000000044e38008 rip 000000000057baa0 rsp 0000000043805d38 error 4
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.