Η αυστηρή λειτουργία είναι υπεύθυνη για τον έλεγχο του τρόπου χειρισμού των ελλειπόντων τιμών κατά τη δημιουργία ή την ενημέρωση νέων εγγραφών σε μια βάση δεδομένων MySQL.


Στο MySQL η αυστηρή λειτουργία είναι ενεργοποιημένη από προεπιλογή και αυτή η συμπεριφορά προκαλεί ενοχλητικές προειδοποιήσεις όταν ένας χρήστης προσπαθεί να αποθηκεύσει εγγραφές που έχουν κενές τιμές σε ορισμένα πεδία. Μερικές φορές, οι εγγραφές δεν αποθηκεύονται / ενημερώνονται καθόλου και αυτό μπορεί να βλάψει την κανονική λειτουργία ενός ιστότοπου ή μιας εφαρμογής ιστού.

Η απενεργοποίηση της αυστηρής λειτουργίας MySQL επιτρέπει την εκτέλεση ερωτημάτων με τις τιμές που λείπουν ή δεν ισχύουν και στις περισσότερες περιπτώσεις, είναι η προτιμώμενη συμπεριφορά από τους περισσότερους διαχειριστές βάσεων δεδομένων. Μερικές φορές, η απενεργοποίηση της αυστηρής λειτουργίας MySQL μπορεί να προκαλέσει απροσδόκητη συμπεριφορά, π.χ. συνδυασμένες τιμές που υπερβαίνουν την τιμή μήκους που ορίζεται στη συμπεριφορά

Ωστόσο, εάν εκτελείτε διάφορες εφαρμογές λογισμικού, απαιτείται απενεργοποίηση της αυστηρής λειτουργίας MySQL. Διαφορετικά, οποιαδήποτε εντολή εισαγωγής θα δημιουργήσει ένα σφάλμα όπως, Το πεδίο δεν έχει προεπιλεγμένη τιμή

Σε αυτόν τον οδηγό, θα καλύψουμε τα βήματα για την απενεργοποίηση της προεπιλεγμένης συμπεριφοράς MySQL “STRICT_TRANS_TABLES”.

Προαπαιτούμενα

  • Ένας διακομιστής Ubuntu 18.04 VPS
  • Διακομιστής κοινότητας MySQL
  • Ένας μη ριζικός χρήστης με δικαιώματα sudo

Ειδική σημείωση: Συμβουλευτείτε τη σελίδα Best Linux Hosting Services της Hostadvice ή τη σελίδα Best VPS Hosting για να βρείτε τους κορυφαίους παρόχους φιλοξενίας ιστοσελίδων σε αυτές τις κατηγορίες.

Βήμα 1: Ελέγξτε εάν είναι ενεργοποιημένη η αυστηρή λειτουργία

Πρέπει πρώτα να εξακριβώσουμε εάν είναι ενεργοποιημένη η αυστηρή λειτουργία στον διακομιστή MySQL. Για να το ελέγξετε, πληκτρολογήστε την παρακάτω εντολή σε διακομιστή τερματικού:

$ sudo mysql -u root -p

Εισαγάγετε τον κωδικό πρόσβασης ρίζας της βάσης δεδομένων MySQL και πατήστε Εισαγω.

Στη συνέχεια, θα χρειαστεί να εκτελέσετε το ερώτημα παρακάτω στη γραμμή εντολών MySQl:

ΔΕΙΞΤΕ $ ΜΕΤΑΒΛΗΤΕΣ, όπως «sql_mode»;

Στην οθόνη εμφανίζεται ένας πίνακας με ορισμένες τιμές sql_mode διαχωρισμένες με κόμματα, όπως φαίνεται παρακάτω. Εάν βρείτε μια τιμή όπως “STRICT_TRANS_TABLES”, τότε ενεργοποιείται η αυστηρή λειτουργία MySQL.

Βήμα 2: Δημιουργήστε ένα νέο αρχείο διαμόρφωσης χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας nano

Χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας nano, δημιουργήστε ένα νέο αρχείο διαμόρφωσης κάτω από το /etc/mysql/conf.d/ Ευρετήριο. Το νέο αρχείο διαμόρφωσης θα αντικαταστήσει το προεπιλεγμένο αρχείο διαμόρφωσης MySQL.

Χρησιμοποιήστε την παρακάτω εντολή:

$ sudo nano /etc/mysql/conf.d/disable_strict_mode.cnf

Στη συνέχεια, εισαγάγετε το παρακάτω κείμενο στον επεξεργαστή κειμένου:

