Ubuntu C++ ACL框架和MYSQL类型冲突问题以及卸载更换MySQL版本

Ubuntu中出现MYSQL类型重定义的解决方法

先回顾一下Ubuntu中C++ACL框架的安装方法

UbuntuC++安装ACL是为了项目开发的时候方便框架调用比自己实现要方便很多,学过Java的小伙伴肯定了解

https://github.com/acl-dev/acl -> ~/Projects/acl-master.zip
cd ~/Projects
unzip acl-master.zip
cd acl-master
make
sudo make install
sudo mkdir -p /usr/include/acl-lib
sudo cp -rf ./dist/include/* /usr/include/acl-lib
sudo cp -rf ./dist/lib/linux64/* /usr/lib

回顾一下MySQL安装方法

sudo apt-get install mysql-server
数据库root用户的口令:123456
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

一般这里如果安装是MySQL8.x的版本就会有类型冲突
终端窗口输入:mysql -V 查看版本 打来MySQL来看版本

编译时冲突原因

MYSQL类型冲突
我的是Ubuntu16系统也是deepin一样的解决方式,一般这里如果安装是MySQL 8.x的版本就会和ACL有类型冲突
终端窗口输入:mysql -V 查看版本 或者登上MySQL来看版本,是MYSQL8.x的就只有把MYSQL8.x卸载了,安装5.x的版本,或者等ACL库更新也许作者会解决这个问题。 ACL的作者是郑树新(微博:http://weibo.com/zsxxsz)

换个MySQL5.x的版本再次编译一下,就不会出现MySQL库和ACL框架都定义了名为MYSQL这个数据类型而导致冲突报错了。
改MySQL或者ACL的库函数命名不现实,只有这样降低版本了。

卸载MySQL 8.x版本并安装MySQL5.x版本的方式

先卸载MySQL 8.x

终端窗口执行以下代码
sudo apt-get autoremove --purge mysql-server

弹出界面选择卸载
选是即可卸载掉MySQL 8.x的版本
也可以参照其他的文档博客卸载掉,不同的版本和系统可能卸载的方式不一样

再清清理残留数据 终端执行以下代码
dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

再安装MySQL 5.x

这时候用sudo apt-get install mysql-server 安装的话可能还是MySQL8.x的版本
可以试试用API的安装方式

通过APT方式安装
说明:此种方式完全参考官方提供的教程链接: https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/
下载官方提供的mysql-apt-config.deb包进行APT源设置,下载地址:https://dev.mysql.com/downloads/repo/apt/

不想登录oracle账号的这是我的百度云链接
链接:https://pan.baidu.com/s/1FopERWvaJNBIjIh9fiL7KQ
提取码:xx1i

Ubuntu中有了这个deb格式的安装包后
在终端中执行 sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb 安装这个包
如图:
终端执行安装这个包

先选下面的选项
选这里设置版本
再选择一下的5.7版本的MySQL,如图:
选择版本
再回车确定,退出到一开始选择界面选OK回车退出,就设置好了,这时候再终端中执行
sudo apt-get install mysql-server 就是默认安装的MySQL5.x版本的了。

mysql -V 查看一下 就是MySQL5.7的版本了。
查看mysql的版本

后续的MySQL配置
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev


到这里就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄猿欲度愁攀援

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值