Mysql5.7编译安装

注意:自mysql5.7版本开始编译安装需要boost库
你可以自己安装boost库,也可以下载带有boost源码的MySQL版本。

基本依赖条件
cmake bison-devel libnuma-dev ncurses-devel zlib(这可能不全但重点不在这里,你可以根据编译的提示进行处理,这是Ubuntu下相关包名,yum或其他内核版本可能不一样请自行下载安装)

cmake . -DCMAKE_INSTALL_PREFIX=/www/soft/mysql #这个是安装路径熟悉的都应该知道 \
-DMYSQL_DATADIR=/www/soft/mysql/data \
-DSYSCONFDIR=/www/soft/etc #这个是我的my.cnf文件存放的路径,根据情况自行设置\
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_BOOST=boost #这个需要注意的,这个是带boost库版本的MySQL(自己安装的要写自己的path)\
-DENABLE_DOWNLOADS=1 #这个是为了防止自己有缺少的包让其自动下载(如果解释有误请高手指点)

接下来执行常见的安装编译安装代码

make
make install

#初始化MySQL
###如下是官方提供的文档,我使用的版本是5.7.17所以选用了下方命令
shell> scripts/mysql_install_db --user=mysql# MySQL 5.7.0 to 5.7.4
shell> bin/mysql_install_db --user=mysql    # MySQL 5.7.5
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up
###
bin$ mysql --initialize --user=ubt
bin$ mysql_ssl_rsa_setup

#初始化完成后将MySQL服务(support-files/mysql.server)装在系统相应目录就OK了
#系统服务目录
mysql/support-files$ cp mysql.server /etc/init.d/mysql
mysql/support-files$ update-rc.d mysql defaults #我Ubuntu16.04需要了这两条命令
mysql/support-files$ service mysql start

#如果是Ubuntu没有成功安装服务, 请查看update-rc.d命令的使用
#查看update-rc.d的参数
$ update-rc.d -h
usage: update-rc.d [-n] [-f] remove
       update-rc.d [-n] defaults [NN | SS KK]
       update-rc.d [-n] start|stop NN runlvl [runlvl] [...] .
       update-rc.d [-n] disable|enable [S|2|3|4|5]
-n: not really
-f: force

我启动服务后使用mysql(客户端命令)连接时遇到了这样的错误。

这里写图片描述

有人说要修改terminal.c(没记清是不是这个文件)的一个变量,我试过了我遇到的情况反正是不适用。
我经过我几次测试发现是在我编译时少了某个包,但我还没算上入门不太清楚,
我的解决方案就是在编译时增加了 -DENABLE_DOWNLOADS=1 这一项。

我在网上查资料是看到这篇文章觉得很不错,保留个地址在这里:
http://www.cnblogs.com/galengao/p/5755788.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值