Centos下用cmake编译安装MySQL 5.7

安装依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

下载相应源码包

cd /usr/local/src

wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

wget http://www.mysql.com/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz

添加mysql用户

useradd -M -s /sbin/nologin mysql

预编译

tar -zvxf boost_1_59_0.tar.gz

tar-zvxfmysql-5.7.11.tar.gz

mkdir -p /data/mysql   (这里可以高手阶段用卷轴来建目录方便后期拓展大小)

chown -R mysql.mysql /data/mysql

mv boost_1_59_0 /usr/local/boost

cd mysql-5.7.11

#从MySQL 5.7.5开始Boost库是必需的

#cmake\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysql \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/boost \

-DSYSCONFDIR=/etc \

-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 \

-DENABLED_LOCAL_INFILE=1 \

-DENABLE_DTRACE=0 \

-DDEFAULT_CHARSET=utf8mb4 \

-DDEFAULT_COLLATION=utf8mb4_general_ci \

-DWITH_EMBEDDED_SERVER=1

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DSYSCONFDIR=/etc -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 \

-DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1

编译安装

make #编译很消耗系统资源,小内存可能编译通不过

make install

编译出错,删除下面文件,重新编译安装。

#rm -f CMakeCache.txt

#make && make install

启动脚本,设置开机自启动

/bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

/etc/my.cnf,仅供参考

cat > /etc/my.cnf << EOF

[client]

port = 3306

socket = /tmp/mysql.sock

default-character-set = utf8mb4

[mysqld]

port = 3306

socket = /tmp/mysql.sock

basedir = /usr/local/mysql

datadir = /data/mysql

pid-file = /data/mysql/mysql.pid

user = mysql

bind-address = 0.0.0.0

server-id = 1

init-connect = 'SET NAMES utf8mb4'

character-set-server = utf8mb4

#skip-name-resolve

#skip-networking

back_log = 300

max_connections = 1000

max_connect_errors = 6000

open_files_limit = 65535

table_open_cache = 128

max_allowed_packet = 4M

binlog_cache_size = 1M

max_heap_table_size = 8M

tmp_table_size = 16M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

sort_buffer_size = 8M

join_buffer_size = 8M

key_buffer_size = 4M

thread_cache_size = 8

query_cache_type = 1

query_cache_size = 8M

query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin

binlog_format = mixed

expire_logs_days = 30

log_error = /data/mysql/mysql-error.log

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /data/mysql/mysql-slow.log

performance_schema = 0

explicit_defaults_for_timestamp

#lower_case_table_names = 1

skip-external-locking

default_storage_engine = InnoDB

#default-storage-engine = MyISAM

innodb_file_per_table = 1

innodb_open_files = 500

innodb_buffer_pool_size = 64M

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 32M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 8M

myisam_sort_buffer_size = 8M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

interactive_timeout = 28800

wait_timeout = 28800

[mysqldump]

quick

max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M

EOF

初始化数据库

注:

之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃

"--initialize"会生成一个随机密码(~/.mysql_secret),而"--initialize-insecure"不会生成密码

--datadir目标目录下不能有数据文件

修改配置文件my.cnf

加入basedir=/usr/local/mysql

修改启动脚本mysqld

加入或修改

basedir=/usr/local/mysql

datadir=/data/mysql

启动数据库

/usr/local/mysql/bin/mysqld

--initialize-insecure

--user=mysql

--basedir=/usr/local/mysql

--datadir=/data/mysql

设置数据库密码

/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by '123456' with grant option;"

