Hjälp med MySQL, Error 1045.

Konfiguration av nätverk, hur man använder Ubuntu som server, och håller sin dator säker
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Hej, har haft detta problem en längre tid nu:

Access denied for user 'root'@'localhost' (using password: NO)

Jag har en LAMP-server (Ubuntu Server 6.10) som jag har lagt till dessa program/servrar på:

proftpd
webmin
phpmyadmin
torrentflux
ssh
nfs
samba

Problemet kommer egenligen när jag ska köra uppgrade filen som skriver om databasen till version 2.1-2.2 Torrenflux:

Kod: Markera allt

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /usr/share/torrentflux/www/upgrade21_22.php on line 22
och när jag kör:

Kod: Markera allt

nimda@l3bserv:~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

När jag kör sudo mysql -p så kommer jag in men det hjälper ju inte.

Hursomhelst så har jag löst detta problem själv förut genom google osv, då jag har använt mig utav dessa how-to's:
http://dev.mysql.com/doc/refman/5.0/en/ ... sions.html
https://help.ubuntu.com/community/MysqlPasswordReset

Har provat att köra dessa guider och det fungerar fortfarande inte.
Den gången jag fixade detta problem förut gjorde jag såhär:
  1.

      Log on to your system as either the Unix root user or as the same user that the mysqld server runs as.
  2.

      Locate the .pid file that contains the server's process ID. The exact location and name of this file depend on your distribution, hostname, and configuration. Common locations are /var/lib/mysql/, /var/run/mysqld/, and /usr/local/mysql/data/. Generally, the filename has the extension of .pid and begins with either mysqld or your system's hostname.

      You can stop the MySQL server by sending a normal kill (not kill -9) to the mysqld process, using the pathname of the .pid file in the following command:

      shell> kill `cat /mysql-data-directory/host_name.pid`

      Note the use of backticks rather than forward quotes with the cat command; these cause the output of cat to be substituted into the kill command.
  3.

      Create a text file and place the following command within it on a single line:

      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

      Save the file with any name. For this example the file will be ~/mysql-init.
  4.

      Restart the MySQL server with the special --init-file=~/mysql-init option:

      shell> mysqld_safe --init-file=~/mysql-init &

      The contents of the init-file are executed at server startup, changing the root password. After the server has started successfully you should delete ~/mysql-init.
  5.

      You should be able to connect using the new password.

Och det fungerade klockrent, men jag kan inte, av någon anledning, exekvera detta kommando utan felmeddelande:

Kod: Markera allt

nimda@l3bserv:~$ sudo kill `cat /var/run/mysqld/mysqld.pid`
cat: /var/run/mysqld/mysqld.pid: Permission denied
Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal            Convert between signal numbers and names.

Jag har provat att stänga ner demonen på alla möjliga andra sätt, men inget funkar.
Så antingen måste jag få igång på detta kommando, eller hitta ett annat sätt att komma runt detta problem.


Hjälp mig att få detta att fungera:

Kod: Markera allt

sudo kill `cat /var/run/mysqld/mysqld.pid`


Tack på förhand.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

SV: Hjälp med MySQL, Error 1045.

Inlägg av johanre »

Egentligen bör du stänga ner MySql med : sudo /etc/init.d/mysqld stop

MEN; ditt problem beror på att kommandot du försöker utföra: sudo kill `cat /var/run/mysqld/mysqld.pid` inte kan exekvera för att den första delen som exekveras {cat /var/run/mysqld/mysqld.pid} kör med ditt användarid. Och rättigheterna för mysqld.pid bör se ut så här:

Kod: Markera allt

-rw-rw---- 20 mysql mysql   5 2006-09-07 08:27 mysqld.pid
Ergo; du skall inte kunna läsa den filen med ditt användarid. Därav ditt "permission denied" problem.

Du kan t.ex. lösa det genom att göra följande: sudo kill `sudo cat /var/run/mysqld/mysqld.pid`

Om inget annat fungerar kan du också t.ex. köra: sudo pkill -9 mysqld eller sudo killall mysqld. Dock skall du helst undvika att göra så, du riskerar att förr eller senare få problem med databasen.

Lycka till!
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Tack för svaret!

