ElasticSearch Mongo MySQL文档存储及检索对比
ElasticSearch Mongo MySQL文档存储及检索对比。
测试环境:
1. 硬件配置:2核2G内存
2. 部署方式:Docker
3. CentOS 8.4
4. PHP 7.4.23
Home of Little Jelly
ElasticSearch Mongo MySQL文档存储及检索对比。
测试环境:
1. 硬件配置:2核2G内存
2. 部署方式:Docker
3. CentOS 8.4
4. PHP 7.4.23
PHP中使用ElasticSearch。
composer安装elasticsearch
composer require elasticsearch/elasticsearch
MySQL全文检索解析器ngram自版本5.7.6可用。
ngram_token_size变量
`ngram_token_size`默认为2,表示按最小两个字来分词,比如”十六”,单个词如”六”是检索不出来的,需要将`ngram_token_size`设置为1。
MySQL8引入了一些新特性,也有一些改动,升级的时候要注意下。
Authentication 身份认证
身份认证时默认使用的是`caching_sha2_password`,而之前的版本是`mysql_native_password`,老的程序不兼容,比如MySQL管理工具`Sequel Pro`等。
PHP要使用XdevAPI扩展连接MySQL8,首先要安装MySQL8,而且需要为PHP安装配置`mysql_xdevapi`扩展,见之前的教程[PHP8安装MySQL xdevapi扩展](https://www.pimspeak.com/php8-mysql-xdevapi-extension.html)。
装好之后就可以连接了。
示例代码
Nginx PHP安全配置
1. 错误显示
配置php.ini
要在PHP中使用MySQL8的文档存储Document Store,需要配置`mysql_xdevapi`扩展。配置过程比较复杂,依赖颇多,详细步骤如下。
环境:CentOS8 + PHP8 + MySQL8
首先安装gcc
Docker下的CentOS8安装php7和php8版本,php-fpm都启动不起来,报错
php-fpm: error while loading shared libraries: libonig.so.5: cannot open shared object file: No such file or directory failed
在Docker中使用MySQL还是很方便的。
MySQL 5.7版本创建命令
MySQL默认只能从本机访问,如果要允许用户外网访问,需要修改相关权限。 先使用MySQL自带的终端命令登录 mysql -uroot -p 成功后切数据库mysql,并为相关用户修改权限,这里以root为例 use mysql; update user set Host='%' where Host='localhost'; grant all privileges on *.* to 'root'@'%'; flush privileges; 执行完后就可以外网访问了。 点击量: 459