Allgemeine Befehle für MySQL-Autorisierung, Start und Dienststart

Allgemeine Befehle für MySQL-Autorisierung, Start und Dienststart

1. Vier Startmethoden:

1.mysqld

Starten Sie den MySQL-Server: ./mysqld --defaults-file=/etc/my.cnf --user=root
Client-Verbindung: mysql --defaults-file=/etc/my.cnf oder mysql -S /tmp/mysql.sock

2.mysqld_safe

Starten Sie den MySQL-Server: ./mysqld_safe --defaults-file=/etc/my.cnf --user=root &
Client-Verbindung: mysql --defaults-file=/etc/my.cnf oder mysql -S /tm/mysql.sock

3.mysql.server

cp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/
chkconfig --add mysql.server
Starten Sie den MySQL-Server: service mysql.server {start|stop|restart|reload|force-reload|status}
Client-Verbindung: Wie 1 und 2

4.mysqld_multi

mkdir $MYSQL_BASE/data2
Katze <<-EOF>> /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /Benutzer/lokal/mysql/bin/mysqladmin
Benutzer = mysqladmin
Passwort = mysqladmin

[mysqld3306]
Port = 3306
Socket = /tmp/mysql3306.sock
pid-Datei = /tmp/mysql3306.pid
externe Verriegelung überspringen
Schlüsselpuffergröße = 16 M
max_zulässiges_Paket = 1M
table_open_cache = 64
Sortierpuffergröße = 512 KB
Nettopufferlänge = 8 KB
Lesepuffergröße = 256 KB
Read_Rnd_Buffer_Größe = 512 KB
myisam_sort_buffer_size = 8M
basedir = /usr/local/mysql
Datenverzeichnis = /usr/local/mysql/data

[mysqld3307]
Port = 3307
Socket = /tmp/mysql3307.sock
pid-Datei = /tmp/mysql3307.pid
externe Verriegelung überspringen
Schlüsselpuffergröße = 16 M
max_zulässiges_Paket = 1M
table_open_cache = 64
Sortierpuffergröße = 512 KB
Nettopufferlänge = 8 KB
Lesepuffergröße = 256 KB
Read_Rnd_Buffer_Größe = 512 KB
myisam_sort_buffer_size = 8M
basedir = /usr/local/mysql
Datenverzeichnis = /usr/local/mysql/data2
Ende der Laufzeit

#mysql -S /tmp/mysql3306.sock
mysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost', identifiziert durch 'mysqladmin' mit Grant-Option;

#mysql -S /tmp/mysql3307.sock
mysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost', identifiziert durch 'mysqladmin' mit Grant-Option;

Starten Sie den MySQL-Server: ./mysqld_multi --defaults-file=/etc/my.cnf start 3306-3307
Den MySQL-Server herunterfahren: mysqladmin shutdown

2. Starten und stoppen Sie den MySQL-Dienst

1. Unter Windows:

Start: mysqld --console oder net start mysql
Herunterfahren: mysqladmin -u root shutdown oder net stop mysql

Unter Linux:

Start: Dienst MySQL Start
Stopp: Dienst MySQL stoppen
Starten Sie den Dienst neu: service mysql restart

3. Erstellen Sie einen Benutzer, um Berechtigungen zuzuweisen

1. Erstellen Sie einen neuen Benutzer: Erstellen Sie einen Benutzer mit dem Namen: buff, mit dem Passwort: buff

//Der Root-Benutzer meldet sich bei MySQL an
mysql -uroot -p
Passwort eingeben:
//Neuen Benutzer erstellenmysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));
// Aktualisieren Sie die Tabelle mit den Systemberechtigungen mysql>flush privileges;

Anmeldetest

mysql>Beenden
// Benutzer buff meldet sich bei MySQL an
mysql -ubuff -p
Passwort eingeben:
MySQL>
// Zeigt an, dass sich der neu erstellte Benutzer Buff erfolgreich angemeldet hat

Benutzerautorisierung

//Der Root-Benutzer meldet sich bei MySQL an
mysql -uroot -p
Passwort eingeben:
//Erstellen Sie eine Datenbank bluebuff für den Benutzer buff
mysql>Datenbank Bluebuff erstellen;
// Autorisieren Sie den Benutzer „buff“, alle Berechtigungen für die Datenbank „bluebuff mysql“ zu haben. Gewähren Sie alle Berechtigungen für „bluebuff.*“ an „buff@localhost“, identifiziert durch „buff“.
mysql>Berechtigungen leeren;

Anmeldetest

// Benutzer buff meldet sich bei der Datenbank an mysql -ubuff -p
Geben Sie die Berechtigungen ein:
// Datenbanken anzeigenmysql>show databases;

