数据库


MySQL报错汇总

<h3>1、ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)</h3> <p>解决办法:</p> <h4>1.1 让账户拥有所有权限和密码,并允许在本地主机(mysql主机)登录:</h4> <pre><code class="language-bash">mysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'localhost' IDENTIFIED BY 'userpasswd01' WITH GRANT OPTION;</code></pre> <h4>1.2 让账户拥有所有权限和密码,并允许在任意主机登录:</h4> <pre><code class="language-bash">mysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'%' IDENTIFIED BY 'userpasswd02' WITH GRANT OPTION;</code></pre> <p>上述两行命令可以设置不同密码,本地登录密码、远程登录密码。</p> <pre><code class="language-bash">mysql&gt; flush privileges;</code></pre> <p><strong>注意:</strong> 同一个账户 要同时存在 %账号 或者 localhost账号 时,%账号 才起作用。 也就是说:为了能够使用账户(dbuser)在任何地方进行登录,这两行命令必需同时执行成功。查询结果必需包含下面两行内容: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/becd0a29b1fb3fac296631c67689dd6b?showdoc=.jpg" alt="" /> 因为,如果没有本地账户(dbuser@localhost),使用dbuser帐户登录时,mysql_install_db将优先考虑创建一个本地的匿名帐户。那么结果将是dbuser账户会被当作一个匿名帐户来处理。原因则在于,匿名帐户拥有一个比dbuser@%账户更加具体的host字段值,从而在user表排序的时候会相对出现的更早。</p> <h4>1.3Maraidb忘记用户密码处理方法</h4> <p>(1)问题:</p> <pre><code class="language-bash">[root@MariDB-Master ~]# mysql -uroot -p123456 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)</code></pre> <p>(2)在[mysqld]下添加skip-grant-tables,保存即可</p> <pre><code class="language-bash">vim /etc/my.cnf skip-grant-tables</code></pre> <p>(3)重启mysql 进入mysql,登录</p> <pre><code class="language-bash">mysql -u root -p 不用输入密码,直接回车</code></pre> <p>(4)修改密码,执行下面这句报错:</p> <pre><code class="language-bash">mysql&gt; GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement</code></pre> <p>解决办法:</p> <pre><code class="language-bash">flush privileges</code></pre> <p>再执行就可以。</p> <p>(5)退出,重启mysql 删除/etc/my.cnf添加的一行skip-grant-tables;</p> <pre><code class="language-bash">systemctl restart mariadb</code></pre> <p>(6)测试是否成功就是是否登陆成功</p> <pre><code class="language-bash">mysql -u root -p Enter Password&gt;'新密码'</code></pre> <p>登录成功即可以。</p>

页面列表

ITEM_HTML