下面是在 Linux + MariaDB 下重置数据库密码的几种常见方法,按使用场景从最常用到特殊场景说明。
mysql -u root -p
登录后执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
FLUSH PRIVILEGES;
systemctl stop mariadb
# 或
systemctl stop mysql
mysqld_safe --skip-grant-tables &
如果提示
mysqld_safe不存在,可用:
mariadbd --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
如果是老版本:
UPDATE mysql.user
SET Password = PASSWORD('新密码')
WHERE User = 'root';
FLUSH PRIVILEGES;
exit
systemctl restart mariadb
停止服务后执行:
systemctl stop mariadb
启动重置模式:
mariadb-install-db --user=mysql --datadir=/var/lib/mysql
然后用:
mysql_secure_installation
Access denied for user 'root'@'localhost'✅ 使用 --skip-grant-tables 方法
mysql -u root -p --socket=/var/lib/mysql/mysql.sock
mysql_secure_installation
如果你能告诉我:
我可以给你更精确的一步一步命令。