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-Dienst1. 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 zuzuweisen1. 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:
|
<<: Ansible - Bereitstellungsmethode für automatisierten Betrieb und Wartung für Linux-Systeme
>>: Detaillierte Erläuterung der Nginx-Weiterleitungssocket-Portkonfiguration
Herstellen einer Verbindung mit MySQL Hier verwen...
Ich habe mich kürzlich mit Linux beschäftigt und ...
Das Protokoll der Ressourcendatei weglassen Es wi...
Ohne weitere Umschweife komme ich gleich zum Code...
<div Klasse="Box"> <img /> ...
Der Ursprung des Problems Das erste Mal, dass ich...
Herunterladen Download-Adresse: https://dev.mysql...
1. Einleitung Ich habe vor Kurzem die Prinzipien ...
Wir hoffen, dass wir durch die Einbindung der Wet...
1 Einleitung Nachdem „Maven Springboot mit einem ...
Inhaltsverzeichnis Funktionen von etcd Es gibt dr...
Die meisten Leute kompilieren MySQL und legen es ...
Heute sind CSS-Präprozessoren der Standard für di...
Verwendung der AES-Verschlüsselung Verschlüsselun...
Spezifische Methode: 1. Drücken Sie [ Win+R ], um...