w2314475989 2021-07-12 22:17 采纳率: 0%
浏览 19

mysql 忘记密码 赋权创建用户指定IP访问

最近两天在给客户搞内网部署的问题 客户给我发了个 root Delete 我就莫名其妙的把root用户删掉了 结果最后又添加完用户后 exit后忘记授权了 于是我发现我登录不上MySQL了 抓紧百度啊 还等啥呢 最后发现在MySQL的 my.cnf文件中 添加

  • skip-grant-tables 命令可以跳过enter Password登录

太好了 这下一把抓啊 赶紧添加后 重启MySQL service mysqld restart
最后进来后 赶紧把新生成的用户进行赋权 如 用户名称叫test_user 那么赋权命令则是

  • grant all on testdb.* to test_user@'%' identified by 'Ab12345';
  • 这里对上方命令进行个讲解 给test_user所有来自testdb库的数据表操作权限 密码为passowrd;
  • 如果想要赋予只是查询的权限 可以 将all 更换为操作关键字 如只给查询权限 grant select on testdb.* to test_user@'%' identified by 'passowrd'
  • 赋予多个权限写法 grank select,insert on testdb.* 如果是具体到某个表可将 testdb.* 写为 on testdb.testtabel 如果是全部数据库 则是 on . 代表所有库 所有表
  • 这里的 @后面跟的是允许哪些地址访问操作MySQL 用户名@允许访问地址; 如果是本地可以写为 '用户名'@'localhost' 如果是指定ip可以写为 '用户名'@'指定ip' 如果是指定IP段范围 可以用%来代替 如 '用户名'@'192.168.43.%' 也可以范围是 '用户名'@'192.168.%.%'
  • 删除权限 revoke all on testdb.* from test_user@'%';
  • 查看某个用户权限 show grants for '用户'@'IP地址'

好了 这下新用户权限问题解决了 那么之前创建的root用户呢 得给他创建出来啊 那么操作用户命令

  • 新建命令: create user 'test_user'@'localhost' identified by 'passowrd'; -- 允许本地连接

         create user 'test_user'@'192.168.43.%' identified by 'passowrd'; -- 允许IP为192.168.43...的连接
         create user 'test_user'@'%' identified by 'passowrd'; -- 允许所有ip连接
    
  • 删除命令: drop user '用户名'@'IP地址';

  • 修改命令 rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

  • 修改密码 set global validate_password_policy=LOW; set password for '用户名'@'IP地址'=Password('新密码');

  • 如果不知道用户名与ip地址的话 可以使用 select user,host from mysql.user;语句查看

  • 注意:操作后需要执行 FLUSH PRIVILEGES 语句。

  • 写回答

1条回答 默认 最新

  • 浪客 2021-07-13 00:58
    关注

    666,你应该把这些写到你的文章里

    评论

报告相同问题?

问题事件

  • 修改了问题 7月15日
  • 修改了问题 7月12日
  • 修改了问题 7月12日
  • 创建了问题 7月12日

悬赏问题

  • ¥20 ARKts悬浮窗和快捷方式问题
  • ¥15 comparecluster没有办法kegg
  • ¥15 远程访问linux主机超时
  • ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES