<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sed on besserentwickeln.de</title><link>https://besserentwickeln.de/tags/sed/</link><description>Recent content in Sed on besserentwickeln.de</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Philipp Tuchardt</copyright><lastBuildDate>Wed, 08 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://besserentwickeln.de/tags/sed/index.xml" rel="self" type="application/rss+xml"/><item><title>MySQL: ANY command denied to user</title><link>https://besserentwickeln.de/p/mysql-any-command-denied-to-user/</link><pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate><guid>https://besserentwickeln.de/p/mysql-any-command-denied-to-user/</guid><description>&lt;h1 id="mysql-any-command-denied-to-user">MySQL ANY command denied to user
&lt;/h1>&lt;h2 id="fehler">Fehler
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ERROR &lt;span class="m">1142&lt;/span> &lt;span class="o">(&lt;/span>42000&lt;span class="o">)&lt;/span> at line 11215: ANY &lt;span class="nb">command&lt;/span> denied to user &lt;span class="s1">&amp;#39;db-user-exported&amp;#39;&lt;/span>@&lt;span class="s1">&amp;#39;%&amp;#39;&lt;/span> &lt;span class="k">for&lt;/span> table &lt;span class="s1">&amp;#39;dummy&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="lösung">Lösung
&lt;/h2>&lt;h3 id="eine-kopie-erstellen">Eine Kopie erstellen
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">cp dev-dump.sql dev-dump-copy.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="alten-benutzer-und-alte-db-ersetzen">Alten Benutzer und alte DB ersetzen
&lt;/h3>&lt;p>Im Dump steckt der &lt;code>DEFINER&lt;/code> des Quellsystems (im Fehler oben &lt;code>db-user-exported&lt;/code>). Dieser wird
auf den lokalen Benutzer bzw. die lokale DB umgeschrieben:&lt;/p>
&lt;p>&lt;strong>Alter Benutzer (im Dump):&lt;/strong> &lt;code>db-user-exported&lt;/code> → &lt;strong>Neuer Benutzer:&lt;/strong> &lt;code>db-user-target&lt;/code>&lt;/p>
&lt;p>&lt;strong>Alte DB (im Dump):&lt;/strong> &lt;code>db-exported&lt;/code> → &lt;strong>Neue DB:&lt;/strong> &lt;code>db-target&lt;/code>&lt;/p>
&lt;p>Zuerst den spezifischeren Benutzernamen ersetzen, dann den DB-Namen:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">sed -i &lt;span class="s1">&amp;#39;s/db-user-exported/db-user-target/g&amp;#39;&lt;/span> dev-dump-copy.sql
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sed -i &lt;span class="s1">&amp;#39;s/db-exported/db-target/g&amp;#39;&lt;/span> dev-dump-copy.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="reimport">Reimport
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">mysql -u db-user-target -p db-target &amp;lt; dev-dump-copy.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="alternative-nur-routinen-und-trigger-nachziehen">Alternative: nur Routinen und Trigger nachziehen
&lt;/h2>&lt;p>Wenn nur Stored Procedures, Functions und Trigger am Definer scheitern, importiert man den
Rest normal (z. B. mit &lt;code>--force&lt;/code>) und zieht diese Objekte separat aus der Quell-DB nach.&lt;/p>
&lt;p>Aus der Quell-DB exportieren:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">mysqldump --no-data --no-create-info --routines --triggers db-exported &amp;gt; routines-triggers.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Definer ersetzen:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">sed -i &lt;span class="s1">&amp;#39;s/db-user-exported/db-user-target/g&amp;#39;&lt;/span> routines-triggers.sql
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sed -i &lt;span class="s1">&amp;#39;s/db-exported/db-target/g&amp;#39;&lt;/span> routines-triggers.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>In die Ziel-DB einspielen:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">mysql -u db-user-target -p db-target &amp;lt; routines-triggers.sql
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div></description></item></channel></rss>