"sudo /etc/init.d/mysqld stop" kan inte jag köra, men däremot "sudo /etc/init.d/mysql stop" vilket inte heller gör någon skillnad för dom återstående stegen i guiden.

 
"sudo kill `sudo cat /var/run/mysqld/mysqld.pid`" fungerade!
tack för det. men jag hade svårt att få igång servern efter
"sudo mysqld_safe --init-file=mysql-init &"
men fick igång den tillslut och det fungerade inte heller, får samma fel fortfarande.

Fick denna utdata:

Kod: Markera allt

nimda@l3bserv:~$ sudo mysqld_safe --init-file=/home/nimda/mysql-init &
[1] 16057
nimda@l3bserv:~$ Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[16118]: started

nimda@l3bserv:~$ STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[16266]: ended
Vet inte hur jag ska tolka det riktigt, gick det bra eller inte? :S

Jag blir tamejf*n galen på det här snart.

Några fler idéer?
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Är det verkligen ingen som kan hjälpa mig något i ämnet, eller måste jag byta dist för att få det att fungera? :S
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

SV: Hjälp med MySQL, Error 1045.

Inlägg av johanre »

joTi - klart vi skall försöka hjälpa dig! Ge det lite tid bara, även om jag förstår att det är jobbigt för dig iom att det hindrar dig att komma vidare för stunden.

Jag har inte hunnit testa själv men jag misstänker att du helt enkelt har fått ett rättighetsproblem gällande access till mysql i samband med att du installerade phpmyadmin och / eller webmin. Hur som helst; det ser ut som om mysql dog men kan du bekräfta genom att köra: ps -ef | grep -i mysql?
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: Hjälp med MySQL, Error 1045.

Inlägg av Okänd »

Hade du lagd till din användare samt root i gruppen mysql under System>Administration>Användare och grupper ?

Jag minns att jag hade samma problem efter installation av phpmyadmin och webmin.
Jag lade bara till en ny användare med alla rättigheter. ;) ;)

/peter
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Johan R-E skrev: joTi - klart vi skall försöka hjälpa dig! Ge det lite tid bara, även om jag förstår att det är jobbigt för dig iom att det hindrar dig att komma vidare för stunden.

Jag har inte hunnit testa själv men jag misstänker att du helt enkelt har fått ett rättighetsproblem gällande access till mysql i samband med att du installerade phpmyadmin och / eller webmin. Hur som helst; det ser ut som om mysql dog men kan du bekräfta genom att köra: ps -ef | grep -i mysql?
Ursäkta min ivrighet, men jag håller verkligen på att krevera pga det här :/

Utdata:

Kod: Markera allt

nimda@l3bserv:~$ ps -ef | grep -i mysql
root     16308     1  0 Feb18 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql    16369 16308  0 Feb18 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root     16370 16308  0 Feb18 ?        00:00:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
nimda    17067 17049  0 18:48 pts/0    00:00:00 grep -i mysql

Little John skrev: Hade du lagd till din användare samt root i gruppen mysql under System>Administration>Användare och grupper ?

Jag minns att jag hade samma problem efter installation av phpmyadmin och webmin.
Jag lade bara till en ny användare med alla rättigheter. ;) ;)

/peter
Jag har ingen GUI på servern, endast SSH.
Vet du något kommando eller så för att kolla upp det med?


Ni kan kanske ha rätt i att det började iom webmin installationen.
phpMyAdmin drog jag in för att underlätta (?) felsökningen utav problemet.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

SV: Hjälp med MySQL, Error 1045.

Inlägg av johanre »

Hhhmmm, det verkar som om mysql inte vill dö: sudo kill 16308 16369 16370 och därefter ps -ef | grep -i mysql
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Kod: Markera allt

nimda@l3bserv:~$ sudo kill 16308 16369 16370
Password:
nimda@l3bserv:~$ ps -ef | grep -i mysql
root     16308     1  0 Feb18 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql    18127 16308  0 23:18 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root     18128 16308  0 23:18 ?        00:00:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
nimda    18139 18089  0 23:19 pts/0    00:00:00 grep -i mysql
Det verkar som att det inte fungerar.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

SV: Hjälp med MySQL, Error 1045.

Inlägg av mcNisse »

Var lite bryskare när du slår ihjäl processer. ;)  Skicka -9 till kill, dvs sudo kill -9  16308 16369 16370
KDE 4.5 SC är ute i det fria!!! Tjoho

Stagnation is good for nobody - after all if you don't progress you end up with gnome
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Det gick bra, tror jag:

Kod: Markera allt

