今天,测试环境下需要使用到mysql数据库;于是我使用yum安装方式快速部署了mariadb。使用的Linux系统版本为CentOS 7.x。
安装完成后,我很自然的使用mysql命令登陆,因为是刚安装的初始环境,结果报错了:
|
1
2
|
[root@node ~]
# mysql
ERROR 1045 (28000): Access denied
for
user
'root'
@
'localhost'
(using password: NO)
|
第一次碰到这种情况。我检查了配置文件,没发现异常,另外yum安装,也是初始环境,应该不会有问题。无奈只能上网找找相关的案例试试。
还好,最后成功的解决了此问题。
解决步骤如下:
1,首先停掉数据库服务:
|
1
|
[root@node ~]
# systemctl stop mariadb.service
|
2,使用mysqld_safe来启动mysqld服务器:
|
1
2
3
4
|
[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,登录:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[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用户密码:
|
1
2
3
4
5
6
7
8
9
10
|
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登录数据库:
|
1
2
3
4
5
6
7
8
9
10
11
|
[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)]>
|
到此,该问题成功解决!
本文转自 羽丰1995 51CTO博客,原文链接:http://blog.51cto.com/13683137989/1902267