Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: wam]Spider007 06 Července 2009, 21:14:14
-
Mal som mensi problem s mysql serverom verzia 5.1
Nesiel mi stopnut service. Myslel som si, ze je problem v tom, ze som upravil subor my.cnf
dal som ho teda do povodneho stavu, ale problem prebiehal. Rozhodol som sa teda reinstall mysql servera. To sa vsak nedalo, lebo nesiel stopnut service. Tak som ho natvrdo killol. Mal som potom problemy, pisalo mi, ze balik mysql-server-5.1 je poskodeny. Nakoniec sa mi podarilo vsetko odinstalovat zmazal som si aj zlozku /etc/mysql kde bol subor my.cnf hodeny, aby si to vytvorilo pri instalacii novy. To sa vsak nestalo. Vytvoril som teda rucne novy subor my.cnf (resp. skopiroval som obsah z kamosovho my.cnf). Dostal som sa vsak zase na zaciatok. Service pre mysql jednoducho nejde stopnut. Nepise ani preco, napise len [fail].
Uz som dost zufaly z toho a mam chut dat komplet reinstall ubuntu, lebo mam dojem, ze neustali pokus o odinstalovanie a opatovne nainstalovanie spravil totalny bordel.
Da sa aspon nejak zistit pricina preco nejde stopnut mysql? Lebo z hlasky [fail] mudry nie som ....sudruhovia asi par veci nedomylsleli :(.
-
To je divný... takhle to zlobí i při restartu? A když to killneš a pokusíš se to nastartovat
sudo /etc/init.d/mysql(ted nevím jestli tady není ještě d) start
tak to naběhne normálně jo?
-
no killnut to killnem, ale potom to nenastartuje
prikaz je sudo /etc/init.d/mysql start | stop | restart
cele sa mi to zda nejake divne, zda sa ze mi po nainstalovani chyba plno veci kvoli ktorym to nejde. Cely system je rozhaseny :(
-
Zdravím Vás,
pod jakým uživatelem běží mysql ? Je to root ,nebo mysql nebo jiný uživatel ?
-
je to root
chcel by som dosiahnut to, aby bol system taky ako keby tam nikdy mysql nebolo....aby som ho mohol nainstalovat uplne znovu cely. To sa ale asi neda spravit. Subory a configuraky su rozhadzane kade-tade a odinstalovanie cez apt nie je dokonale.
Este musim podotknut, ze mam mysql z nejakych debianackych repozitarov, lebo pre ubuntu 8.04 este nikde nie je dostupna verzia 5.1
-
Zdravím Vás,
root je OK. Já osobně bych se pídil, proč se nevytváří soubor "mysql.cnf" . Zkontroloval bych jméno toho souboru
"mysql.cnf" . Nemá být třeba ".mysql.cnf" nebo "my.cnf" , přístupová práva OK ? Je jeho umístění ve správném adresáři ? Pokud jej vytvoříte ručně (to bych zprvu nedělal, pokusil bych se najít nějaké "předvařené" *.cnf = na netu, nebo v instalačním balíčku), tak bych se pokoušel plnit ono "?.cnf" obsahem, který přímo ovlivňuje chod serveru (např. spojení na konkrétní databasi..), prostě "dostat mysql pod kontrolu" prostřednictvím *.cnf...
Pokud to půjde, tak bych prošel poté script, který spouští |zastavuje | restartuje mysql, jestli náhodou není monitoring sql prováděn přes pid, mohlo by se stát,že script reaguje na jiné pid než má přiděleno aktuální mysql.
Rady jsou to obecné, a třeba se Vám právě hodí jako mrtvému zimník. Mysql není můj šálek čaje, ale třeba Vás to navede nějakým užitečným směrem ...
-
tak som sa trochu sekol....server bezi pod userom mysql
jann@h4x0r:~$ ps -aux | grep mysql
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 16838 0.0 0.0 1772 528 pts/1 S 19:34 0:00 /bin/sh /usr/bin/mysqld_safe
mysql 16972 0.3 2.2 130188 22616 pts/1 Sl 19:34 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/h4x0r.err --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
jann 17417 0.0 0.0 2224 784 pts/1 R+ 19:42 0:00 grep mysql
nicmenej vsak stale mozem stopnut service len pomocou killu. Neviem ani ako prinutit vypisanie nejakeho rozsiahlejsieho vypisu.
skusal som
sudo sh -x /etc/init.d/mysql stop
z toho som vsak moc mudry nebol, ale vy mozno budete :) tak to sem aspon skusim pastnut
jann@h4x0r:~$ sudo sh -x /etc/init.d/mysql stop
+ set -e
+ set -u
+
+ test -x /usr/sbin/mysqld
+ . /lib/lsb/init-functions
+ FANCYTTY=
+ [ -e /etc/lsb-base-logging.sh ]
+ . /etc/lsb-base-logging.sh
+ dirname /etc/init.d/mysql
+ cd /etc/init.d
+ pwd -P
+ basename /etc/init.d/mysql
+ SELF=/etc/init.d/mysql
+ CONF=/etc/mysql/my.cnf
+ MYADMIN=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf
+ ERR_LOGGER=logger -p daemon.err -t /etc/init.d/mysql -i
+ cd /
+ umask 077
+ export HOME=/etc/mysql/
+ log_daemon_msg Stopping MySQL database server mysqld
+ [ -z Stopping MySQL database server ]
+ log_use_usplash
+ [ n = y ]
+ type usplash_write
+ usplash_write TEXT Stopping MySQL database server mysqld
+ log_to_console log_daemon_msg Stopping MySQL database server mysqld
+ [ n != y ]
+ [ no != yes ]
+ readlink /proc/self/fd/0
+ stdin=/dev/pts/1
+ [ /dev/pts/1 != /dev/pts/1 ]
+ return 0
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ xxterm != xdumb ]
+ [ -x /usr/bin/tput ]
+ [ -x /usr/bin/expr ]
+ /usr/bin/tput hpa 60
+ /usr/bin/tput setaf 1
+ [ -z ]
+ FANCYTTY=1
+ true
+ /usr/bin/tput xenl
+ /usr/bin/tput cols
+ COLS=210
+ [ 210 ]
+ [ 210 -gt 6 ]
+ /usr/bin/expr 210 - 7
+ COL=203
+ printf * Stopping MySQL database server mysqld
* Stopping MySQL database server mysqld + /usr/bin/expr 210 - 1
+ /usr/bin/tput hpa 209
+ printf
+ mysqld_status check_dead nowarn
+ /usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping
+ ping_output=/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
+ ping_alive=1
+ ps_alive=0
+ mysqld_get_param pid-file
+ /usr/sbin/mysqld --print-defaults
+ tr \n
+ grep -- --pid-file
+ tail -n 1
+ cut -d= -f2
+ pidfile=/var/run/mysqld/mysqld.pid
+ [ -f /var/run/mysqld/mysqld.pid ]
+ cat /var/run/mysqld/mysqld.pid
+ ps 16972
+ ps_alive=1
+ [ check_dead = check_alive -a 1 = 1 ]
+ [ check_dead = check_dead -a 1 = 0 -a 1 = 0 ]
+ [ nowarn = warn ]
+ return 1
+ set +e
+ /usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown
+ shutdown_out=/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
+ r=1
+ set -e
+ [ 1 -ne 0 ]
+ log_end_msg 1
+ [ -z 1 ]
+ log_use_usplash
+ [ n = y ]
+ type usplash_write
+ [ 1 -eq 0 ]
+ usplash_write FAILURE failed
+ log_to_console log_end_msg 1
+ [ n != y ]
+ [ no != yes ]
+ readlink /proc/self/fd/0
+ stdin=/dev/pts/1
+ [ /dev/pts/1 != /dev/pts/1 ]
+ return 0
+ [ 203 ]
+ [ -x /usr/bin/tput ]
+ printf \r
+ /usr/bin/tput hpa 203
+ [ 1 -eq 0 ]
+ printf [
[+ /usr/bin/tput setaf 1
+ printf fail
fail+ /usr/bin/tput op
+ echo ]
]
+ return 1
-
Zdravím Vás,
zkuste 1.získat pid z pidfile : pidfile=`cat /var/run/mysqld/mysqld.pid (něco jako oněch 16972 jako v prvním výpisu)
2. killnout mysql pomocí pid : kill $pidfile
Jaké se objeví reakce na tuto činnost v terminálovém okně ?
Pokud se nepletu (podle toho druhého výpisu) se pid získá korektně (16972), ale proč se mysql neukončí, zatím nevím....
Přiložte prosím, jen tak pro zajímavost, obsah /var/run/mysqld/mysqld.pid ...
Pokud mysql složíte pomocí pid bez problémů, zkuste hledat, jestli mysql nezamyká ve /var/lock/nebo jiném adresáři, což by mohlo být vysvětlení , proč mysql nenanstartujete korektně, když jste jej předtím sundal příkazem kill....