Das Ergebnis ist in der folgenden Abbildung dargestellt und zeigt an, dass die Autorisierung für den Benutzer-Buff erfolgreich war

5. Ändern Sie das Passwort des Benutzers Buff

//Der Root-Benutzer meldet sich bei MySQL an
mysql -uroot -p
Passwort eingeben:
//Ändern Sie das Passwort des Benutzers buffmysql>Update-Tabelle mysql.user setze Passwort=Passwort('buffer'), wobei User='buff' und Host='localhost';
mysql>Berechtigungen leeren;

6. Löschen eines Benutzers

//Der Root-Benutzer meldet sich bei MySQL an
mysql -uroot -p
Passwort eingeben:
// Benutzer-Buff löschen
mysql>löschen aus mysql.user, wobei Benutzer = ,buff‘ und Host = ,localhost‘;
mysql>Berechtigungen leeren;

7. Löschen Sie die Datenbank

mysql>Datenbank Bluebuff löschen;

4. Zeigen Sie die vom Benutzer erteilten Berechtigungen an

In MySQL können die Benutzern gewährten Berechtigungen in Berechtigungen auf globaler Ebene, Berechtigungen auf Datenbankebene, Berechtigungen auf Tabellenebene, Berechtigungen auf Spaltenebene und Berechtigungen auf Unterprogrammebene unterteilt werden.

1. Globale Ebene:

Globale Berechtigungen gelten für alle Datenbanken auf einem bestimmten Server. Diese Berechtigungen werden in der Tabelle mysql.user gespeichert. GRANT ALL ON *.* und REVOKE ALL ON *.* erteilen und widerrufen nur globale Privilegien.

Beispiel: a. Erstellen Sie ein Testkonto „test“ und erteilen Sie globale Berechtigungen mysql> grant select,insert on *.* to test@'%' identified by 'test';
mysql> Berechtigungen leeren;

b. Abfrage der für den Test erteilten Berechtigungen: Berechtigungen für den Test anzeigen;
Wählen Sie * aus mysql.user, wobei Benutzer = "Test" \G;

2. Datenbankebene:

Datenbankberechtigungen gelten für alle Objekte in einer bestimmten Datenbank. Diese Berechtigungen werden in den Tabellen mysql.db und mysql.host gespeichert. GRANT ALL ON db_name.* und REVOKE ALL ON db_name.* erteilen und entziehen nur Datenbankberechtigungen. Beispiel: a. Erstellen Sie ein Testkonto „test“ und erteilen Sie Berechtigungen auf Datenbankebene „drop user test“.
Gewähren Sie die Berechtigung „Select“, „Insert“, „Update“ und „Delete“ für MyDB.* an test@'%', identifiziert durch „test“.

b. Fragen Sie die für den Test erteilten Berechtigungen ab: select * from mysql.user where user='test'\G; --Sie können sehen, dass keine Autorisierung vorliegt: select * from mysql.db where user='test'\G;
Zuschüsse zum Test anzeigen;

3. Tabellenebene:

Tabellenberechtigungen gelten für alle Spalten einer bestimmten Tabelle. Diese Berechtigungen werden in der Tabelle mysql.tables_priv gespeichert. Mit den Befehlen GRANT ALL ON db_name.tbl_name und REVOKE ALL ON db_name.tbl_name können nur Tabellenberechtigungen gewährt und widerrufen werden.

Beispiel: a. Erstellen Sie ein Testkonto „test“ und erteilen Sie die Berechtigung „Drop User test“ auf Tabellenebene.
Berechtigungen leeren;
gewähre alles auf MyDB.kkk an test@'%', identifiziert durch 'test';

b. Abfrage der für den Test erteilten Berechtigungen: Berechtigungen für den Test anzeigen;
 Wählen Sie * aus mysql.tables_priv\G;

4. Spaltenebene:

Spaltenberechtigungen gelten für eine einzelne Spalte in einer bestimmten Tabelle. Diese Berechtigungen werden in der Tabelle mysql.columns_priv gespeichert. Wenn Sie REVOKE verwenden, müssen Sie dieselben Spalten angeben, die gewährt werden sollen.

Beispiel: a. Erstellen Sie ein Testkonto „test“ und erteilen Sie die Berechtigung „Drop User test“ auf Spaltenebene.
Berechtigungen leeren;
Gewähren Sie „Select (id, col1)“ auf MyDB.TEST1 für test@'%', identifiziert durch „test“;
Berechtigungen leeren;

b. Fragen Sie die zum Testen erteilten Berechtigungen ab: select * from mysql.columns_priv;
Zuschüsse zum Test anzeigen;