nimda@l3bserv:~$ sudo kill -9  16308 18162 18164
nimda@l3bserv:~$ ps -ef | grep -i mysql
nimda    18267 18089  0 23:41 pts/0    00:00:00 grep -i mysql

Men nu då, vet inte riktigt vad mitt nästa steg blir.
MySQL ligger nere och jag tror inte rättigheterna ändrar sig själva :/



[EDIT]

Testade att göra om guiden igen nu.

Kod: Markera allt

nimda@l3bserv:~$ mysqld_safe --init-file=~/mysql-init &
[1] 18338
nimda@l3bserv:~$ 
nimda@l3bserv:~$ cat: /var/run/mysqld/mysqld.pid: Permission denied
rm: cannot remove `/var/run/mysqld/mysqld.pid': Permission denied
mysqld_safe[18402]: Fatal error: Can't remove the pid file: /var/run/mysqld/mysqld.pid
mysqld_safe[18404]: Please remove it manually and start /usr/bin/mysqld_safe again
mysqld_safe[18406]: mysqld daemon not started

[1]+  Exit 1                  mysqld_safe --init-file=~/mysql-init



nimda@l3bserv:~$ sudo mysqld_safe --init-file=~/mysql-init &
[1] 18407
nimda@l3bserv:~$ Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[18471]: started
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[18485]: ended

[1]+  Done                    sudo mysqld_safe --init-file=~/mysql-init
nimda@l3bserv:~$ ps -ef | grep -i mysql
nimda    18487 18292  0 23:51 pts/1    00:00:00 grep -i mysql
Och såhär gick det:

Kod: Markera allt

nimda@l3bserv:~$ sudo /etc/init.d/mysql start
 * Starting MySQL database server mysqld                                 [ ok ] 
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
nimda@l3bserv:~$ ps -ef | grep -i mysql
root     18519     1  0 23:54 pts/1    00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql    18580 18519  0 23:54 pts/1    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root     18581 18519  0 23:54 pts/1    00:00:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
nimda    18656 18292  0 23:54 pts/1    00:00:00 grep -i mysql
nimda@l3bserv:~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Det fungerar fortfarande inte, suck.

Jag kanske måste göra som Little John sa, att lägga till nimda & root i någon mysql grupp?
Hur kolla grupper, och hur lägga till  användare i grupp?


Eller sitter jag och gör helt fel saker nu?
Senast redigerad av 1 joTi, redigerad totalt 20 gånger.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: Hjälp med MySQL, Error 1045.

Inlägg av Okänd »

Bara att försöka  ;) ;) ;)

Gå in i huvudmenyn under System>Administration>Användare och Grupper, ange ditt lösenord.
Klicka på "Hantera Grupper". Leta fram "mysql" och klicka på "Egenskaper".
Nu ser du, vem som är ikryssat som medlem i Gruppen. Kryssa även för root.

Nu kommer jag inte ihåg, om jag skaffade ett root-konto i terminalen med

sudo passwd root
  ( ange ditt ubuntu lösenord )
 
Ange det nya root UNIX password
Bekräfta den.

Du kan ju testa den varianten också.
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Little John, jag har inte X på min server, den är helt terminal-styrd, men jag gick in i /etc/group och la till root och nimda i gruppen mysql, ingen skillnad.
Rebootade även, så att det verkligen skulle läsas in.
Senast redigerad av 1 joTi, redigerad totalt 20 gånger.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

SV: Hjälp med MySQL, Error 1045.

Inlägg av johanre »

Har tyvärr inte tid med ett utförligt svar (är på jobb) men ett sätt att ta sig runt allt detta är att helt enkelt ta bort mysql paketet (OBS! det _måste_ vara en fullständig borttagning inkl. config & datafiler) och sedan installera det igen. Något i stil med det här sudo dpkg -P mysql-server och därefter sudo apt-get install mysql-server.

Har du däremot redan hunnit lägga data i databasen så måste vi kanske fundera ett varv till innan vi gör något drastiskt...
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Den lilla data som ligger i databasen nu spelar ingen roll för mig, lite torrentinfo osv som jag lika gärna kan klara mig utan.

Men frågan är hur phpMyAdmin och webmin blir att må?


[EDIT]

Har nu även provat detta innan jag installerar om MySQL.

Kod: Markera allt

nimda@l3bserv:~$ sudo dpkg-reconfigure mysql-server-5.0
 * Stopping MySQL database server mysqld                                 [ ok ] 
 * Stopping MySQL database server mysqld                                 [ ok ] 
 * Starting MySQL database server mysqld                                 [ ok ] 
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
nimda@l3bserv:~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Där fick jag ange ett MySQL lösenord för root, vart ingen skillnad som ni ser.


[EDIT2]

Har nu provat att ta bort mysql-server med sudo dpkg -P mysql-server och lägga in den igen, men det vill sig inte, databaserna och det var kvar för det.

Ett bättre sätt verkar vara (efter lite googlande) att använda sig av:
sudo apt-get remove --purge mysql-common

Men då vill den även ta bort:
phpMyAdmin
TorrentFlux
ProFTPd

Går det att få den att låta bli dom?



Har även provat lite hjälpredor från MySQL som:
mysql_fix_privilege_tables
mysql_install_db
mysql_setpermission

Den gör alla ändringar som den ska smärtfritt, men det fungerar ändå inte.
Senast redigerad av 1 joTi, redigerad totalt 20 gånger.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Framsteg:

Jag läste denna guide:
http://help.hardhathosting.com/question.php/200

Och såg då att min my.cnf inte hade dessa i sig under [client]:

password        = *mitt_lösen*
user            = root


Så jag la till dom och gjorde resten av guiden och våjla:

Kod: Markera allt

nimda@l3bserv:~$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.24a-Debian_9-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit
Bye

Men torrentflux rapporterar fortfarande:

Kod: Markera allt

Database error: Access denied for user 'root'@'localhost' (using password: NO)
Ett litet steg i rätt riktning iaf?
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

Yes!

Nu fungerar det, torrentflux problemet var bara att jag inte hade fyllt i databas passet i config.php, så nu fungerar det perfa.

För framtida referens, hela mitt ursprungliga problem avhjälps genom att:

1.
Öppna my.cnf

lägg till

password        = root_lösen
user            = root


2.
Det här steget är kanske onödigt, men följ någon av dessa guider:
http://help.hardhathosting.com/question.php/200
https://help.ubuntu.com/community/MysqlPasswordReset
http://dev.mysql.com/doc/refman/5.0/en/ ... sions.html


Och för TorrentFlux:

1.
Öppna config.php

Skriv in rätt lösenord i denna rad:
$cfg["db_pass"] = "root_lösen";


Klart.


Tack för all hjälp alla glada!
Speciellt du Johan R-E, som har tagit dig tid med alla mina dumma frågor om allting.


Nu får vi se hur länge detta fungerar.

Over and out.
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
zoombywoof
Inlägg: 202
Blev medlem: 27 nov 2006, 16:14
OS: Kubuntu
Ort: Stockholm

SV: Hjälp med MySQL, Error 1045.

Inlägg av zoombywoof »

joTi skrev: Yes!

Nu fungerar det, torrentflux problemet var bara att jag inte hade fyllt i databas passet i config.php, så nu fungerar det perfa.

För framtida referens, hela mitt ursprungliga problem avhjälps genom att:

1.
Öppna my.cnf

lägg till

password        = root_lösen
user            = root


Om du ändå fyller i passordet i config.php så ska du inte behöva ha databasens root lösenord i my.cnf, säkerhetsmässigt en dålig ide att ha root lösenordet där, men du kanske inte sitter exponerad utåt eller så...
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

SV: Hjälp med MySQL, Error 1045.

Inlägg av johanre »

Lysande joTi, alltid lika skönt när man får rätt på ett tufft problem!  ;D
joTi
Inlägg: 14
Blev medlem: 18 feb 2007, 18:24
Ort: GHN/Sverige

SV: Hjälp med MySQL, Error 1045.

Inlägg av joTi »

zoombywoof skrev:
Om du ändå fyller i passordet i config.php så ska du inte behöva ha databasens root lösenord i my.cnf, säkerhetsmässigt en dålig ide att ha root lösenordet där, men du kanske inte sitter exponerad utåt eller så...
Jo, möjligt, men det här var det enda sättet jag fick det att fungera på.
Johan R-E skrev: Lysande joTi, alltid lika skönt när man får rätt på ett tufft problem!  ;D
Yes, mkt skönt måste jag säga :D
Hoppas fler kan ha nytta av det här nu då :)
Desktop: Ubuntu 6.10 | Xgl+Beryl
Server: Ubuntu LAMP Server 6.10 | torrentflux | proftpd | webmin
Skriv svar

Återgå till "Nätverk, säkerhet och servrar"