MySQL 5.7 on Debian and Ubuntu - How To Reset Root Password

MySQL on Debian versions is configured differently than the native local MySQL plugin so you will be disappointed when your password on the mysql client fails by default.

Here is how you reset the MySQL root password the proper and "working way"

#first we gracefully stop mysql

sudo systemctl stop mysql;

#then we forcefully kill any mysqld process just in case

sudo killall -9 mysqld mysqld_safe;

# we need to make this dir otherwise you'll get an error "mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists."

sudo mkdir -p /var/run/mysqld;

#chown /var/run/mysqld to mysql.mysql or you'll get errors still "mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended"

sudo chown mysql:mysql /var/run/mysqld;

#now start mysqld_safe with skip-grant-tables so you can login as root with no password to reset the root password or any account

sudo mysqld_safe --skip-grant-tables &

Now that we're in, let's reset the root password!

But before we do this let's see what type of auth our root account uses, as this explains why you need to change the plugin to native mysql otherwise you won't be able to login normally:

mysql -u root

use mysql;

mysql> select User,Host,authentication_string,plugin from user;
+------------------+-----------+-------------------------------------------+-----------------------+
| User             | Host      | authentication_string                     | plugin                |
+------------------+-----------+-------------------------------------------+-----------------------+
| root             | localhost | *7E877F388401BAB948632B9B213C144C24756EC6 | auth_socket           |
| mysql.session    | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password |
| mysql.sys        | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password |
| debian-sys-maint | localhost | *13CC8C41C8677DD6F22E91C2E10647FA20B05C56 | mysql_native_password |
+------------------+-----------+-------------------------------------------+-----------------------+

 

As we can see above the method for root is "auth_socket".  We need to change the plugin to "mysql_native_password".

 

use mysql;
update user set authentication_string=PASSWORD('newpassword'),plugin='mysql_native_password' where User='root';
flush privileges;

You need to switch the auth plugin to "mysql_native_password' by adding the ,plugin='mysql_native_password' option to the query above.

Change "newpassword" to what you want the password to be above.

Now we need to kill mysqld and restart it normally:

 

sudo killall -9 mysqld_safe mysqld


sudo systemctl start mysql

Now you should be able to login with your root password.


Tags:

mysql, debian, ubuntu, reset, passwordmysql, versions, configured, native, plugin, password, fails, default, quot, gracefully, sudo, systemctl, forcefully, mysqld, killall, mysqld_safe, dir, ll, directory, var, unix, socket, mkdir, chown, errors, pid, login, auth, select, user, authentication_string, localhost, bab, ec, auth_socket, thisisnotavalidpasswordthatcanbeusedhere, mysql_native_password, sys, maint, cc, dd, fa, method, update, newpassword, flush, privileges, adding, query, restart,

Latest Articles

  • How To Force Flash an AMD Instinct GPU To Another Model Using Debian Ubuntu Mint Linux
  • How To compile ollama from source to use unsupported AMD GPU with rocm in Ubuntu Debian
  • QEMU KVM Virtio GPU Windows Cannot Select 1080P
  • Linux Gnome Desktop Ubuntu Mint Debian Gets Slower After Weeks
  • Firefox How to Save Full Page As Screenshot/PDF
  • Nvidia Datacenter Driver Tesla Slow nvidia-smi response and high utilization with 0 usage
  • ffmpeg how to normalize / increase the volume of your audio
  • kdenlive audio blips pops cracks artifacts solution fix
  • haproxy / nginx certbot SSL issues
  • nginx how to see the real IP when behind a CDN
  • Docker how to find real container child process ID
  • Alibaba Aliyun how to reset password solution 'Setup does not meet the requirements, please resetting'
  • RTL88X Series 80Mhz hostapd mode for Linux Debian Kali
  • How To Deploy Your Own Mastodon Server in Docker
  • ffmpeg burning subtitles in non-English errors [Parsed_subtitles_0 @ 0x561d3a0b3b80] Glyph 0x6709 not found, selecting one more font for (Sans, 700, 0)
  • rsyslog in container config
  • Interesting Whisper AI CPU vs GPU Test
  • How to install pytorch with cuda capability for AI acceleration with Nvidia Tesla etc.. GPUs
  • How to Spider the web archive.org to recover your old website/webpage
  • Debian 10 /etc/apt/sources.list