5. Unterprogrammebene:

Die Berechtigungen CREATE ROUTINE, ALTER ROUTINE, EXECUTE und GRANT gelten für gespeicherte Routinen. Diese Berechtigungen können auf globaler Ebene oder auf Datenbankebene gewährt werden. Außerdem können diese Berechtigungen, mit Ausnahme von CREATE ROUTINE, auf Unterprogrammebene gewährt werden und werden in der Tabelle mysql.procs_priv gespeichert.

Beispiel: a. Erstellen Sie ein Testkonto „test“ und erteilen Sie Berechtigungen auf Unterprogrammebene DROP PROCEDURE IF EXISTS PRC_TEST;
TRENNUNGSZEICHEN //
PROZEDUR ERSTELLEN PRC_TEST()
-> BEGIN
-> AUSWÄHLEN * VON kkk;
-> ENDE // 
TRENNUNGSZEICHEN ;
Gewähren Sie die Ausführung von MyDB.PRC_TEST für test@'%', identifiziert durch 'test'.

Berechtigungen leeren;

b. Abfrage der für den Test erteilten Berechtigungen: Berechtigungen für den Test anzeigen;
Wählen Sie * aus mysql.procs_priv, wobei Benutzer = "Test" ist.

Zusammenfassen:

1. Wenn Sie die einem Benutzer erteilten Berechtigungen anzeigen müssen, müssen Sie die auf diesen fünf Ebenen erteilten Berechtigungen anzeigen. Überprüfen Sie von oben nach unten oder von klein nach hoch nacheinander die den einzelnen Ebenen erteilten Berechtigungen.

2. Gewähren Sie die Berechtigung zum Erstellen einer Routine, Ändern einer Routine, Auswählen, Erstellen, Einfügen, Aktualisieren, Löschen, Ausführen auf ….

3. Wenn der Client keine Verbindung zum Server herstellen kann, überprüfen Sie, ob das Hostelement in der Benutzertabelle „%“ ist und autorisiert wurde.

Das könnte Sie auch interessieren:
  • Lösung für den MySQL-Dienst, der nicht startet
  • Zusammenfassung einiger häufiger Probleme, wenn MySQL nicht gestartet werden kann
  • Zusammenfassung der Lösungen für das Problem, dass MySQL 5 nach der Installation nicht gestartet werden kann (Dienst kann nicht gestartet werden)
  • Schnelle Lösung für den Startfehler des MySQL-Dienstes unter CentOS 7
  • Lösung für den MySQL-Startfehler 1053
  • Windows kann den MySQL-Dienst nicht starten und meldet Fehler 1067 – Lösung
  • So lösen Sie das Problem, dass MySQL mit Fehler 1067 nicht startet
  • Ein praktischer Bericht über einen durch den MySQL-Start verursachten Unfall

<<:  Ansible - Bereitstellungsmethode für automatisierten Betrieb und Wartung für Linux-Systeme

>>:  Detaillierte Erläuterung der Nginx-Weiterleitungssocket-Portkonfiguration

Artikel empfehlen

Docker stellt eine MySQL-Remoteverbindung bereit, um 2003-Probleme zu lösen

Herstellen einer Verbindung mit MySQL Hier verwen...

Zusammenfassung einiger Vorschläge zum HTML-Code-Schreibstil

Das Protokoll der Ressourcendatei weglassen Es wi...

HTML+CSS zur Realisierung einer einfachen Navigationsleistenfunktion

Ohne weitere Umschweife komme ich gleich zum Code...

MySQL 8.0.18 Installations-Tutorial unter Windows (Abbildung)

Herunterladen Download-Adresse: https://dev.mysql...

80 Zeilen Code zum Schreiben eines Webpack-Plugins und Veröffentlichen auf npm

1. Einleitung Ich habe vor Kurzem die Prinzipien ...

So fügen Sie Wettervorhersagen in Ihre Website ein

Wir hoffen, dass wir durch die Einbindung der Wet...

Detailliertes Tutorial zum Bereitstellen von Springboot oder Nginx mit Kubernetes

1 Einleitung Nachdem „Maven Springboot mit einem ...

CentOS 6.5 i386 Installation MySQL 5.7.18 ausführliches Tutorial

Die meisten Leute kompilieren MySQL und legen es ...

Ein vorläufiges Verständnis der benutzerdefinierten CSS-Eigenschaften

Heute sind CSS-Präprozessoren der Standard für di...

Detaillierte Schritte zur Verwendung von AES.js in Vue

Verwendung der AES-Verschlüsselung Verschlüsselun...

So löschen Sie die MySQL-Registrierung

Spezifische Methode: 1. Drücken Sie [ Win+R ], um...