天天看点

Mariadb初始登陆报错 ERROR 1045 (28000) 的解决办法

  今天,测试环境下需要使用到mysql数据库;于是我使用yum安装方式快速部署了mariadb。使用的Linux系统版本为CentOS 7.x。 

  安装完成后,我很自然的使用mysql命令登陆,因为是刚安装的初始环境,结果报错了: 

<code>[root@node ~]</code><code># mysql</code>

<code>ERROR 1045 (28000): Access denied </code><code>for</code> <code>user </code><code>'root'</code><code>@</code><code>'localhost'</code> <code>(using password: NO)</code>

  第一次碰到这种情况。我检查了配置文件,没发现异常,另外yum安装,也是初始环境,应该不会有问题。无奈只能上网找找相关的案例试试。 

  还好,最后成功的解决了此问题。 

  解决步骤如下: 

1,首先停掉数据库服务: 

<code>[root@node ~]</code><code># systemctl stop mariadb.service</code>

2,使用mysqld_safe来启动mysqld服务器: 

<code>[root@node ~]</code><code># mysqld_safe --user=mysql --skip-grant-tables --skip-networking &amp;</code>

<code>[1] 4120</code>

<code>[root@node ~]</code><code># 170301 11:04:57 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.</code>

<code>170301 11:04:57 mysqld_safe Starting mysqld daemon with databases from </code><code>/var/lib/mysql</code>

3,登录: 

<code>[root@node ~]</code><code># mysql -u root mysql</code>

<code>Reading table information </code><code>for</code> <code>completion of table and column names</code>

<code>You can turn off this feature to get a quicker startup with -A</code>

<code>Welcome to the MariaDB monitor.  Commands end with ; or \g.</code>

<code>Your MariaDB connection </code><code>id</code> <code>is 1</code>

<code>Server version: 5.5.52-MariaDB MariaDB Server</code>

<code>Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.</code>

<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>

<code>MariaDB [mysql]&gt;</code>

4,修改root用户密码: 

<code>MariaDB [mysql]&gt; UPDATE user SET PASSWORD=PASSWORD(</code><code>'newpassword'</code><code>) where USER=</code><code>'root'</code><code>;</code>

<code>Query OK, 4 rows affected (0.00 sec)</code>

<code>Rows matched: 4  Changed: 4  Warnings: 0</code>

<code>MariaDB [mysql]&gt; FLUSH PRIVILEGES;</code>

<code>Query OK, 0 rows affected (0.00 sec)</code>

<code>MariaDB [mysql]&gt; QUIT</code>

<code>Bye</code>

<code>[root@node ~]</code><code>#</code>

5,使用修改后的root用户和新密码newpassword登录数据库: 

<code>[root@node ~]</code><code># mysql -uroot -p</code>

<code>Enter password: </code>

<code>Your MariaDB connection </code><code>id</code> <code>is 6</code>

<code>MariaDB [(none)]&gt;</code>

到此,该问题成功解决!

本文转自 羽丰1995 51CTO博客,原文链接:http://blog.51cto.com/13683137989/1902267