Jag försökte hitta några artiklar som beskriver hur man korrekt startar & stoppar mysql-servern.
Jag hittade den här länken: Hur man startar/stoppar MySql-server på Ubuntu 8.04 | Abhi's Blogging World
Jag körde det här kommandot:
/etc/init.d/mysql start
men jag ser detta fel
ERROR 1045 (28000) Access denied for user....
Efter att jag provade det här kommandot:
sudo /etc/init.d/mysql start
Jag skrev in mitt lösenord, och återigen ser jag samma fel.
Nästa kommando:
sudo /etc/init.d/mysql - root -p start
resulterar i:
ERROR 1049 (42000) Unknown database 'start'.
Och när jag kör det här kommandot:
sudo service mysql start
MySQL-servern har startat framgångsrikt. Coolt!
Vad är det för fel på de andra kommandona? Varför resulterar de i fel?
Dina två första kommandon kördes inte som root så det är ett förväntat beteende. Du måste vara root för att stoppa/starta mysql.
Men:
sudo /etc/init.d/mysql start
bör fungera. Det gör det faktiskt, för mig:
kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris:
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Jag använde restart istället för start, eftersom den redan var igång, men effekten är densamma. Är du säker på att du skrev in ditt lösenord korrekt? :) Har du redigerat din sudo-konfiguration överhuvudtaget som skulle kunna hindra detta från att fungera?
Den här..
sudo /etc/init.d/mysql - root -p start
Argumenten är fel. ett init.d-skript tar bara emot start
eller stop
eller restart
- bara ett ord som talar om vad det ska göra. Du kan inte ge det flera argument som du försökte göra.
Hur som helst, det korta svaret är att det du faktiskt fick att fungera är det rekommenderade sättet. service
ersätter alla init.d-skript med tiden, så du bör vänja dig vid att använda service
. Sidan du länkar till är 3 år gammal så den måste tas med lite salt :)
Det hjälper också att dubbelkolla att "mysql" är rätt tjänstnamn. I mitt fall var det inte det. Jag fick hela tiden följande svar: mysql: unrecognized service when running
service mysql status
Sedan kontrollerade jag /etc/init.d och hittade skriptet mysqld som listade processnamn: mysqld och prog=mysqld.
Så då gjorde jag följande
service mysqld status
service mysqld stop
service mysqld start
och alla fungerade bra.
START MYSQL:
sudo start mysql
ÅTERSTART MYSQL:
sudo restart mysql # The service must be running
STOPP MYSQL:
sudo stop mysql # The service must be running