今天给小伙伴们介绍一下Mysql5.7源码安装,在安装过程中还是碰到了一些问题,下面介绍安装步骤时,会告诉大家问题在哪儿,怎么解决的,废话不多说,下面就可以说说安装全过程

1.创建用户

groupadd mysql

useradd -d /home/mysql -g mysql mysql

echo "mysql123" | passwd --stdin mysql

2.修改limit参数值

echo "* soft nofile 65536" >> /etc/security/limits.conf

echo "* hard nofile 65536" >> /etc/security/limits.conf

3.安装依赖包

yum install -y cmake gcc gcc-c++ ncurses-devel bison zlib libxml openssl openssl-devel

4.创建目录

mkdir -p /u02/mysql

mkdir -p /u02/conf

mkdir -p /u02/data/3308

mkdir -p /u02/log/3308/iblog

mkdir -p /u02/log/3308/binlog

mkdir -p /u02/run/3308

mkdir -p /u02/tmp/3308

chown -R mysql:mysql /u02

chmod -R 755 /u02

5.下载源码包

wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.26.tar.gz

6.源码编译安装

cmake \

-DCMAKE_INSTALL_PREFIX=/u02/mysql \

-DMYSQL_DATADIR=/u02/data/3308 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=yes \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/u02/run/3308/mysql.sock \

-DMYSQL_TCP_PORT=3308 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/local/boost \

-DSYSCONFDIR=/etc \

-DWITH_READLINE=on

这里对每个编译参数都解释一下其作用

##安装目录

DCMAKE_INSTALL_PREFIX=/u02/mysql

##数据存放目录

DMYSQL_DATADIR=/u02/data/3308

##默认数据库字符集

DDEFAULT_CHARSET=utf8

##新建数据库默认字符集

DDEFAULT_COLLATION=utf8_general_ci

##安装所有扩展字符集

DEXTRA_CHARSETS=all

##支持 SSL

DWITH_SSL=yes

##是否建立了嵌入式服务器

DWITH_EMBEDDED_SERVER=1 \

##是否允许本地文件导入

DENABLED_LOCAL_INFILE=1 \

##存储引擎

DWITH_MYISAM_STORAGE_ENGINE=1 \

DWITH_INNOBASE_STORAGE_ENGINE=1 \

DWITH_ARCHIVE_STORAGE_ENGINE=1 \

DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

DWITH_FEDERATED_STORAGE_ENGINE=1 \

DWITH_PARTITION_STORAGE_ENGINE=1 \

##sock文件路径

DMYSQL_UNIX_ADDR=/u02/run/3308/mysql.sock

##数据库访问端口

DMYSQL_TCP_PORT=3308 \

##MySQL5.7.5必须要开启Boost库

DDOWNLOAD_BOOST=1 \

##Boost库文件存放路径

DWITH_BOOST=/usr/local/boost \

##mysql配置文件目录

DSYSCONFDIR=/etc \

##启用readline库支持

DWITH_READLINE=on

在这里要提醒一下,因为安装的mysql版本是5.7,如果安装的服务器不能联网,需要提前下载Boost库包,如果不下载,编译是无法通过的,下载方法如下所示

http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

下载完成,放到编译参数指定的目录位置即可,DWITH_BOOST=/usr/local/boost,然后开始进行make和make install

7.设置配置参数,这里提供的参数已经包含配置主从复制的参数,按照下面的参数启动数据库,非常简单就可以搭建好主从复制

cd /u02/conf

vi my3308.cnf

----------------------------------------------------------

[client]

port=3308

socket=/u02/run/3308/mysql.sock

[mysql]

pid_file=/u02/run/3308/mysqld.pid

[mysqld]

autocommit=1

general_log=off

transaction_isolation = READ-COMMITTED

gtid-mode=on

log-slave-updates=true

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1000

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log-events=1

# system

lower_case_table_names=1

basedir=/u02/mysql

datadir=/u02/data/3308

max_allowed_packet=1g

max_connections=1000

max_user_connections=800

open_files_limit=65535

pid_file=/u02/run/3308/mysqld.pid

port=3308

server_id=3308

skip_name_resolve=ON

socket=/u02/run/3308/mysql.sock

tmpdir=/u02/tmp/3308

thread_cache_size=512

table_open_cache=2048

table_open_cache_instances=2

table_definition_cache=2048

#binlog

log_bin=/u02/log/3308/binlog/binlog

binlog_cache_size=32768

binlog_format=row

expire_logs_days=7

log_slave_updates=ON

max_binlog_cache_size=2G

max_binlog_size=500M

sync_binlog=100

#logging

log_error=/u02/log/3308/error.log

slow_query_log_file=/u02/log/3308/slow.log

log_queries_not_using_indexes=0

slow_query_log=1

log_slave_updates=ON

log_slow_admin_statements=1

long_query_time=1

#relay

relay_log=/u02/log/3308/relaylog

relay_log_index=/u02/log/3308/relay.index

relay_log_info_file=/u02/log/3308/relay-log.info

#slave

slave_load_tmpdir=/u02/tmp/3308

slave_skip_errors=OFF

#innodb

innodb_data_home_dir=/u02/log/3308/iblog

innodb_log_group_home_dir=/u02/log/3308/iblog

innodb_adaptive_flushing=ON

innodb_adaptive_hash_index=ON

innodb_autoinc_lock_mode=1

innodb_buffer_pool_instances=8

#default

innodb_buffer_pool_size= 128M

innodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextend

innodb_doublewrite=ON

innodb_file_format=Barracuda

innodb_file_per_table=ON

innodb_flush_log_at_trx_commit=1

innodb_flush_method=O_DIRECT

innodb_io_capacity=1000

innodb_lock_wait_timeout=10

innodb_log_buffer_size=64M

innodb_log_file_size=512M

innodb_log_files_in_group=4

innodb_max_dirty_pages_pct=60

innodb_open_files=60000

innodb_purge_threads=1

innodb_read_io_threads=4

innodb_stats_on_metadata=OFF

innodb_support_xa=ON

innodb_use_native_aio=OFF

innodb_write_io_threads=10

[mysqld_safe]

datadir=/u02/data/3308

8.初始化多实例数据库

切换到mysql用户

su - mysql

# 初始化数据库实例

/u02/mysql/bin/mysqld --defaults-file=/u02/conf/my3308.cnf --initialize --user=mysql

# 使用独立参数启动实例

/u02/mysql/bin/mysqld_safe --defaults-file=/u02/conf/my3308.cnf &

# 登陆3308实例

/u02/mysql/bin/mysql --socket=/u02/run/3308/mysql.sock

修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

flush privileges;

# 关闭实例

/u02/mysql/bin/mysqladmin --socket=/u02/run/3308/mysql.sock shutdown &

到这里Mysql5.7源码安装就结束了

mysql5.7.21源码解析,史上最强Mysql5.7源码安装讲解相关推荐

  1. 面试官系统精讲Java源码及大厂真题 - 30 AbstractQueuedSynchronizer 源码解析(上)

    30 AbstractQueuedSynchronizer 源码解析(上) 不想当将军的士兵,不是好士兵. 引导语 AbstractQueuedSynchronizer 中文翻译叫做同步器,简称 AQ ...

  2. 史上最详细MySQL5.5复制配置步骤,与以前版本的有所不同

    史上最详细MySQL5.5复制配置步骤,与以前版本的有所不同 http://codingstandards.iteye.com/blog/1535994 操作系统:CentOS 5.8 MySQL版本 ...

  3. node.js 腾讯镜像站_史上最强Sx05RE游戏整合镜像发布!FBA4ARM永久闭源并停止发布!...

    先来说第一件事. 经过两个多星期的编程和整合,史上最强Sx05RE游戏整合镜像终于发布了!此次的整合镜像在官方Sx05RE 2.3.1的基础上,添加了独立NDS模拟器Drasitc以及独立程序Open ...

  4. 史上最强红利指数——标普A股红利机会指数全解析

    史上最强红利指数--标普A股红利机会指数全解析 作者:@超级巴飞特 ,感谢老巴鼎力支持[大笑] https://xueqiu.com/2478797769/108940942 小红按:这是一篇旧文,不 ...

  5. JVM面试题(史上最强、持续更新、吐血推荐)

    JVM面试题(史上最强.持续更新.吐血推荐) 文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : <尼恩Java面试宝典& ...

  6. 史上最强Vue,面试、项目全靠它

    史上最强Vue,面试.项目全靠它 vue框架篇 vue的优点 数据驱动的理解 MVVM的理解 组件化的理解 1.组件定义 2.组件的使用场景 3.如何使用组件 4.vue组件产生的过程 数据闪烁 请详 ...

  7. 一文深入了解史上最强的Java堆内缓存框架Caffeine

    它提供了一个近乎最佳的命中率.从性能上秒杀其他一堆进程内缓存框架,Spring5更是为了它放弃了使用多年的GuavaCache 缓存,在我们的日常开发中用的非常多,是我们应对各种性能问题支持高并发的一 ...

  8. “史上最强”BigGAN公开TensorFlow Hub demo!

    还记得前些日子轰动一时的 BigGAN 模型吗?生成对抗网络(GAN)作为当前最热门的技术之一,最近在图像生成方面的成果颇受人关注.近日,由 DeepMind 和赫瑞瓦特大学组成的科研人员公布的 Bi ...

  9. 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。

    按: 本文内容来源于:http://shouji88.com/msg_list.cgi?bbs_id=000001                               http://shouj ...

最新文章

  1. Java的多态(详尽版)
  2. pandas对dataframe的数据列进行随机抽样(Random Sample of Columns)、使用sample函数进行数据列随机抽样
  3. 修改VS2017新建类模板文件添加注释
  4. spring @Transactional注解参数详解
  5. C++确定数字的奇偶校验的算法实现(附完整源码)
  6. CodeForces - 1559D2 Mocha and Diana (Hard Version)(思维)
  7. 【整理】LISP简介
  8. 如何使用Xcode7免费真机调试
  9. c#初学12-07—常用正则表达式
  10. ESP32 SPI LCD ili9488移植LVGL 8.0
  11. rufus linux 教程,图文回复rufus使用教程【操作步骤】
  12. Ps如何把背景图片拉长并不变形!
  13. 计算机就业去哪个岗位好? 算法岗位还是开发岗位更好?
  14. OpenGL学习笔记--配置VS环境
  15. uc浏览器的navigator.userAgent
  16. 神经网络(线性神经网络、Delta学习规则)
  17. 2022ICPC杭州 F. Da Mi Lao Shi Ai Kan De codeforces gym 104090F
  18. 新code为aadb010476_【AACA建筑师评估】职业评估说明
  19. MySQL如何查看当前表结构
  20. pinyin4j NullPointerException: null空指针异常

热门文章

  1. oracle删除分区表空间文件,oracle 删除表空间及数据文件方法
  2. 6461:Tak and Cards(数位DP)
  3. 在R700上重新安装了Ubuntu kylin 14.04
  4. vslam从入门到如土:拯救者R7000P显卡驱动安装
  5. CentOs7查看防火墙
  6. 小米笔记本13.3寸 八代i5独显 记录
  7. 学期笔记(一)——OSI七层模型
  8. markdown-nice使用教程
  9. bee : 无法将“bee”项识别为 cmdlet, 没有 bee.exe文件
  10. 初七,开工,新年红包来了!