centos下编译安装mysql报错解决方案

yizhihongxing

下面是在CentOS下编译安装MySQL出现错误的解决方案攻略:

1. 安装编译所需的依赖库

在进行MySQL的编译安装前,需要安装一些必要的依赖库。执行以下命令安装:

yum install -y gcc gcc-c++ ncurses-devel cmake autoconf libtool libaio

2. 下载MySQL的源码包

下载MySQL的源码包,在官网上选择合适的版本进行下载,可以使用wget命令,例如:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29.tar.gz

3. 解压源码包并进行配置

解压源码包,并进入源码包所在目录,执行以下命令进行配置:

tar -zxvf mysql-5.7.29.tar.gz
cd mysql-5.7.29
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DWITH_BOOST=/usr/local/boost \
    -DSYSCONFDIR=/etc \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_READLINE=1 \
    -DWITH_SSL=system \
    -DWITH_ZLIB=system

其中,-DCMAKE_INSTALL_PREFIX指定了MySQL安装路径,-DWITH_BOOST指定了Boost库的安装路径,-DSYSCONFDIR指定了配置文件的路径,其他的是一些常用配置项。

4. 进行编译和安装

执行以下命令进行编译和安装:

make && make install

5. 配置MySQL

执行以下命令进行配置:

cd /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

6. 启动MySQL

执行以下命令启动MySQL:

bin/mysqld_safe --user=mysql &

如果出现以下错误:

Starting mysqld daemon with databases from /usr/local/mysql/data
2018-04-12T10:02:14.067788Z mysqld_safe Logging to '/usr/local/mysql/data/servername.err'.
2018-04-12T10:02:14.367451Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
2018-04-12T10:02:14.399128Z mysqld_safe mysqld from pid file /usr/local/mysql/data/servername.pid ended

则需要执行以下命令安装相应的库:

yum install -y ncurses-devel

如果出现以下错误:

Starting mysqld daemon with databases from /usr/local/mysql/data
2018-04-12T10:06:47.573063Z mysqld_safe Logging to '/usr/local/mysql/data/servername.err'.
2018-04-12T10:06:47.874128Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
2018-04-12T10:06:47.942250Z mysqld_safe mysqld from pid file /usr/local/mysql/data/servername.pid ended

则需要查看错误日志文件,命令如下:

cat /usr/local/mysql/data/servername.err

根据错误日志文件中的提示进行排错。

至此,CentOS下编译安装MySQL报错的解决方案攻略完成。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos下编译安装mysql报错解决方案 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 详解MySQL系统变量的查看和修改

    MySQL系统变量是MySQL服务器的某些配置参数,可以通过查看和修改这些变量来调整服务器的行为或优化性能。本文将详细介绍MySQL系统变量的查看和修改方式,并结合实例说明。 查看MySQL系统变量 通过SHOW VARIABLES命令查看MySQL系统变量 在MySQL命令行客户端中,使用“SHOW VARIABLES”命令可以列出当前MySQL服务器的所…

    MySQL 2023年3月9日
    00
  • 五、mysql中sql语句分类及常用操作

    1.sql语句分类: DQL语句  数据查询语言  select DML语句  数据操作语言  insert delete update  DDL语句  数据定义语言  create drop alter TCL语句  事务控制语言  commit rollback 2.创建一个新的数据库,create database database_name; 删除一…

    MySQL 2023年4月13日
    00
  • 8款数据迁移工具选型,主流且实用!

    前言:ETL(是Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理、转换、迁移的场景。今天特地给大家汇总了一些目前市面上比较常用的ETL数据迁移工具,希望对你会有所帮助。   一、Kettle   Kettle是一款国外开源的ETL工具,纯Java编写,绿色无需安装,数据抽取高效…

    MySQL 2023年4月19日
    00
  • MySQL怎样将子查询修改为表连接

    将子查询修改为表连接的好处是可以提高查询效率和可读性。子查询需要执行完整的子语句,然后将结果作为内存中的表进行连接操作;而表连接只需要执行一次查询,将两个表按照条件关联起来,比较快速、高效。 下面提供一个MySQL子查询修改为表连接的示例: 原始查询语句: SELECT * FROM users WHERE user_id IN (SELECT user_i…

    MySQL 2023年3月9日
    00
  • mysql开启慢查询(EXPLAIN SQL语句使用介绍)

    下面是mysql开启慢查询以及使用EXPLAIN SQL语句的完整攻略。 什么是慢查询 慢查询是指在mysql数据库中,执行时间超过一定时间阈值的查询操作,一般认为执行时间超过一秒的查询为慢查询。慢查询的原因可能是表设计不合理,查询语句不够优化,索引缺失等。 因此,在进行web开发时,我们需要对慢查询进行优化,提高网站的性能和用户体验。 开启慢查询功能 在m…

    MySQL 2023年5月19日
    00
  • MySQL错误日志与通用查询日志图文详析

    MySQL 错误日志与通用查询日志图文详析 MySQL 错误日志和通用查询日志是优化 MySQL 数据库性能和调试错误时非常有用的工具。在本文中,我们将为您介绍如何开启、使用和分析 MySQL 错误日志和通用查询日志。 什么是MySQL错误日志? MySQL 错误日志是记录MySQL数据库服务器运行时产生的所有错误的日志文件,包括服务器崩溃、连接错误、权限错…

    MySQL 2023年5月18日
    00
  • Mysql Row_Format 参数讲解

    今天更改数据引擎的时候,突然出现了 Table storage engine for ‘#sql-3e9_132’ doesn’t have this option 这样的提示: 通过搜索,发现了一些端倪,下面是对于Row_Format参数的讲解: 在MYSQL中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这…

    MySQL 2023年4月16日
    00
  • 【数据库】9.0 MySQL入门学习(九)——获得数据库和表的信息、日期计算、查询、选择特殊列

    1.0 SELECT语句用来从数据表中检索信息。   SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to_select指出你想要看到的内容,可以是列的一个表,或*表示“所有的列”。 which_table指出你想要从其检索数据的表。 WHERE子句是可选项,如…

    MySQL 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部