Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

If you have lost the MySQL root password, the most controlled recovery is to stop the server, start it once with a protected --init-file containing an ALTER USER statement, delete that file, and restart normally. Oracle documents this approach for both Windows and Unix-like systems.

If you cannot use an init file, the emergency fallback is --skip-grant-tables. It starts MySQL without its privilege system, so anyone who can reach the local server can connect with full privileges. Use it only during a short, isolated maintenance window, run FLUSH PRIVILEGES before ALTER USER, and remove the option before returning the server to service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the reset method before stopping MySQL

There are two documented recovery paths. The init-file method changes the account during startup while normal authentication remains available to the server. The skip-grant-tables method bypasses authentication entirely and is intended for situations in which the first method cannot be arranged.

Characteristic Protected init file --skip-grant-tables
Windows support Yes, with an Administrator account and a readable, protected file Yes, if you can start the server manually
Unix/Linux support Yes, normally started as the account that runs MySQL Yes, with the deployment’s normal startup options
Authentication Remains enabled; the init statement runs during startup Disabled because grant tables are not read
Remote networking Unchanged from the normal configuration MySQL enables skip_networking, so remote clients cannot connect while this mode is active
Operational risk Lower, provided the file is private and removed promptly High: anyone who can connect locally has unrestricted database access
Cleanup Delete the file, stop the temporary instance, and restart normally Stop the temporary instance and restart without --skip-grant-tables or an unintended skip_networking setting

Use the init-file procedure whenever you can stop the service and control its startup command. Reserve the generic procedure for recovery situations where that is not practical.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Prepare the account change

Confirm which root account you must change

MySQL accounts include both a user name and a host part. The examples below target 'root'@'localhost'. If your installation created root with another host component, substitute that exact host value in the ALTER USER statement; changing a different host entry will not restore the account you use.

Schedule a maintenance window

Both procedures require a server stop and startup. Existing applications will lose database access during the transition, and transactions that are not committed may be interrupted. Notify users, stop application workers cleanly, and ensure you have console or local operating-system access in case the server does not start as expected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create a replacement password safely

Choose a long, unique password that satisfies the password-validation policy configured on the instance. Do not place it in shell history, a shared ticket, or an unprotected script. The init file itself contains the new password in clear text, so its directory and permissions matter as much as the SQL statement.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Preserve the normal startup configuration

Record how the server normally starts, including its option file, data directory, port, socket, and service account. When you launch a temporary instance, retain required options such as --defaults-file. The exact stop and start command depends on whether your installation uses a Windows service, systemd, launchd, a container, or a vendor-managed wrapper; substitute that environment’s service-management commands while preserving the sequence described here.

Windows: reset with an init file

Oracle’s Windows procedure assumes that you can log on as a Windows Administrator and control the MySQL service.

  1. Log on with administrative rights. Use an account that can stop and start the MySQL service and create a file readable by the service account.
  2. Stop the MySQL service. Use the Services console or your normal service-management method. Confirm that the server process has exited before continuing.
  3. Create a one-line init file. Put this statement in a plain-text file, for example C:mysql-init.txt:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

    Replace both the host part and password when your account or password policy requires it. Do not add extra SQL statements.

  4. Protect the file. Save it where the MySQL service account can read it, but remove read access for ordinary users. A local administrator who can inspect the machine may still be able to read it, so treat the file as a temporary secret.
  5. Start MySQL with the init option. Start the server using its normal options plus --init-file, for example:
    mysqld --init-file="C:mysql-init.txt"

    If your installation normally requires an option file, include the corresponding --defaults-file or use the service’s documented startup mechanism. The server executes the statement during startup.

  6. Confirm successful startup and authentication. Once the server is running, connect using the new password through the normal local client or administrative tool. A successful login confirms that the intended account was changed.
  7. Delete the init file immediately. Remove the file from disk and from any backup or temporary location you created for it. It contains the replacement password in clear text.
  8. Return to normal service startup. Stop the instance that was started with --init-file, then start the MySQL service normally without that option. Check the service’s normal logs and verify a fresh login after the restart.

If startup fails, do not repeatedly launch additional copies. Inspect the error log, confirm that the service account can read the file and data directory, and restore the normal startup options before attempting the procedure again.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Linux and other Unix-like systems: reset with an init file

The Unix procedure is equivalent, but file ownership and the account that launches mysqld are critical.

  1. Log in as the Unix account that normally runs MySQL. This is often named mysql. Use the account and environment expected by your installation rather than an unrelated administrative shell.
  2. Stop mysqld cleanly. Use the distribution or deployment’s normal service command and wait until the process has stopped.
  3. Create a protected init file. Write one line to a file such as /var/lib/mysql/mysql-init or another private path:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

    Set ownership and permissions so only the MySQL account and the administrator who is performing the recovery can read it.

  4. Start mysqld with the file. Oracle’s documented form is:
    mysqld --init-file=/path/to/mysql-init &

    Add normal options such as --defaults-file when your installation needs them. Keep the data directory, socket, port, and other production settings identical to a normal start.

  5. Wait for startup and test the new credential. Read the error log for a ready state, then connect locally with the replacement password. If the login succeeds, the account statement ran.
  6. Remove the init file. Delete it before leaving the maintenance shell; it is a clear-text password file, not a permanent configuration file.
  7. Stop the temporary process and restart normally. Use the regular service manager and normal option file. Do not leave the manually started process running alongside the managed service.

