今天,测试环境下需要使用到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)]>
到此,该问题成功解决!
Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress
Ubuntu 16.04 Dockerfile 安装MariaDB
Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10
[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB