MySQL 忘记口令的解决办法
MySQL 忘记口令的解决办法
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;
8.0以上版本:
alter user 'root'@'localhost' identified by 'new_passwd';
重新杀 MySQL ,用正常方法启动 MySQL 。
如果上面的方式不行,试试下面的
如果您不小心删除了 MySQL 数据库中的 root 用户,您可以通过以下步骤重新创建并授权 root 用户:
步骤 1:停止 MySQL 服务
首先,您需要停止正在运行的 MySQL 服务。这取决于您的操作系统和安装方式。
对于大多数 Linux 发行版,您可以使用以下命令:
sudo service mysql stop
步骤 2:以不检查权限的方式启动 MySQL为了重新创建 root 用户,您需要以不检查权限的方式启动 MySQL。这将允许您以不需要密码的方式连接到服务器。
对于大多数 Linux 发行版,您可以使用以下命令:
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
步骤 4:重新创建 root 用户并授权
在 MySQL 命令提示符下,您可以重新创建 root 用户并授权:
-- 创建 root 用户
CREATE USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
-- 给 root 用户授权
GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' WITH GRANT OPTION;
提示如果上面的sql报错 则 创建一个新的账号代替 root :grant all privileges on . to 'admin'@'localhost' IDENTIFIED BY 'Familyun@mysql1' with grant option;
-- 更新权限
FLUSH PRIVILEGES;
EXIT;
步骤 5:重启 MySQL 服务
sudo mysqladmin -u root -p shutdown
如果root不行,则用上面新的admin账号
sudo service mysql start
mysql -u root -p
输入您刚刚设置的新密码,您应该可以成功登录。
如果不行,用上面的admin账号
登录后,如果还想用root
则:
GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' IDENTIFIED BY 'Familyun@mysql1' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
8.0以上版本语句有更改:
改密码:alter user 'usernmae'@'%' identified by 'password';
给权限:grant all privileges on flarum.* to 'username'@'%' with grant option;