CentOS7安装mysql8.0编译报错集合

以下都是我安装mysql8.0遇到的一些报错和解决方法

1、does not appear to contain CMakeLists.txt.
图片说明

原因:mysql下载的源码包不对或者没在mysql解压路径下

解决方法:下载正确的mysql源码包。

2、配置报错:Please install the appropriate openssl developer package.
图片说明

解决方法:安装openssl-devel

yum -y install openssl-devel

** 3、配置报错:Could NOT find Curses**
图片说明

解决方法:安装ncurses-devel

yum -y install ncurses-devel

4、编译报错:Please do not build in-source. Out-of source builds are highly
图片说明

原因:是它建议你不要构建源代码。

解决办法:在配置的时候加入字段:-DFORCE_INSOURCE_BUILD=1

5、配置报错:The C compiler identification is unknown
图片说明

解决办法:做一个gcc的软链接。

ln -s /usr/local/gcc/bin/gcc /usr/bin/cc

6、编译报错:/usr/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found
图片说明

因为libstdc++.so.6的库是使用的以前的老库。

解决办法:修改软链接

find / -name libstdc++.so.6
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6_old
ln -s /usr/local/gcc/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6

7、编译报错:'SYS_gettid' has not been declared in this scope
图片说明

解决方法:在该文件上添加一个头文件。

vim /usr/local/src/mysql-8.0.16/storage/innobase/buf/buf0buf.cc
#在第一行添加
#include "sys/syscall.h"

8、编译报错:‘os_compare_and_swap_thread_id’ Has not been declared in this scope
图片说明

解决办法:修改报错文件内容

vim /usr/local/src/mysql-8.0.16/storage/innobase/lock/lock0lock.cc
#将 “os_compare_and_swap_thread_id” 修改为
os_compare_and_swap_lint

9、编译报错:/usr/bin/ar: ../../archive_output_directory/libz.a
图片说明

解决方法:重新配置编译

make clean
cmake .....(你的配置参数)
make

10、编译报错:_DIAGASSERT、libedit_fgetln、__arraycount、libedit_fgetln an undefined reference
图片说明

解决方法:在各文件里加入sys.h头文件

#在文件中加入
#include <sys.h>

11、mysql登录报错:Segmentation fault

解决办法:找到源码中terminal.c文件,修改如下图,然后重新编译。
图片说明
12.启动mysql报错mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log

因为没有路径也没有权限,所以创建此路径并授权给mysql用户

mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
# 用户组及用户
chown -R mysql:mysql /var/log/mariadb/
/usr/local/mysql/support-files/mysql.server start

13.linux安装mysql后报错启动不了Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
今天安装完Mysql后,开启发生了错误:
图片说明
2、打开错误信息文件,查看错误原因是:
cat /var/lib/mysql/localhost.localdomain.err
Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
图片说明

3、‘mysql.plugin’不存在的原因是因为新安装的mysql服务后,一般需要执行数据库初始化操作 ,从而生成与权限相关的表,执行命令如下:

/usr/bin/mysql_install_db --user=mysql

4、如果报出了以下错误:
图片说明

解决方法是:安装autoconf库

yum -y install autoconf

5、接着执行

/usr/bin/mysql_install_db --user=mysql

6、数据库开启命令,就会成功啦!!!

service mysql start

图片说明

MySQL 文章被收录于专栏

MysqlDBA升级之路

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:15
点赞 评论 收藏
分享
人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务