记录一次线上环境配置以及测试
最近几天再忙学校自动填表的线上项目部署,遇到了不少问题,为防止以后忘记,在此特地记录一下。
mysql插入操作报错
报错信息为
1 | :incorrect value .......... for column 1 |
中间省略号为一串乱码,一般这种问题就和编码相关,去查了一下,mysql默认编码为latin1,插入中文数据会报错,需要对表和数据库的编码进行修改。
去stackoverflow上面查询对应的解决方案
1 | #For database |
由于历史原因,mysql的unicode编码为3个字节,所以得将字符编码设置为utf8mb4(话说我本地的mysql好像版本新一些8.0,不用改编码也能跑,centos7给👴爬)。
这里出现了一个COLLATE字段,可以简单理解为字段组织排序的方式,ci尾缀代表case insensitive。更详细的可以参考掘金的这篇博客
修改字符集之后插入成功
ssh远程连接+debug过程
按理来说这个其实比较简单,就是按照
1 | $:ssh username@ip_address |
初次输入密码,在本地生成公钥私钥文件
1 | ssh-keygen -t rsa -b 4096 |
更多参数可以查手册,默认是2048位的。之后通过scp命令传输文件将公钥传输到.ssh文件夹下面,并且传输内容到authorized_keys中。
1 | scp local/path/.ssh/id_rsa.pub username@ip_address: remote/path/.ssh/uploaded_file_name |
On remote side
1 | cat ~/.ssh/uploaded_file >> ~/.ssh/authorized_keys |
chmod stands for change mod, which means changes to different access level.
突然写起英文2333,这上面的步骤都很简单,但是在我原来的PC上都不管用,最后的原因是因为我的$HOME变量中含有中文。所以问题的解决方案就是修改中文用户名为英文,具体过程就不再啰嗦了。
大致就是注销当前账号,使用administrator登录,修改用户文件夹和注册表中的路径名字,在切换回来。就可以不用使用密码远程连接主机了。
额外啰嗦
为了使主机更加安全,可以禁用密码验证,修改/etc/ssh/sshd_config文件,将password authentication修改为false,记得修改之前备份文件.
1 | sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak |
本来还想把cron定时运行脚本以及grep查找指令也写一下,时间太晚了就先写这么多了。
记录一次线上环境配置以及测试