安装完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
5.重启mariadb
sudo service mysql restart