天天看點

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