体验
这个五一假期真的过的无比失败!!!
一整天只吃了两个粽子,磨蹭到六点多才去吃晚饭,天旋地转。这次粽子倒是没有像之前冷冻的,全散掉。
不知不觉一天已经过去,天都黑了
dors
vercel 的数据库环境变量也配成成都的服务器,以后就用这个作为数据源。完了就可以把服务器 ip 作为备用服务,在 dors 应用台配个入口(域名用不了,已经被拦截了)。备案可以往后放一放。
发现
一个坏习惯:外出从家里拿走的东西,回家后很久不带回来,留在车上导致想用的时候没有。例如水杯
已经忘了昨天究竟有没有睡着,只记得一直折腾到了两点。sql 一直导不出来,几分钟过去,文件却只见到几十 KB。服务器安装 mariadb 后也是遇到各种问题,添加用户后无法登录等等。另外发现系统 root 用户好像不需要用户名和密码就能登录 mysql。看日志显示 root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. 这个应该是软件包初始化的时候干的,其实还可以选用 --initialize 来生成随机密码。另外 Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead' 这个不知道怎么迁移。
从安全角度建议修改为密码认证:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
今早利用用 --ignore-table 和 --tables 两个参数把数据库拆成了两部分导出,却意外地很快就导出完成了,非二进制数据部分好像只有三十几兆,而文件表导出了三百多兆 。
但尝试导入时,发生错误:Unknown collation: 'utf8mb4_0900_ai_ci' ,结果查到是 mysql 版本不对,服务器上默认装的 mariadb 10.5.8 并非对应 mysql 8.0,于是果断卸载重新安装了 mysql。mysqld 却又启动不起来,systemctl 看不到什么有用的信息,用 cat /var/log/mysql/mysql.log 来看日志才发现是 Data Dictionary initialization failed 错误,应该是原有的数据目录没清空的原因。用 rm -rf /var/lib/mysql/ 删除后,再重装 mysql 解决。
Linux系统中 /var目录主要用于存放系统运行时产生的可变数据文件。比如日志文件(记录系统运行状态、错误信息等)、临时文件(程序运行过程中产生的临时数据)、邮件内容、打印队列等。
好容易将数据导进去,却发现 ECS 的性能不足以构建 nextjs 项目,一构建就内存溢出。于是只好先装 wsl 在本地构建 docker 镜像给服务器用,后来又想到利用 github 自动构建,想不通为什么云上比本地还快,按性能来讲不应该呀,不过本地主要是装包都装很久。
关于 docker
有个问题还是没解决,我的windows docker-desktop 中,不绑定宿主机端口,而直接启动一个容器的话,172.17.0.3 这样的虚拟网址无法访问。
仅仅是写个环境变量参数就把我折腾的够呛,原来环境变量参数必须指定在镜像之前,被这奇葩规定整惨了
docker run -d -p 80:3000 -e "HTTP_BASIC_AUTH=xxx:yyy" -e 'DATABASE_URL=mysql://dors:xxxxxx@8.xxx.xxx.xxx/dors?connection_limit=2&connect_timeout=4000' 4abeb07d704a
疑问:docker mysql 怎样预置数据?