{"id":31236,"date":"2026-04-16T13:55:00","date_gmt":"2026-04-16T11:55:00","guid":{"rendered":"https:\/\/contabo.com\/blog\/mysql-benutzer-erstellen-und-berechtigungen-gewaehren-vollstaendiger-guide\/"},"modified":"2026-06-10T12:30:53","modified_gmt":"2026-06-10T10:30:53","slug":"mysql-benutzer-erstellen-und-berechtigungen","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/de\/mysql-benutzer-erstellen-und-berechtigungen\/","title":{"rendered":"MySQL Benutzer erstellen und Berechtigungen: Vollst\u00e4ndiger Guide"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE.webp\" alt=\"MySQL Benutzer erstellen und Berechtigungen: Vollst\u00e4ndiger Guide (Titelbild)\" class=\"wp-image-30301\" srcset=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE.webp 1200w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE-600x315.webp 600w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE-768x403.webp 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>Das Ausf\u00fchren deiner gesamten MySQL-Instanz unter dem Root-Konto ist das Datenbank\u00e4quivalent dazu, die Vordert\u00fcr deines Servers unverschlossen zu lassen. Hier erf\u00e4hrst du, wie du Benutzer mit den richtigen Berechtigungen erstellst und nicht mehr.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-voraussetzungen-mysql-zugriff-und-einrichtung\">Voraussetzungen: MySQL-Zugriff und Einrichtung<\/h2>\n\n\n\n<p>Du ben\u00f6tigst eine bestehende MySQL-Installation und die M\u00f6glichkeit, dich als Root oder als Benutzer mit GRANT OPTION-Berechtigungen anzumelden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql -u root -p<\/code><\/pre>\n\n\n\n<p>Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst. Von hier aus kannst du Benutzer erstellen, Berechtigungen zuweisen und die gesamte Zugriffskontrollebene verwalten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-man-einen-mysql-benutzer-erstellt\">Wie man einen MySQL-Benutzer erstellt<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-create-user-anweisungssyntax\">CREATE USER-Anweisungssyntax<\/h3>\n\n\n\n<p>Die vollst\u00e4ndige Syntax zum Erstellen eines MySQL-Benutzers:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE USER 'username'@'host' IDENTIFIED BY 'password';<\/code><\/pre>\n\n\n\n<p>Der Host-Teil steuert, woher Verbindungen kommen k\u00f6nnen. localhost schr\u00e4nkt auf nur auf lokale Verbindungen ein. % erlaubt Verbindungen von jedem Host. Du kannst auch eine IP-Adresse oder ein Subnetz angeben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-einen-benutzer-mit-einem-passwort-erstellen\">Einen Benutzer mit einem Passwort erstellen<\/h3>\n\n\n\n<p>Erstelle einen lokalen Benutzer mit dem Namen appuser:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';<\/code><\/pre>\n\n\n\n<p>Unter MySQL 8.0+ ist das Standard-Authentifizierungs-Plugin caching_sha2_password. \u00c4ltere Clients ben\u00f6tigen m\u00f6glicherweise stattdessen mysql_native_password:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE USER 'appuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123!';<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-einen-benutzer-fur-den-remote-zugriff-erstellen\">Einen Benutzer f\u00fcr den Remote-Zugriff erstellen<\/h3>\n\n\n\n<p>Erlaube Verbindungen von jedem Host, indem du % als Hostwert verwendest:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'RemotePassword456!';<\/code><\/pre>\n\n\n\n<p>F\u00fcr eine strengere Kontrolle beschr\u00e4nke dich auf eine bestimmte IP:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE USER 'remoteuser'@'192.168.1.100' IDENTIFIED BY 'RemotePassword456!';<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-berechtigungen-in-mysql-gewahrt-werden\">Wie Berechtigungen in MySQL gew\u00e4hrt werden<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-alle-berechtigungen-fur-eine-datenbank-gewahren\">Alle Berechtigungen f\u00fcr eine Datenbank gew\u00e4hren<\/h3>\n\n\n\n<p>Gew\u00e4hre einem Benutzer vollen Zugriff auf eine bestimmte Datenbank:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GRANT ALL PRIVILEGES ON mydatabase.* TO 'appuser'@'localhost';<\/code><\/pre>\n\n\n\n<p>Die *.*-Syntax gew\u00e4hrt Berechtigungen f\u00fcr alle Datenbanken, was du nur f\u00fcr Administratorkonten verwenden solltest.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-spezifische-berechtigungen-gewahren\">Spezifische Berechtigungen gew\u00e4hren<\/h3>\n\n\n\n<p>Das Prinzip der geringsten Berechtigung ist der richtige Ansatz. Ein Benutzer f\u00fcr schreibgesch\u00fctzte Berichterstattung ben\u00f6tigt nur SELECT:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GRANT SELECT ON mydatabase.* TO 'readonly_user'@'localhost';<\/code><\/pre>\n\n\n\n<p>Eine Anwendung, die nur Datens\u00e4tze liest und schreibt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GRANT SELECT, INSERT, UPDATE, DELETE ON mydatabase.* TO 'appuser'@'localhost';<\/code><\/pre>\n\n\n\n<p>Zu den verf\u00fcgbaren Berechtigungen geh\u00f6ren: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, EXECUTE und mehr.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-anwenden-von-berechtigungsanderungen-mit-flush-privileges\">Anwenden von Berechtigungs\u00e4nderungen mit FLUSH PRIVILEGES<\/h3>\n\n\n\n<p>Nach dem Vergeben der Berechtigungen solltest du die Grant-Tabellen neu laden, damit die \u00c4nderungen sofort wirksam werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FLUSH PRIVILEGES;<\/code><\/pre>\n\n\n\n<p>MySQL 8.0 wendet GRANT und REVOKE automatisch an, aber die Ausf\u00fchrung von FLUSH PRIVILEGES ist immer noch eine gute Praxis, wenn Systemtabellen direkt ge\u00e4ndert werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-man-gewahrte-berechtigungen-anzeigt\">Wie man gew\u00e4hrte Berechtigungen anzeigt<\/h2>\n\n\n\n<p>\u00dcberpr\u00fcfe, welche Berechtigungen ein Benutzer derzeit hat:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW GRANTS FOR 'appuser'@'localhost';<\/code><\/pre>\n\n\n\n<p>F\u00fcr den aktuell angemeldeten Benutzer:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW GRANTS FOR CURRENT_USER();<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wie-man-mysql-benutzer-widerruft-und-entfernt\">Wie man MySQL-Benutzer widerruft und entfernt<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-widerrufen-spezifischer-berechtigungen\">Widerrufen spezifischer Berechtigungen<\/h3>\n\n\n\n<p>Schreibzugriff entfernen und Lesezugriff beibehalten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REVOKE INSERT, UPDATE, DELETE ON mydatabase.* FROM 'appuser'@'localhost';<\/code><\/pre>\n\n\n\n<p>Dann die \u00c4nderungen laden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FLUSH PRIVILEGES;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-einen-mysql-benutzeraccount-loschen\">Einen MySQL-Benutzeraccount l\u00f6schen<\/h3>\n\n\n\n<p>Einen Benutzer vollst\u00e4ndig entfernen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DROP USER 'appuser'@'localhost';<\/code><\/pre>\n\n\n\n<p>Dadurch werden das Benutzerkonto und alle damit verbundenen Berechtigungen entfernt. \u00dcberpr\u00fcfe, ob der Benutzer entfernt wurde:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT User, Host FROM mysql.user;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-best-practices-fur-die-mysql-benutzersicherheit\">Best Practices f\u00fcr die MySQL-Benutzersicherheit<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verwende niemals das Root-Konto f\u00fcr Anwendungsverbindungen. Erstelle dedizierte Benutzer pro Anwendung.<\/li>\n\n\n\n<li>Gew\u00e4hre nur die Berechtigungen, die die Anwendung tats\u00e4chlich ben\u00f6tigt. Ein CMS ben\u00f6tigt SELECT, INSERT, UPDATE, DELETE. Es braucht weder DROP noch ALTER.<\/li>\n\n\n\n<li>Verwende starke, einzigartige Passw\u00f6rter. Speichere sie in Umgebungsvariablen oder einem Secrets-Manager, nicht im Code.<\/li>\n\n\n\n<li>Zugriffsrechte auf Hosts einschr\u00e4nken. Verwende nach M\u00f6glichkeit localhost oder eine bestimmte IP anstelle von %.<\/li>\n\n\n\n<li>\u00dcberpr\u00fcfe deine Benutzerliste regelm\u00e4\u00dfig: SELECT User, Host FROM mysql.user<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-faq-mysql-benutzer-erstellen\">FAQ: MySQL Benutzer erstellen<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1777031969648\"><strong class=\"schema-faq-question\">Wie erstelle ich einen neuen Benutzer in MySQL?<\/strong> <p class=\"schema-faq-answer\">F\u00fchre Folgendes aus: CREATE USER &#8218;Benutzername&#8217;@&#8217;localhost&#8216; IDENTIFIED BY &#8218;passwort&#8216;; Gew\u00e4hre dann die entsprechenden Berechtigungen mit GRANT &#8230; ON datenbank.* TO &#8218;benutzername&#8217;@&#8217;localhost&#8216;;<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1777031978183\"><strong class=\"schema-faq-question\">Wie gew\u00e4hre ich alle Berechtigungen in MySQL?<\/strong> <p class=\"schema-faq-answer\">F\u00fchre Folgendes aus: GRANT ALL PRIVILEGES ON databasename.* TO &#8218;username&#8217;@&#8217;host&#8216;; F\u00fchre anschliessend FLUSH PRIVILEGES; aus, um die \u00c4nderungen sofort wirksam zu machen.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1777031986664\"><strong class=\"schema-faq-question\">Wie sehe ich, welche Berechtigungen ein MySQL-Benutzer hat?<\/strong> <p class=\"schema-faq-answer\">F\u00fchre Folgendes aus: SHOW GRANTS FOR &#8218;username&#8217;@&#8217;host&#8216;; Dadurch werden alle Berechtigungen aufgelistet, die diesem Benutzer zugewiesen sind.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1777031994608\"><strong class=\"schema-faq-question\">Wie widerrufe ich Berechtigungen in MySQL?<\/strong> <p class=\"schema-faq-answer\">F\u00fchre Folgendes aus: REVOKE privilege_type ON database.* FROM &#8218;username&#8217;@&#8217;host&#8216;; Gib genau an, welche Berechtigungen entfernt werden sollen. Danach FLUSH PRIVILEGES;<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Das Ausf\u00fchren deiner gesamten MySQL-Instanz unter dem Root-Konto ist das Datenbank\u00e4quivalent dazu, die Vordert\u00fcr deines Servers unverschlossen zu lassen. Hier erf\u00e4hrst du, wie du Benutzer mit den richtigen Berechtigungen erstellst und nicht mehr. Voraussetzungen: MySQL-Zugriff und Einrichtung Du ben\u00f6tigst eine bestehende MySQL-Installation und die M\u00f6glichkeit, dich als Root oder als Benutzer mit GRANT OPTION-Berechtigungen anzumelden: [&hellip;]<\/p>\n","protected":false},"author":44,"featured_media":30301,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1399],"tags":[2820],"ppma_author":[3402],"class_list":["post-31236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-mysql-de"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE.webp",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE-150x150.webp",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE-600x315.webp",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE-768x403.webp",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE.webp",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE.webp",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2026\/04\/blog-head_mysql-create-user-and-grant-privileges_guide_DE.webp",1200,630,false]},"uagb_author_info":{"display_name":"Milan Ivanovic","author_link":"https:\/\/contabo.com\/blog\/de\/author\/milan\/"},"uagb_comment_info":0,"uagb_excerpt":"Das Ausf\u00fchren deiner gesamten MySQL-Instanz unter dem Root-Konto ist das Datenbank\u00e4quivalent dazu, die Vordert\u00fcr deines Servers unverschlossen zu lassen. Hier erf\u00e4hrst du, wie du Benutzer mit den richtigen Berechtigungen erstellst und nicht mehr. Voraussetzungen: MySQL-Zugriff und Einrichtung Du ben\u00f6tigst eine bestehende MySQL-Installation und die M\u00f6glichkeit, dich als Root oder als Benutzer mit GRANT OPTION-Berechtigungen anzumelden:&hellip;","authors":[{"term_id":3402,"user_id":0,"is_guest":1,"slug":"contabro","display_name":"ContaBro","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"","first_name":"","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/31236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=31236"}],"version-history":[{"count":3,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/31236\/revisions"}],"predecessor-version":[{"id":31243,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/31236\/revisions\/31243"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media\/30301"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=31236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=31236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=31236"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/ppma_author?post=31236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}