Εγκατάσταση MySQL 5.x σε FreeBSD 6.x/7

Posted by superuser Thu, 10 Apr 2008 20:25:00 GMT

Αν επιχειρήσετε να ξεκινήσετε την MySQL-5 στο FreeBSD - ή κάποιο άλλο πακέτο (Joomla, Drupal, ...) που εξαρτάται από αυτήν - πιθανώς να συναντήσετε κάποια δυσκολία στην εκκίνηση της διεργασίας 'mysqld'.Μερικά συνήθη σφάλματα που πιθανώς να δείτε είναι:

localhost# Starting mysqld daemon with databases from /var/db/mysql
STOPPING server from pid file /var/db/mysql/localhost.pid
080410 21:14:27  mysqld ended 
ή
080410 21:10:52  mysqld started
080410 21:10:52  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
080410 21:10:52  mysqld ended
ή
/usr/local/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

Καταρχήν, αν δεν έχετε εγκαταστήσει ακόμη τον σέρβερ MySQL-5 αρκεί να ακολουθήσετε την διαδικασία εγκατάστασης από τις "Πόρτες" του FreeBSD {

# cd /usr/ports/databases/mysql50-server
Πιθανώς να επιθυμείτε να εγκαταστήσετε την MySQL με υποστήριξη για χαρακτήρες UTF-8 (συνήθες για την ελληνική γλώσσα, αλλά και για εφαρμογές που δουλεύουν UTF) . Σε αυτή την περίπτωση χρησιμποιήστε την εντολή :
make WITH_CHARSET=utf8 install clean 
στον κατάλογο /usr/ports/databases/mysql50-server (η προσθήκη "WITH_CHARSET=utf8" κάνει τη διαφορά). Αν αντιθέτως δεν θέλετε προεπιλεγμένα κωδικοποίηση utf-8, αγνοήστε αυτή την παράγραφο. Δώστε μόνο
# make install clean
}

Αμέσως μετά την εγκατάσταση πρέπει να δημιουργήσουμε τον κατάλογο όπου θα αποθηκεύονται οι βάσεις δεδομένων μας.

# /usr/local/bin/mysql_install_db
Ελέγξτε ότι έχει δημιουργηθεί ο κατάλογος /var/db/mysql. Σε αυτό ακριβώς το σημείο οφείλονται και τα προαναφερθέντα μηνύματος σφάλματος. Ο κατάλογος /var/db/mysql δεν έχει τα κατάλληλα δικαιώματα χρήσης για τους χρήστες της ομάδας mysql και ο ιδιοκτήτης του καταλόγου είναι ο root. Με τις ακόλουθες δύο εντολές γραμμής θα αλλάξω τον ιδιοκτήτη και την ομάδα προς αποφυγήν των σφαλμάτων.
# chown -R mysql /var/db/mysql/
# chgrp -R mysql /var/db/mysql/

Ας ξεκινήσουμε τώρα την διεργασία mysqld

/usr/local/bin/mysqld_safe -user=mysql &
[1] 2783
localhost# Starting mysqld daemon with databases from /var/db/mysql
Μμμ, όλα εντάξει. Από δω και πέρα δεν χρειάζεται να ενεργούμε σαν root, επομένως κάνουμε logon σαν απλός χρήστης.

Το τελευταίο βήμα μας, πριν ξεκινήσουμε να δουλεύουμε με την MySQL, είναι να εισάγουμε τον κωδικό πρόσβασης του root της MySQL(ουδεμία σχέση έχει με τον root του συστήματος).

$ /usr/local/bin/mysqladmin -u root password newpassword
(όπου newpassword βάλτε τον δικό σας κωδικό πρόσβασης του root για την MySQL).

Είμαστε έτοιμοι για να τρέξουμε mysql:

$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a FreeBSD port: mysql-server-5.0.51a

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

Η διαδικασία εγκατάστασης καθώς και της επίλυσης των σφαλμάτων κατά την έναρξη της διεργασίας mysqld αναφέρεται εκτενώς σε διάφορα blog/τεκμηριώσεις/... Η αναφορά στο παρόν blog γίνεται για προσωπική διευκόλυνση,και για κάποιους πιθανώς που απλά προσπαθούν να εγκαταστήστουν κάποιον web application server που χρειάζεται MySQL.

Posted in  | Tags , , , , , , , , ,  | 2 comments