Πώς μπορώ να ξεκινήσω/σταματήσω τον διακομιστή mysql;

Προσπάθησα να βρω σε κάποια άρθρα που περιγράφουν πώς να ξεκινήσει σωστά & amp; σταματήσει mysql server.

Βρήκα αυτόν τον σύνδεσμο: Πώς να ξεκινήσετε/σταματήσετε τον διακομιστή MySql στο Ubuntu 8.04 | Abhi's Blogging World

Έτρεξα αυτή την εντολή:

/etc/init.d/mysql start 

αλλά βλέπω αυτό το σφάλμα

ERROR 1045 (28000) Access denied for user....

Αφού δοκίμασα αυτή την εντολή:

sudo /etc/init.d/mysql start

Εισήγαγα τον κωδικό πρόσβασής μου, και πάλι βλέπω το ίδιο σφάλμα.

Επόμενη εντολή:

sudo /etc/init.d/mysql - root -p start

Αποτελέσματα:

ERROR 1049 (42000) Unknown database 'start'.

Και όταν εκτελώ αυτή την εντολή:

sudo service mysql start

Η επιτυχία του διακομιστή MySQL ξεκίνησε. Ωραία!

Λοιπόν, τι συμβαίνει με τις άλλες εντολές; Γιατί οδηγούν σε σφάλμα;

Λύση

Οι δύο πρώτες εντολές σας δεν εκτελέστηκαν ως root, οπότε αυτή είναι η αναμενόμενη συμπεριφορά. Πρέπει να είστε root για να σταματήσετε/ξεκινήσετε τη mysql.

Ωστόσο:

sudo /etc/init.d/mysql start

θα πρέπει να δουλέψει. Πράγματι λειτουργεί, για μένα:

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..

Χρησιμοποίησα την επανεκκίνηση αντί για την εκκίνηση, αφού ήδη εκτελούνταν, αλλά το αποτέλεσμα είναι το ίδιο. Είστε σίγουρος ότι πληκτρολογήσατε σωστά τον κωδικό πρόσβασής σας; :) Έχετε επεξεργαστεί καθόλου το sudo config σας, το οποίο θα μπορούσε να σταματήσει αυτό να λειτουργεί;

Αυτό εδώ...

sudo /etc/init.d/mysql - root -p start

Τα ορίσματα είναι λάθος. ένα σενάριο init.d παίρνει μόνο start ή stop ή restart - μόνο μια λέξη που του λέει τι να κάνει. Δεν μπορείτε να του δώσετε πολλαπλά ορίσματα, όπως προσπαθούσατε να κάνετε.

Τέλος πάντων, η σύντομη απάντηση είναι ότι αυτός που πήρατε να δουλέψει, είναι ο συνιστώμενος τρόπος. Το service αντικαθιστά όλα τα σενάρια init.d με την πάροδο του χρόνου, οπότε θα πρέπει να συνηθίσετε να χρησιμοποιείτε το service. Η σελίδα που παραπέμπεις είναι 3 ετών, οπότε πρέπει να την πάρεις με επιφύλαξη :)

Σχόλια (4)

Βοηθά επίσης να ελέγξετε ξανά ότι το "mysql" είναι το σωστό όνομα υπηρεσίας. Στην περίπτωσή μου δεν ήταν. Έπαιρνα συνεχώς την ακόλουθη απάντηση: mysql: μη αναγνωρισμένη υπηρεσία κατά την εκτέλεση

service mysql status 

Στη συνέχεια έλεγξα το αρχείο /etc/init.d και βρήκα ένα σενάριο με όνομα mysqld το οποίο ανέφερε το όνομα της διεργασίας: mysqld και prog=mysqld

Έτσι, στη συνέχεια έκανα

service mysqld status
service mysqld stop
service mysqld start 

και όλα λειτούργησαν μια χαρά.

Σχόλια (6)

Για Ubuntu 12.10 και νεότερες εκδόσεις:

START MYSQL:

sudo start mysql

ΕΠΑΝΕΚΚΊΝΗΣΗ MYSQL:

sudo restart mysql # The service must be running

STOP MYSQL:

sudo stop mysql # The service must be running
Σχόλια (5)