snmoney@gmail.com 发布的文章

事因手误安装的时候敲错了路径,发现的时候大部分环境已经部署好了,需要在安装之后修改路径

以下备忘是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 删除。

设想在入群验证的机器人中要求新用户输入特定的成语,由于用户可能来自港澳台或海外地区的华人,所以需要考虑到他们的输入法是繁体的情况。

zhconv 是找到的比较简易的解决办法, 而且 python2 / 3 都有支持

安装方法

pip3 install zhconv

使用

from zhconv import convert

str_big5 = '恭喜發財'
str_zhcn = convert(str_big5, 'zh-hans')
print(str_zhcn)

恭喜发财

参考文

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'] 指的是同一个变量,值被覆盖了。需要注意避免这种情况发生。

*只是为了过笔备忘,没有特别的主旨或价值单独成篇。

吃过几家地沟油苍蝇馆拉肚子的人逢人就说:
中餐垃圾,
西餐牛逼
西餐才能量化厨艺
西餐成分热量可用营养学解构
西餐宇宙无敌

中医黑 的喷点