Do not start mysqld as root unless your normal configuration explicitly requires it and you also specify --user=mysql. Starting it as root without switching to the MySQL account can create root-owned files in the data directory, causing permission errors on later starts.

Emergency fallback: reset with --skip-grant-tables

This method is intentionally less secure. MySQL’s server-option documentation says that --skip-grant-tables prevents the server from reading the grant tables and therefore starts it without the privilege system. In the manual’s words: “This enables anyone to connect without a password and with all privileges.” The option also enables skip_networking, which blocks remote connections, but every person or process that can reach the local server still has unrestricted access.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Isolate the temporary server

  • Use a local console or a tightly controlled maintenance session.
  • Stop application services and any other process that could connect to MySQL.
  • Keep the server off untrusted networks while the option is active.
  • Prepare the normal startup command so you can remove the unsafe option immediately after the reset.

Run the reset

  1. Stop MySQL if it is running. Use the normal service-management mechanism for your platform.
  2. Start a temporary instance with grant-table checks disabled. Add --skip-grant-tables to the normal startup options. Because this option enables skip_networking, plan to use a local connection.
  3. Connect with the MySQL client without a password. Use the local socket or local client invocation appropriate to your installation. Authentication is not being enforced in this temporary mode.
  4. Reload the privilege system. At the SQL prompt, run:
    FLUSH PRIVILEGES;

    This step is required because skip-grant-tables disables account-management statements, including ALTER USER and SET PASSWORD.

  5. Set the new password. Run:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

    Use the correct host component for the account you identified earlier.

  6. Exit the client and stop the temporary server. Do not leave this instance available while you perform unrelated maintenance.
  7. Restart normally. Start MySQL without --skip-grant-tables and without an unintended persistent skip_networking setting. Test a normal authenticated connection, then allow applications to reconnect.

Why mysqladmin password appears not to work

mysqladmin password does not apply a password change while the server is running with --skip-grant-tables. The privilege system must first be re-enabled with FLUSH PRIVILEGES; then use an account-management statement such as the documented ALTER USER command. After the normal restart, password changes made through account-management statements are loaded immediately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why ALTER USER fails during recovery

Error or rejection before FLUSH PRIVILEGES

In skip-grant-tables mode, account-management statements are disabled until the privilege tables are reloaded. Run FLUSH PRIVILEGES; in the same local session, then retry ALTER USER. This is the expected behavior, not evidence that the new password is invalid.

The statement changes the wrong account

A MySQL account is identified by its user and host. If your root account is not root@localhost, the command can succeed while leaving the credential you actually use unchanged. Use the account’s real host component in the statement.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

The server starts but applications cannot reconnect

Check that the temporary option was removed. A server left with --skip-grant-tables is unauthenticated, while a server still configured with skip_networking will reject remote clients. Restart through the ordinary service definition and verify the normal port or socket.

The Unix server later reports permission errors

This commonly follows a manual start as root without --user=mysql. Files created in the data directory may then belong to root. Stop the server, correct ownership according to your installation’s normal permissions, and resume service using the usual MySQL account and startup wrapper.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The init-file method does not run the statement

Check that the file contains exactly one valid statement, that the path is correct, and that the server account can read it. Confirm that you started the intended instance with the intended option file; a different data directory or service definition can make a successful startup appear to have had no effect. Read the error log before changing more settings.

Verify the reset and close the exposure

  1. Connect using the new root password through the same local or remote route your administrators normally use.
  2. Confirm that the expected server instance, data directory, socket, and port answered the connection.
  3. Stop any temporary manually started process.
  4. Restart through the normal service manager and option file.
  5. Check that authentication is active and that required remote connectivity has returned.
  6. Delete every init file, shell script, command-history entry, or temporary copy that contains the replacement password, subject to your organization’s secret-retention policy.
  7. Review the server error log and service status for startup warnings before reopening application traffic.

Account-management statements such as ALTER USER and SET PASSWORD apply privilege changes immediately. This differs from direct edits to grant tables, which require FLUSH PRIVILEGES or a restart; direct grant-table editing is therefore unnecessary for this recovery and creates additional risk.

Operational limits by deployment type

Oracle’s reset instructions describe the server options and SQL sequence, not one universal command for every service manager. A systemd unit, launchd job, Windows service, container entrypoint, or vendor-managed appliance may reject a manually typed command or may restart the process automatically. In those environments, preserve the documented order—stop, start once with the recovery option, execute the SQL, remove the secret or unsafe option, and restart normally—while making the substitutions required by that deployment. Ensure that an orchestrator does not repeatedly restart a server in recovery mode.

Which method should you use?

Choose the protected init-file method when you can control the service and protect a temporary file. It keeps the normal privilege system in place and limits the password change to the startup statement. Use --skip-grant-tables only when the init-file route is unavailable; isolate the server, run FLUSH PRIVILEGES before ALTER USER, and return to an authenticated normal startup as soon as the new credential is verified.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.