今天,測試環境下需要使用到mysql數據庫;於是我使用yum安裝方式快速部署了mariadb。使用的Linux系統版本爲CentOS 7.x。
安裝完成後,我很自然的使用mysql命令登陸,因爲是剛安裝的初始環境,結果報錯了:
[root@node ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
第一次碰到這種情況。我檢查了配置文件,沒發現異常,另外yum安裝,也是初始環境,應該不會有問題。無奈只能上網找找相關的案例試試。
還好,最後成功的解決了此問題。
解決步驟如下:
1,首先停掉數據庫服務:
[root@node ~]# systemctl stop mariadb.service
2,使用mysqld_safe來啓動mysqld服務器:
[root@node ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & [1] 4120 [root@node ~]# 170301 11:04:57 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. 170301 11:04:57 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
3,登錄:
[root@node ~]# mysql -u root mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 1 Server version: 5.5.52-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [mysql]>
4,修改root用戶密碼:
MariaDB [mysql]> UPDATE user SET PASSWORD=PASSWORD('newpassword') where USER='root'; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0 MariaDB [mysql]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) MariaDB [mysql]> QUIT Bye [root@node ~]#
5,使用修改後的root用戶和新密碼newpassword登錄數據庫:
[root@node ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 6 Server version: 5.5.52-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
到此,該問題成功解決!