qq739984041
禾呈广予犬袁
采纳率50%
2018-05-21 09:51 阅读 492

mysql中sql_acl.cc文件里的一个小问题(mysql 3.23.45)

5

Query_log_event qinfo(thd, buff);
qinfo.q_len =
my_sprintf(buff,
(buff,"SET PASSWORD FOR \"%-.120s\"@\"%-.120s\"=\"%-.120s\"",
acl_user->user,
acl_user->host.hostname ? acl_user->host.hostname : "",
new_password));
mysql_update_log.write(thd,buff,qinfo.q_len);
mysql_bin_log.write(&qinfo);
return 0;

那个“%-.120s”是什么意思啊
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2018-05-21 09:55
     应该是表示参数
    也就是将acl_user->user 放在第一个 \"%-.120s\" 出现的位置
    acl_user->host.hostname ? acl_user->host.hostname : "" 放在第二个,以此类推
    得到 
    set password for 用户名@localhost = password(‘新密码’);
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2018-05-21 09:57

    my_sprintf虽然我们不清楚它怎么定义的,但是应该类似系统函数sprintf
    也就是提供一个字符串的模板(相当于填空题)以及若干参数,将参数填入模板的空格, 合成一个字符串。

    点赞 评论 复制链接分享

相关推荐