2024年7月

U-NAS系统自带的MYSQL。
用mysql连接上,执行show tables,是能看到user表的。
但是更新密码,就报错。

ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

解决方案:

1. 检查 mysql.user 是否是视图
首先,检查 mysql.user 是否是视图。你可以使用以下命令:

SHOW FULL TABLES IN mysql WHERE TABLE_TYPE = 'VIEW';

2. 查看视图定义
如果 mysql.user 是视图,可以通过以下命令查看视图的定义:

SHOW CREATE VIEW mysql.user;

3. 检查权限
确保你有足够的权限来更新 mysql.user 表。你可以查看当前用户的权限:

SHOW GRANTS FOR CURRENT_USER();

执行了查看视图之后,

返回如下信息:

MariaDB [mysql]> SHOW CREATE VIEW mysql.user\G;
*************************** 1. row ***************************
                View: user
         Create View: CREATE ALGORITHM=UNDEFINED DEFINER=mariadb.sys@localhost SQL SECURITY DEFINER VIEW user AS select global_priv.Host AS Host,global_priv.User AS User,if(json_value(global_priv.Priv,'$.plugin') in ('mysql_native_password','mysql_old_password'),ifnull(json_value(global_priv.Priv,'$.authentication_string'),''),'') AS Password,if(json_value(global_priv.Priv,'$.access') & 1,'Y','N') AS Select_priv,if(json_value(global_priv.Priv,'$.access') & 2,'Y','N') AS Insert_priv,if(json_value(global_priv.Priv,'$.access') & .........省略

从视图定义中可以看出,mysql.user 视图基于 global_priv 表并从其中提取数据。因此,要更新 mysql.user 视图中的数据,需要直接更新 global_priv 表。

更新 global_priv 表

根据 mysql.user 视图的定义,authentication_string 存储在 global_priv 表的 Priv 列的 JSON 字段中。你需要使用 JSON 操作来更新它。

USE mysql;

-- 更新密码和插件
UPDATE global_priv 
SET Priv = JSON_SET(Priv, '$.authentication_string', '*E9999.......................EEEEE', '$.plugin', 'mysql_native_password') 
WHERE User='root' AND Host='localhost';

-- 刷新权限
FLUSH PRIVILEGES;

-- 检查更新是否成功
SELECT User, Host, JSON_UNQUOTE(JSON_EXTRACT(Priv, '$.authentication_string')) AS authentication_string, JSON_UNQUOTE(JSON_EXTRACT(Priv, '$.plugin')) AS plugin
FROM global_priv
WHERE User='root' AND Host='localhost';

1,ColorOS 12是无法解锁的,要解锁必须先降级。
2,ColorOS 12版本,以前是区分氢氧系统的,国行叫 氢 ,海外叫 氧 。所以降级成11版本,即降级到 氢 11 。
3,https://yun.daxiaamu.com/OnePlus_Roms_2/%E4%B8%80%E5%8A%A07%20Pro/%E9%99%8D%E7%BA%A7%E5%8C%85%E6%B0%A2OS%2011.0.5.1/OnePlus7ProHydrogen_21.H.42_OTA_0420_all_2112212058_downgrade_for_ColorOS_0afdf3c54a0f464a.zip?preview

4,解锁之后就是常规流程了。
下载magisk的APK,patch,安装。
https://github.com/topjohnwu/Magisk/releases/download/v27.0/Magisk-v27.0.apk

以前的是25版本,升级起来比较困难,想着直接跨版本升级吧。
结果发现,数据结构都不一样。

想着重新安装一个,重新扫描文件,入库吧。
29版本把这个files:scan的功能还给删了。卧槽。

又开始安装25.0.13(25的最新版),结果发现跟我以前的不一样了。
填写数据库,必须用MYSQL的root账号,然后自动创建一个oc_admin的mysql账号,这个应用后续会使用oc_admin账号。
因为我之前不知道啊,我还给专门创建了一个mysql账号,一直报错。shit!

好多的插件,安装过程中报错,其实是因为有墙,但是又不明确告诉你是网络问题。只能看日志,才知道。也没有明确的设置代理的地方。

外地户口的人想要在北京领取养老金,需要满足以下条件:

  1. 达到法定退休年龄

    • 男性60周岁,女性管理岗位(专业技术岗)55周岁,女性工人岗位50周岁。
  2. 在北京建立基本养老保险关系

    • 参保人跨省流动到北京就业,且男性50周岁前、女性40周岁前在北京缴纳职工基本养老保险费。
  3. 累计缴费年限

    • 基本养老保险全部累计缴费年限满15年,其中在北京的缴费年限需满10年。
  4. 基本养老保险关系不在户籍地

    • 达到法定退休年龄时,基本养老保险关系不在户籍地。
  5. 北京为其最后一个基本养老保险缴费满10年的地方

    • 即在北京的缴费年限是最后一个满10年的地方。
  6. 由单位办理退休

    • 目前非京籍户口在北京办理退休,需要由参保单位提出申请。
  7. 社保账户不是临时账户

    • 男性50周岁后,女性40周岁后缴纳的即为临时账户。因此,男性50周岁前,女性40周岁前,需要在北京已经参保。
  8. 提前退休条件

    • 因病(非因公)经过劳动能力鉴定完全丧失劳动能力的参保人,符合上述条件可以申请提前领取养老金。
    • 满足特殊工种提前退休条件的参保人,男满55周岁、女满45周岁,可以申请提前领取养老金。
  9. 办理退休手续

    • 有用人单位的非京籍参保人由用人单位为其申报办理相关手续。
    • 没有用人单位的非京籍参保人可以将养老保险关系转移至在京最后缴费单位注册地所在街道(乡镇),由街道(乡镇)政务服务中心为其申报办理相关手续。

这些条件确保了非京籍人员在北京能够顺利领取养老金。具体的政策和操作流程可能会有所变化,建议在办理前咨询当地的人力资源和社会保障部门。

使用教程
1,为了加速镜像拉取,使用以下命令设置registry mirror

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1panel.live/",
        "https://hub.rat.dev/",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.icu"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2,使用DockerHub Proxy,以下以 hub.rat.dev 为例:可以根据列表自行替换

docker pull hub.rat.dev/library/mysql:5.7

说明:library是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名