HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMinor

Deleting the MySQL 'root' user on purpose

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
deletingtheusermysqlrootpurpose

Problem

I created a new mysql user with all the same privileges as the current 'root' user. For security reasons I thought why not create another user for this so people at least won't know the username of my super user.

I then dropped the root user.

Immediately my DB started throwing connection refused errors for all of my other users.

I quickly recreated the original 'root' user and everything magically started connecting again.

My question is then, is it possible to delete the root user in a MySQL database? And if so how?

Thanks.

EDIT 1:

All other security options are in place. We are not just securing our system by trying to remove the root user. We have some over zealous security people here and removing the MySQL root user was just an extra step.

I agree with @Pleun for the reasons I tried to remove it.

Solution

You can rename the 'root' user.

To rename the administrator’s username, use the rename command in the MySQL console:

mysql> RENAME USER root TO new_user;


The MySQL “RENAME USER” command first appeared in MySQL version 5.0.2. If you use an older version of MySQL, you can use other commands to rename a user:

mysql> use mysql;

mysql> update user set user=”new_user” where user=”root”;

mysql> flush privileges;


From here.

Code Snippets

mysql> RENAME USER root TO new_user;
mysql> use mysql;

mysql> update user set user=”new_user” where user=”root”;

mysql> flush privileges;

Context

StackExchange Database Administrators Q#46903, answer score: 3

Revisions (0)

No revisions yet.