mysql5.7.21源码解析,史上最强Mysql5.7源码安装讲解
今天给小伙伴们介绍一下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源码安装讲解相关推荐
- 面试官系统精讲Java源码及大厂真题 - 30 AbstractQueuedSynchronizer 源码解析(上)
30 AbstractQueuedSynchronizer 源码解析(上) 不想当将军的士兵,不是好士兵. 引导语 AbstractQueuedSynchronizer 中文翻译叫做同步器,简称 AQ ...
- 史上最详细MySQL5.5复制配置步骤,与以前版本的有所不同
史上最详细MySQL5.5复制配置步骤,与以前版本的有所不同 http://codingstandards.iteye.com/blog/1535994 操作系统:CentOS 5.8 MySQL版本 ...
- node.js 腾讯镜像站_史上最强Sx05RE游戏整合镜像发布!FBA4ARM永久闭源并停止发布!...
先来说第一件事. 经过两个多星期的编程和整合,史上最强Sx05RE游戏整合镜像终于发布了!此次的整合镜像在官方Sx05RE 2.3.1的基础上,添加了独立NDS模拟器Drasitc以及独立程序Open ...
- 史上最强红利指数——标普A股红利机会指数全解析
史上最强红利指数--标普A股红利机会指数全解析 作者:@超级巴飞特 ,感谢老巴鼎力支持[大笑] https://xueqiu.com/2478797769/108940942 小红按:这是一篇旧文,不 ...
- JVM面试题(史上最强、持续更新、吐血推荐)
JVM面试题(史上最强.持续更新.吐血推荐) 文章很长,建议收藏起来慢慢读!疯狂创客圈总目录 语雀版 | 总目录 码云版| 总目录 博客园版 为您奉上珍贵的学习资源 : <尼恩Java面试宝典& ...
- 史上最强Vue,面试、项目全靠它
史上最强Vue,面试.项目全靠它 vue框架篇 vue的优点 数据驱动的理解 MVVM的理解 组件化的理解 1.组件定义 2.组件的使用场景 3.如何使用组件 4.vue组件产生的过程 数据闪烁 请详 ...
- 一文深入了解史上最强的Java堆内缓存框架Caffeine
它提供了一个近乎最佳的命中率.从性能上秒杀其他一堆进程内缓存框架,Spring5更是为了它放弃了使用多年的GuavaCache 缓存,在我们的日常开发中用的非常多,是我们应对各种性能问题支持高并发的一 ...
- “史上最强”BigGAN公开TensorFlow Hub demo!
还记得前些日子轰动一时的 BigGAN 模型吗?生成对抗网络(GAN)作为当前最热门的技术之一,最近在图像生成方面的成果颇受人关注.近日,由 DeepMind 和赫瑞瓦特大学组成的科研人员公布的 Bi ...
- 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。
按: 本文内容来源于:http://shouji88.com/msg_list.cgi?bbs_id=000001 http://shouj ...
最新文章
- Java的多态(详尽版)
- pandas对dataframe的数据列进行随机抽样(Random Sample of Columns)、使用sample函数进行数据列随机抽样
- 修改VS2017新建类模板文件添加注释
- spring @Transactional注解参数详解
- C++确定数字的奇偶校验的算法实现(附完整源码)
- CodeForces - 1559D2 Mocha and Diana (Hard Version)(思维)
- 【整理】LISP简介
- 如何使用Xcode7免费真机调试
- c#初学12-07—常用正则表达式
- ESP32 SPI LCD ili9488移植LVGL 8.0
- rufus linux 教程,图文回复rufus使用教程【操作步骤】
- Ps如何把背景图片拉长并不变形!
- 计算机就业去哪个岗位好? 算法岗位还是开发岗位更好?
- OpenGL学习笔记--配置VS环境
- uc浏览器的navigator.userAgent
- 神经网络(线性神经网络、Delta学习规则)
- 2022ICPC杭州 F. Da Mi Lao Shi Ai Kan De codeforces gym 104090F
- 新code为aadb010476_【AACA建筑师评估】职业评估说明
- MySQL如何查看当前表结构
- pinyin4j NullPointerException: null空指针异常
热门文章
- oracle删除分区表空间文件,oracle 删除表空间及数据文件方法
- 6461:Tak and Cards(数位DP)
- 在R700上重新安装了Ubuntu kylin 14.04
- vslam从入门到如土:拯救者R7000P显卡驱动安装
- CentOs7查看防火墙
- 小米笔记本13.3寸 八代i5独显 记录
- 学期笔记(一)——OSI七层模型
- markdown-nice使用教程
- bee : 无法将“bee”项识别为 cmdlet, 没有 bee.exe文件
- 初七,开工,新年红包来了!