mysqlで

mysql -u -p

と接続すればuserは、

MariaDB [(none)]> select user();
+--------------+
| user()       |
+--------------+
| -p@localhost |
+--------------+
1 row in set (0.00 sec)

となりますし、
mysql
と接続すればuserは、

MariaDB [(none)]> select user();
+----------------+
| user()         |
+----------------+
| ***(※microsoftのアカウント名)@localhost |
+----------------+
1 row in set (0.00 sec)

となります。

またこれらのようなアカウントに見覚えがないので、-p@localhost(current_user()を実行するとなぜか「@localhost」となる)の状態でmysql.userを見ようとすると

MariaDB [(none)]> select user,host,password from mysql.user;
ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 
'user'
MariaDB [(none)]> exit;
Bye

テーブル上にそんなユーザーは存在しない,というエラーがでてしまいます。***(※microsoftのアカウント名)@localhostでも同じです。

rootでやるとエラーが出ずに正常です。

MariaDB [(none)]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | ***************************************** |
| root | 127.0.0.1 | **********                                |
| root | ::1       | **********                                |
|      | localhost |                                           |
| pma  | localhost |                                           |
+------+-----------+-------------------------------------------+
5 rows in set (0.00 sec)

いづれもcurrent_userすると「@localhost」となるので恐らく匿名アカウントだと思いますがあっておりますか。
恐らくuserが空っぽのやつに接続しているのだと思いますが、これさえ削除すればこのようなでたらめな接続は、できなくなりますか。