Mysql-5.7.21 (cmake)编译安装
简介Mysql是经常使用的关系型数据库,那么使用之前需要先会安装。Mysql的安装方式有几种,本文我们主要记录下如何使用cmake进行编译安装。
一、单独安装cmake
a、下载地址
https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz
b、解压
tar xf cmake-3.11.0.tar.gz
c、进入目录
cd cmake-3.11.0
d、执行
./configure
e、编译安装
gmake && gmake install
二、安装Mysql
安装依赖包
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
1、下载mysql-5.7.21源码包(mysql-5.7.21.tar.gz)
2、解压源码包
tar xf mysql-5.7.21.tar.gz
3、进入到目录
cd mysql-5.7.21
4、创建mysql的安装目录,进入到当前目录后:
mkdir mysql-5.7.21
创建软连接:
ln -s mysql-5.7.21/ mysql
注意 后面mysql这个不需要提前创建,否则会创建到下层目录下
5、创建mysql用户和用户组
addgroup mysql
adduser -g mysql -s /sbin/nologin mysql
6、mysql-5.7版本需要下载boost_1_59_0.tar.gz
下载好后解压即可
7、配置mysql预编译参数:
cmake -DCMAKE_INSTALL_PREFIX=/apps/mysql-5.7.21 \
-DMYSQL_UNIX_ADDR=/apps/mysql-5.7.21/data/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/apps/mysql-5.7.21/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/root/boost_1_59_0
选项参数说明:
- -DCMAKE_INSTALL_PREFIX:安装路径
- -DMYSQL_DATADIR:数据存放目录
- -DWITH_BOOST:boost源码路径
- -DSYSCONFDIR:my.cnf配置文件目录
- -DEFAULT_CHARSET:数据库默认字符编码
- -DDEFAULT_COLLATION:默认排序规则
- -DENABLED_LOCAL_INFILE:允许从本文件导入数据
- -DEXTRA_CHARSETS:安装所有字符集
8、编译及安装
make -j `grep processor /proc/cpuinfo | wc -l`
make install
注意:-j参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译,经测试单核CPU,1G的内存,编译完需要将近1个小时。
三、安装错误
1、编译错误:c++: internal compiler error: Killed (program cc1plus)
解决方式:
原因:内存不足
以下网上找到的解决方案
1. 创建分区文件,大小 2G
dd if=/dev/zero of=/swapfile bs=1k count=2048000
2. 生成 swap 文件系统
mkswap /swapfile
3. 激活 swap 文件
swapon /swapfile
4. 修改 /etc/fstab 文件,新增如下内容:
/swapfile swap swap defaults 0 0
2、错误:
– Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:64 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:107 (FIND_CURSES)
cmake/readline.cmake:197 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:535 (MYSQL_CHECK_EDITLINE)
解决方法:
yum install ncurses-devel
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
想要提速你的wget下载工具吗,那么请跟我一起安装mwget工具,一起试试是否能进行下载提速哟!
如何通过查询语句来查询某个数据的排名,本文主要介绍MySql和MongoDB两种数据库的查询方式来进行排名。
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。
默认情况下 pip 使用的是国外的镜像,在下载的时候速度非常慢,本文我们介绍使用国内源对pip进行加速。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题