ubuntu20 编译安装 alisql 5.6.32 报错:
/srv/mysql/src/sql/sql_acl.cc:3071:59: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
3071 | if (combo->plugin.str == NULL || combo->plugin.str == '\0')
| ^~~~
make[2]: *** [sql/CMakeFiles/sql.dir/build.make:962: sql/CMakeFiles/sql.dir/sql_acl.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:5081: sql/CMakeFiles/sql.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
C语言中 单引号和双引号的区别, "C" 表示的是一个字符串的收地址,'C' 表示的是一个字符;
此问题将 单引号的 '\0' 改成 双引号的 "\0"
# 我的mysql安装目录:/srv/mysql; 数据目录:/srv/data;
if [ -f /srv/mysql/src/sql/sql_acl.cc ];then
# 取出 3071行的内容
tem=`sed -n '3071p' /srv/mysql/src/sql/sql_acl.cc