安装完mariadb,不知道root用户密码,以root身份登陆报如下错误:

david@david-pc:~$ mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决步骤:
1.
sudo身份打开 /etc/mysql/my.cnf
在【mysqld】节点下增加如下代码:
skip-grant-tables #忽略密码授权

2.
杀掉mysql进程,重启mariadb,这时直接mysql -uroot -p,无需密码即可登陆进mysql。

david@david-pc:/etc$ mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.0.28-MariaDB-1 Debian unstable


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)]>

3.
登陆后,修改root密码:

use mysql;
update mysql.user set password=PASSWORD('YOUR_PASSWORD') where user='root';

4.
sudo身份打开 /etc/mysql/my.cnf
在【mysqld】节点下注释如下代码:

#skip-grant-tables
  1. 重启mariadb
sudo service mysql restart
最后修改:2018 年 05 月 08 日 08 : 36 PM
如果觉得我的文章对你有用,请随意赞赏