分类 工作备忘 下的文章
mysql 库文件路径迁移 (ubuntu 20.04)
事因手误安装的时候敲错了路径,发现的时候大部分环境已经部署好了,需要在安装之后修改路径
以下备忘是lnmp的,其他安装方式类似,重点在标红的步骤
1.停止服务
lnmp stop mysql
如果是手动安装,用 systemctl stop mysql
2.复制库文件到新的目标路径
cd /homw
cp -a -r db /home/db
mv db db_bak
这里就是问题所在(掩面)手抽筋把 home 敲成 homw 了...
重点就在这里 cp -a -r
必须加上 -a
确保目录权限也复制
最后的mv 改名只是为了把原路径改掉,确认路径被修改后是否生效,避免下一步修改配置错误依然从原目录存取但未能发现问题
3.修改配置文件
vi /etc/my.cnf
若非lnmp安装这个配置文件可能不是这个路径或名字,根据实际情况而定
把相关的 datadir
, innodb_data_home_dir
, innodb_log_group_home_dir
等选项修改为新路径
4.重启mysql服务
lnmp restart mysql
如无报错修改完成,观察一段时间无问题后可以把原路径的 db_bak
删除。
Python: 汉字简繁转换
设想在入群验证的机器人中要求新用户输入特定的成语,由于用户可能来自港澳台或海外地区的华人,所以需要考虑到他们的输入法是繁体的情况。
zhconv
是找到的比较简易的解决办法, 而且 python2 / 3 都有支持
安装方法
pip3 install zhconv
使用
from zhconv import convert
str_big5 = '恭喜發財'
str_zhcn = convert(str_big5, 'zh-hans')
print(str_zhcn)
恭喜发财
参考文
php 数组 key 的参数类型
php中对变量类型在很多情况下并不要求严格的类型定义和适配,而是在运算过程中按需尝试自行转换。
$a = 1 + '2' // $a = 3
2 == '2' //true
2 === '2' //false
这带来了一个问题, 作为数据的下标或说key,是否也区分变量类型。
先说结论:是。 看下面演示
$arr[] = '1st val';
$arr[2] = 'int';
$arr["key"] = 'value';
$arr['2'] = 'str';
var_dump($arr);
输出:
array (size=3)
0 => string '1st val' (length=7)
2 => string 'str' (length=3)
'key' => string 'value' (length=5)
$arr[2]
与 $arr['2']
指的是同一个变量,值被覆盖了。需要注意避免这种情况发生。
*只是为了过笔备忘,没有特别的主旨或价值单独成篇。
ADA:CNCLI 升级
上个epoch cntools没有采集到 leader log 数据,看不到预测的出块数据。
一开始没有留意,以为只是后台服务偶然宕掉了
用命令重启了就没管
systemctl restart cnode-cncli-sync.service
结果这个epoch又是没有,查状态又是 code=exited 而且重启5秒后状态又变失败
手动执行
$CNODE_HOME/scripts/cncli.sh sync
得到以下提示,版本太旧需要更新
ERROR: cncli v2.0.2 installed, minimum required version is 2.1.0, please upgrade to latest version
解决方法——和安装 cncli 一样,再运行一次(升级和安装相同命令)
prereqs.sh -c
等待自检下载编译再次重启服务即可(当前已经升级到3.1.3)