由于mariadb不支持json操作符->>,只得卸载mariadb,并安装mysql

1.玛莉亚(maria)不喜欢->>

今天我的一个基于mysql的程序,在mariadb上跑,结果报错了,查了一下,原来是不支持如下sql:

SELECT object.id as u1_rva_object_id, 
object.no as u1_rva_object_no, 
object.name as u1_rva_object_name, 
object.data->>'$.propNameIndex' as u1_rva_object_prop_name_index, 
FROM rva_object `object` WHERE (object.id = 'rva_ceshi')

这个sql有个特殊的操作符 ->> ,是操作json类型的数据库字段data的,获取其json属性propNameIndex。

这种操作在mysql5.7是支持的妥妥的,但是到了mariadb10.2.*,却是折戟沉沙了。

于是,我只能在CentOS7上干掉mariadb,重装mysql5.7了。

2.下载mysql5.7

MySQL官网下载地址

下载需要注册oracle账号,所以无法在CentOS上下载,只能在windows机器上下载,然后再上传到CentOS机器上。

如何上传我就不多说了,请参考我之前的文档中,WinSCP工具的安装和使用:

在centos7上安装开发环境(jdk8、mariadb和tomcat9)​​​​​​

3.安装mysql

3.1.解压

我的mysql上传路径:/home/software/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz

tar zxvf /home/software/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql

3.2.跟玛莉亚say bye bye

systemctl stop mariadb
yum remove mariadb-server

3.3.创建用户组和用户

# 创建组
groupadd mysql

#创建用户
useradd -r -g mysql mysql

其实之前的玛莉亚已经创建了上述用户和组,所以不执行也可以,但如果是全新安装mysql,则还是需要!

这样做是出于安全性的考虑,给mysql数据库创建专有用户,该用户只能访问mysql目录,不能访问系统其它目录

如果直接用root初始化mysql,连接mysql时会报错:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

3.4.给mysql目录指定专有用户和用户组

# 首先创建data目录:

mkdir /usr/local/mysql/data

# 指定用户和用户组:

cd /usr/local

chown 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值