前言

最近在研究觅思文档(MrDoc)这款笔记软件,这款笔记软件本身UI界面做的我还是比较喜欢的再加上它的开源版本可以实现私有化部署,于是我决定将MrDoc部署到我自己的阿里云服务器上,根据官方文档使用一键部署方式部署完成之后,继续阅读文档的时候发现可以自定义存储的数据库,MrDoc默认的数据库使用的sqlite3,我准备把它换成mysql数据库,于是就有了这次换数据库之旅遇到的坑。

异常信息图片

解决方案

1、首先根据错误提示,更新一下pip和setuptools版本

1
2
3
4
# 更新pip
/usr/local/python3/bin/python3.10 -m pip install --upgrade pip
# 更新setuptools
/usr/local/python3/bin/python3.10 -m pip install --upgrade setuptools

2、继续尝试安装mysqlclient

1
pip3 install mysqlclient

此时报错内容已经和第一次执行这个命令时的内容不一样,报错内容为:

image-20220727214945667

这里的错误应该是提示没有mysql-devel的环境,所以需要安装mysql-devel,接下来解决mysql-devel的问题

3、解决缺少mysql-devel的问题

1、卸载系统自带的mariadb(如果有)

1
2
# ⾸先查询已安装的mariadb安装包
rpm -qa | grep mariadb

image-20220727215915198

1
2
# 删除列出的所有包
yum -y remove mariadb-libs-5.5.68-1.el7.x86_64

2、下载mysql-devel的rpm安装包

1
2
3
4
5
6
# 下载对应mysql版本的安装包
wget https://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-libs-8.0.29-1.el7.x86_64.rpm
wget https://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-devel-8.0.29-1.el7.x86_64.rpm
# 安装
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-8.0.29-1.el7.x86_64.rpm --nodeps --force

3、查看是否安装成功这两个包

1
rpm -qa | grep mysql

image-20220727222643810

4、再次尝试安装mysqlclient

image-20220727222806477

完成收工。

后记

这次遇到的坑也是自己各种尝试,各种格式化云服务器磁盘,查阅资料慢慢摸索出来的,也是一次非常不错的问题解决体验。