Sida 1 av 1
Hjälp med MySQL, Error 1045.
Postat: 18 feb 2007, 23:31
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:
Tack på förhand.
SV: Hjälp med MySQL, Error 1045.
Postat: 19 feb 2007, 00:06
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!
SV: Hjälp med MySQL, Error 1045.
Postat: 19 feb 2007, 00:56
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?
SV: Hjälp med MySQL, Error 1045.
Postat: 19 feb 2007, 17:02
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
SV: Hjälp med MySQL, Error 1045.
Postat: 19 feb 2007, 17:34
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?
SV: Hjälp med MySQL, Error 1045.
Postat: 19 feb 2007, 17:53
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
SV: Hjälp med MySQL, Error 1045.
Postat: 19 feb 2007, 19:52
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.
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 00:00
av johanre
Hhhmmm, det verkar som om mysql inte vill dö: sudo kill 16308 16369 16370 och därefter ps -ef | grep -i mysql
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 00:17
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.
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 00:26
av mcNisse
Var lite bryskare när du slår ihjäl processer.

Skicka -9 till kill, dvs sudo kill -9 16308 16369 16370
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 00:38
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?
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 04:36
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å.
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 07:15
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.
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 10:04
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...
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 18:39
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.
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 20:10
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?
SV: Hjälp med MySQL, Error 1045.
Postat: 20 feb 2007, 20:47
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.
SV: Hjälp med MySQL, Error 1045.
Postat: 21 feb 2007, 00:00
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å...
SV: Hjälp med MySQL, Error 1045.
Postat: 21 feb 2007, 00:05
av johanre
Lysande joTi, alltid lika skönt när man får rätt på ett tufft problem!

SV: Hjälp med MySQL, Error 1045.
Postat: 21 feb 2007, 00:39
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!
Yes, mkt skönt måste jag säga

Hoppas fler kan ha nytta av det här nu då