[mysqld]
sql_mode = IGNORE_SPACE, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

Τύπος CTRL + X και Γ για να αποθηκεύσετε τις αλλαγές.

Βήμα 3: Επανεκκινήστε τη MySQL

Όταν κάνετε οποιαδήποτε αλλαγή σε οποιονδήποτε κατάλογο ρυθμίσεων MySQL, θα πρέπει να κάνετε επανεκκίνηση της υπηρεσίας MySQL για να ισχύσουν οι αλλαγές χρησιμοποιώντας την παρακάτω εντολή:

Επανεκκινήστε την υπηρεσία $ sudo mysql

Βήμα 4: Επιβεβαίωση της αλλαγής

Συνδεθείτε για άλλη μια φορά στον διακομιστή MySQL χρησιμοποιώντας την παρακάτω εντολή:

$ sudo mysql -u root -p

Εισαγάγετε τον κωδικό πρόσβασης ρίζας και πατήστε Εισαγω.

Εκτελέστε το ερώτημα παρακάτω για άλλη μια φορά στη γραμμή εντολών MySQl:

ΔΕΙΞΤΕ $ ΜΕΤΑΒΛΗΤΕΣ, όπως «sql_mode»;

Όπως μπορείτε να δείτε από το παρακάτω στιγμιότυπο οθόνης, η τιμή “STRICT_TRANS_TABLES” στη λίστα τιμών sql_mode και αυτό σημαίνει ότι έχει απενεργοποιηθεί επιτυχώς.

συμπέρασμα

Αυτή είναι η βασική διαδικασία απενεργοποίησης της αυστηρής λειτουργίας MySQL στον διακομιστή Ubuntu 18.04. Θυμηθείτε, συνιστάται να απενεργοποιήσετε τη λειτουργία μόνο εάν έχετε μια εφαρμογή που απαιτεί την αλλαγή. Αυτό ισχύει για εφαρμογές που αποθηκεύουν τιμές σε μια βάση δεδομένων σε στήλες που λαμβάνουν κενές τιμές χωρίς καθορισμένες προεπιλογές.

Μια κοινή περίπτωση είναι μια «Διεύθυνση 2′ πεδίο το οποίο παρόλο που υπάρχει στις περισσότερες φόρμες εγγραφής, ενδέχεται να μην είναι υποχρεωτικό να το εισαγάγετε. Ελπίζουμε ότι αυτός ο οδηγός θα σας βοηθήσει να αντιμετωπίσετε τα σφάλματα MySQL.

Ρίξτε μια ματιά στις κορυφαίες 3 αποκλειστικές υπηρεσίες φιλοξενίας διακομιστών:

Φιλοξενία Α2

Αρχική τιμή:
99,59 $


Αξιοπιστία
9.3


Τιμολόγηση
9.0


Φιλικό προς τον χρήστη
9.3


Υποστήριξη
9.3


Χαρακτηριστικά
9.3

Διαβάστε κριτικές

Επισκεφτείτε το A2 Hosting

FastComet

Αρχική τιμή:
139,00 $


Αξιοπιστία
9.7


Τιμολόγηση
9.5


Φιλικό προς τον χρήστη
9.7


Υποστήριξη
9.7


Χαρακτηριστικά
9.6

Διαβάστε κριτικές

Επισκεφτείτε το FastComet

Hostwinds

Αρχική τιμή:
99,00 $


Αξιοπιστία
9.3


Τιμολόγηση
9.2


Φιλικό προς τον χρήστη
9.2


Υποστήριξη
9.3


Χαρακτηριστικά
9.2

Διαβάστε κριτικές

Επισκεφτείτε το Hostwinds

Σχετικά άρθρα με οδηγίες

  • Πώς να δημιουργήσετε αντίγραφα ασφαλείας της βάσης δεδομένων MySQL σε Ubuntu 18.04 VPS ή Dedicated Server
    ενδιάμεσος
  • Πώς να εγκαταστήσετε το MYSQL 8.0 και να δημιουργήσετε μια βάση δεδομένων σε ένα Ubuntu 18.04 Linux VPS
    ενδιάμεσος
  • Τρόπος εγκατάστασης του PhpMyAdmin σε Ubuntu 18.04 VPS ή Dedicated Server
    ενδιάμεσος
  • Πώς να εγκαταστήσετε το Apache Cassandra σε Ubuntu 18.04 VPS ή Dedicated Server
    ενδιάμεσος
  • Πώς να εγκαταστήσετε το Apache, MySQL & PHP σε Ubuntu 18.04 VPS ή Dedicated Server
    ενδιάμεσος
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me