在CentOS 7中安装或升级SQLite
一、 安装SQLite
方法1:使用源码安装
从SQLite官网下载源码包。
将下载的包上传到服务器上,并解压。
进入到SQLite目录,开始编译和安装。
tar xvzf sqlite-autoconf-xxx.tar.gz
cd sqlite-autoconf-xxx
./configure
make
sudo make install xxx
请注意将“xxx”替换为实际的版本号。
方法2:使用YUM安装
打开终端,输入以下命令:
sudo yum install sqlite-devel
安装完成后,你可以通过运行sqlite3 --version来查看SQLite的版本.
二、升级SQLite
在django项目中创建应用时,有时会出现错误SQLite版本过低的问题,不如出现报错:django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17). 报错原因:sqlite版本太低,安装新版本即可。
升级SQLite具体步骤如下:
1. 从SQLite官网下载最新版本的源码包。比如:wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz(这里上官网https://www.sqlite.org自己找一下)
2. 将下载的包上传到服务器上,并解压。
3.进入到SQLite目录,开始编译和安装。
tar zxvf sqlite-autoconf-xxx.tar.gz
cd sqlite-autoconf-xxx
./configure --prefix=/usr/local
make && make install
同样,请将“xxx”替换为实际的版本号。
4. 删除旧版本的SQLite,并将新版本的SQLite链接到系统路径中。
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old_version
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
5. 更新动态链接库的配置。
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig
其中echo “/usr/local/lib” > /etc/ld.so.conf.d/sqlite3.conf ,这个命令将字符"/usr/local/lib"写入(或创建)一个文/etc/ld.so.conf.d/sqlite3.conf。这个文件是ld.so(动态链接器)的配置文件之一,它告诉ld.so在哪里查找动态链接库。 /etc/ld.so.conf.d/目录通常包含多个这样的配置文件,每个文件可能指定一个或多个库目录。当运行程序时,ld.so会检查这些配置文件以确定哪些目录应该被搜索以找到需要的共享库。
还有ldconfig是一个用于管理动态链接库缓存的程序。当新的共享库被安装或旧的库被删除时,需要运行ldconfig来更新共享库的缓存。缓存是ld.so用来加速共享库查找过程的一个数据结构。ldconfig会读取/etc/ld.so.conf以及/etc/ld.so.conf.d/目录下的所有配置文件,并创建一个缓存文件,通常位于/etc/ld.so.cache。这个缓存文件包含了所有已注册的共享库及其路径信息。运行ldconfig命令后,动态链接器会读取这个缓存文件,而不是直接读取配置文件或遍历所有可能的目录来查找共享库。这大大加快了程序的启动速度。因此,当你添加了新的库目录到配置文件后,通常需要运行ldconfig来确保这个新的目录被正确地加入到共享库缓存中。这样,新安装的库才能被系统识别和使用。
6. 通过运行sqlite3 --version来确认是否成功升级到新版本。
请注意,这些步骤可能需要root权限才能执行。另外,升级系统级别的库可能会影响依赖该库的其他软件,因此在进行升级之前,请确保你了解可能的影响,并备份重要的数据。