I want to secure mysql by setting root password. I reset root password successfully:
MariaDB [(none)]> select Host, User, Password from mysql.user;
+---------
I know this question is old, but I had the same issue and the steps below solved my problem:
on the Linux terminal, run the command below to set a new password for root user, skip this step, if root password is already set.
mysqladmin --user=root password "newpassword"
Login to mysql
mysql -uroot -p
Enter 'root' user password
Run following query on MariaDB console
MariaDB [(none)]> select host,user,password from mysql.user;
You may notice some records with 'user' column values are ''(empty), delete those records using following query
MariaDB [(none)]> delete from mysql.user where user='';
MariaDB [(none)]> flush privileges;
Query OK, 2 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
#$ mysql
ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: NO)
You wont be able to login to mysql without password after following above steps.