重置 Harbor 用户的密码

好久没用 Harbor,把密码给忘记了,通过修改数据库重置一下密码吧。 ...

July 29, 2021 · 3 min · K8sCat

MySQL8 重置密码

MySQL8 忘记密码怎么办? sudo vi /etc/mysql/my.cnf # 添加以下内容 [mysqld] skip-grant-tables # 保存后重启MySQL sudo service mysqld restart # 无密码进入MySQL mysql -uroot -p mysql> alter user 'root'@'%' identified by ''; mysql> flush privileges; mysql> exit # 将配置文件复原 sudo vi /etc/mysql/my.cnf # 注释掉之前添加的内容, 修改为以下内容 [mysqld] # skip-grant-tables # 重启MySQL sudo service mysqld restart # 空密码进入MySQL mysql -uroot -p mysql> alter user 'root'@'%' identified by '123456' mysql> flush privileges; 参考: CentOS 安装 MySQL mysql什么时候需要flush privileges

October 29, 2019 · 1 min · K8sCat

严重批判 phone 和 password 自成一家

手上有这么一个项目, user 表里只有 phone 和 password 这个两个字段(除了 id, create_time, update_time 这些字段), 其他信息(比如 name, gender 等字段)保存在 user_profile 表里, 为什么要这样做呢? 放在一个表里不就ok了吗? 经过强烈讨论看文章和思考后, 就写了这篇文章, 欢迎指正和交流 这涉及到 分表分库 解决 支持高并发, 数据量大 的问题了, 什么是分表分库? 参考这篇文章: https://juejin.im/entry/5b5eb7f2e51d4519700f7d3c 其中垂直拆分的意思,就是把一个有很多字段的表给拆分成多个表,或者是多个库上去。每个库表的结构都不一样,每个库表都包含部分字段。一般来说,会将 较少的访问频率很高的字段 放到一个表里去,然后将 较多的访问频率很低的字段 放到另外一个表里去。因为数据库是有缓存的,你访问频率高的行字段越少,就可以在缓存里缓存更多的行,性能就越好。这个一般在表层面做的较多一些。 就目前这个情况, user 表目的在于登录业务上(该项目只支持手机号登录), user_profile 表目的在于用户数据分析, 内容推送等, 该表的访问频率对于 user 表是更高的, 所以 phone 和 password 自成一家 想想也是可以的耶。

September 2, 2019 · 1 min · K8sCat