mysql 5.7源码包安装教程_MYSQL5.7源码包编译安装相关推荐

  1. mysql data文件夹恢复_【专注】Zabbix源码安装教程—步骤详解(2)安装并配置mysql...

    四.安装并配置mysql(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz #tar -xvf mysql-5.7.26.tar.gz #tar -xvf bo ...

  2. php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备

    一.实验环境准备 Rhel 7.6 x86_64(server) 192.168.163.72 Rhel 6.5 x86_64(agent) 192.168.163.61 均已配置操作安装光盘为YUM ...

  3. 135k代驾安装教程+功能模块源码+前端源码

    简介: 135k代驾安装教程+功能模块源码+前端源码 网盘下载地址: http://kekewangLuo.net/pOYRFCVcFvC0 教程: 微信公众号配置: 登录服务号,注意:必须是服务号, ...

  4. final cut pro安装教程【含软件下载包】MAC专用支持m1+m2+Intel

    final cut pro安装教程[含软件下载包] final cut pro安装教程及下载地址:点我查看 Final Cut Pro,你能以前所未有的速度和灵活性,将复杂的多机位项目组合起来.64 ...

  5. kali安装教程kali换源往kali拖拽文件

    这里写目录标题 kali安装教程 kali换源 往kali内拖拽文件 再插入个我遇见的小问题 kali安装教程 因为我安装kali时并未发生太大问题也就是E盘打开不了,被格式化而已,所以劝各位,虚拟机 ...

  6. Eclipse正版(官网下载)安装教程及如何在win7或者win10安装配置jdk1.8

    Eclipse正版(官网下载)安装教程及如何在win7或者win10安装配置jdk1.8 阿源是个女程序员啊 1.首先我们先去Eclipse官网下载eclipse安装包,官网地址:http://www ...

  7. mysql编译安装root密码_MySQL 5.7.11编译安装以及修改root密码小结

    系统是CentOS 6.7 64位的,默认MySQL5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,MySQL数据放置目录/app/local/dat ...

  8. mysql 5.6.23 源码包安装报错_Ubuntu 14.10下编译安装MySQL 5.6.23

    1. 安装环境: Ubuntu Server 14.10 MySQL-5.6.23.tar.gz 2. 安装必备的工具 sudo apt-get install make bison g++ buil ...

  9. linux系统源码安装教程,linux之源码包安装步骤

    源码:程序代码,人类可看懂的代码 编译程序:将程序代码编译成机器看懂的代码 二进制文件:经过编译程序变为二进制程序后,机器可执行的文件 make和configure: make是一支程序,会自动寻找M ...

最新文章

  1. Linux下uniq筛选
  2. Duplicate property mapping of xxx found in xx 嵌套异常,重复的属性在映射中发现。
  3. callable object与新增的function相关 C++11中万能的可调用类型声明std::function...
  4. Ie6/ie7 不支持 JSON
  5. linux下使用syslog日志调试程序快速的调试代码信息的过程
  6. Java中获取数据库中两个时间的相差秒数
  7. 解决IE中img.onload失效的方法
  8. 配置mysql使其允许外部ip进行登录
  9. HIve之DML 聚合分组应用函数 静动态分区表
  10. python脚本批量登录crt_python批量修改SecureCRT会话密码-阿里云开发者社区
  11. 免费好用的SNMP网管工具 Sugarnmstool
  12. 计算机毕业设计springboot+vue基本微信小程序的考试系统
  13. 前端面试总结之长沙五
  14. HTML表格做个人简历
  15. APP上传APP Store遇到的各种问题
  16. AI时代-人工智能入学指南
  17. angular中copy和extend用法实例
  18. 在不同的环境中编译hello world程序
  19. 数组的趣味应用-鲁智深吃馒头
  20. Groovy(Java笨狗)系列--datatypes

热门文章

  1. 三位数的茎叶图怎么看_霍山石斛哪家好?霍山石斛怎么选择?
  2. java通过jdbc登陆系统_JDBC模拟登录
  3. 自制贴纸图案大全图片_重磅!Supreme x 山本耀司联名Bogo贴纸泄露,发售确认?!...
  4. 格式化json_在Spring Boot中格式化JSON日期
  5. 解决Ubuntu,su: 认证失败
  6. Python字符串的定义与常用操作
  7. python的输入和格式输出
  8. python的垃圾回收机制和析构函数__del__
  9. 5分钟了解 Python 中的super函数是如何实现继承的
  10. python学习-使用制表符或者换行符来添加空白