忘记MySQL密码,重置密码

1.忘记mysql root用户密码的解决办法(skip-grant-tables)

skip-grant-tables


顾名思义,数据库启动的时候 跳跃权限表的限制,不用验证密码,直接登录。

注意:

这种情况只有在忘记root密码 不得已重启数据库的情况下使用的。现网环境慎用,需要重启数据库,并且安全性也比较难以保证。

  1. 修改配置参数

    my.ini 在[mysqld] 下面加上skip-grant-tables配置项。

  2. 重启mysql 使得参数生效:net start mysql
  3. 注意事项

    此时所有用户登录当前数据库都是免密码的,所以此时数据库的安全性是非常低的。

  4. 修改密码

具体的办法:

  1. 密码的初始化
  2. 刚安装好的mysql root 的密码默认的空的

    /app/mysql/ 为mysql的安装目录。

先执行:

mysqladmin -u root password test_password

然后登陆mysql

mysql -uroot -ptest_password

执行:

mysql>flush privileges;

  1. 修改密码方法一

mysqladmin -uroot -ptest_password password new_password

然后登陆mysql

mysql -uroot -pnew_password

执行:

mysql>flush privileges;

  1. 修改密码方法二

然后登陆mysql

mysql -uroot -pnew_password

mysql> update mysql.user set password=password('test_new2_password') where user= 'root';
mysql> FLUSH PRIVILEGES;

  1. 去掉参数
  • 密码修改好了之后再将配置文件中 skip-grant-tables去掉
  • 再次重启数据库。

    10.远程连接mysql

让mysql服务器支持远程客户端工具链接

打开mysql服务器
mysql -uroot -p
输入密码
直接授权
从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY
'youpassword' WITH GRANT OPTION;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

操作完后切记执行以下命令刷新权限
mysql>FLUSH PRIVILEGES;
mysql默认情况下,只允许localhost连接,如果需要外部IP连接到mysql,需要向mysql数据库里的“user”表里添加相关授权。 例如:让newuser用户使用newpwd密码从IP:192.168.1.3主机链接到mysql服务器

具体步骤: mysql>GRANT ALL PRIVILEGES ON . TO 'newuser'@'192.168.1.3' IDENTIFIED BY 'newpwd' WITH GRANT OPTION; mysql>flush privileges;

grant语法: grant 权限名(所有的权限用all) on 库名(*全部).表名(*全部) to '要授权的用户名'@'%'(%表示所有的IP,可以只些一个IP) identified by "密码"; 身份检查使用user表(Host, User和Password)3个范围列执行。服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接。 在user表Host值的指定方法: * Host值可以是主机名或IP号,或'localhost'指出本地主机。 * 你可以在Host列值使用通配符字符“%”和“_”。 * Host值'%'匹配任何主机名,空Host值等价于'%'。它们的含义与LIKE操作符的模式匹配操作相同。例如,'%'的Host值与所有主机名匹配,而'%.mysql.com'匹配mysql.com域 的所有主机。

2. 让mysql服务器支持远程客户端工具链接

已经在一篇文章写过了
让mysql服务器支持远程客户端工具链接
打开mysql服务器
mpysql -uroot -输入密码
直接授权
从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:


mysql>GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

操作完后切记执行以下命令刷新权限


mysql>FLUSH PRIVILEGES;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值