MySQL 不容易记住的用法

在WEB编程中,通常需要查询一天、一周或一个月内的数据记录,贴几条轻松获取指定时间内数据记录的SQL语句:

查询一天:
    select * from table where to_days(column_time) = to_days(now());
    select * from table where date(column_time) = curdate();

查询一周:
  
 select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY)<= date(column_time);

查询一个月:

select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH)<=date(column_time);

简要说明:

to_days(date)给定一个日期, 返回一个天数 (从年份0开始的天数 );DATE_SUB(date,INTERVAL expr type)函数从日期减去指定的时间间隔。column_time参数表示每条记录对应的日期时间字段。
### 解决 MySQL 无法更改密码的问题 当遇到 MySQL 密码无法更改的情况时,有几种常见原因和对应的解决方案。 #### 方法一:通过 ALTER USER 命令修改密码 对于 MySQL 版本 8.0 及以上的用户来说,推荐使用 `ALTER USER` 命令来更新 root 用户的密码。登录到 MySQL 控制台后执行如下命令: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 此操作会直接改变指定用户的验证方式并设定新的密码[^4]。 #### 方法二:初始化数据库获取临时密码 如果忘记了初始密码,则可以通过重新初始化实例获得一个新的随机生成的临时密码。具体做法是在命令行输入: ```bash mysqld --initialize --console ``` 这条指令将会打印出一个用于首次登录的新密码,在成功进入 MySQL 后再按照上述方法调整成自己容易记住的形式[^3]。 #### 方法三:编辑 my.cnf 文件绕过权限表加载 针对某些特殊情况下的密码重置需求,可以在服务器启动参数中加入 `[mysqld] skip-grant-tables` 来跳过读取授权表,从而允许无密访问进行必要的维护工作。完成之后记得移除该选项以恢复正常的安全模式运行,并重启服务使其生效。 ```ini [mysqld] skip-grant-tables ``` 保存文件后重启 MySQL 服务以便应用这些变更: ```bash sudo systemctl restart mysql ``` 此时可以直接连接至 MySQL 而无需提供任何凭证信息,随后利用 SQL 查询语句更新管理员账户的信息即可[^2]。 #### 注意事项 - 修改完成后建议立即退出当前会话并通过正常途径再次尝试登陆确认一切运作良好; - 如果仍然存在问题,请检查日志记录寻找更多线索; - 对于生产环境中使用的数据库务必谨慎处理此类敏感操作以免造成必要的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值