当前位置: 首页 > news >正文

MySQL5.7源码编译安装

查看是否安装过mysql软件包

rpm -qa|grep mysql
rpm -qa|grep mariadb
rpm -e --nodeps mysql的软件包名

建立mysql账号

useradd -s /sbin/nologin -M mysql

安装依赖包

yum install -y gcc
yum install -y gcc-c++
yum install -y ncurses
yum install -y bison
yum install -y git
yum install -y make
yum install -y cmake
yum install -y openssl
yum install -y openssl-devel
yum install -y ncurses-devel
yum install -y libtirpc libtirpc-devel
yum install -y libarchive
yum install -y rpcgen
yum install -y rpcgen-devel

解压源码包

tar -zxvf mysql-5.7.43.tar.gz
tar -zxvf mysql-boost-5.7.43.tar.gz
cd mysql-5.7.43

编译

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BOOST=/home/mysql-5.7.43/boost/boost_1_59_0

注:当带参数-DWITH_SYSTEMD=1时,编译后没有mysqld_safe守护进程

MySQL源码编译常用选项说明

源码配置选项描述
CMAKE_INSTALL_PREFIX软件安装目录
INSTALL_LAYOUT选择预定义的安装布局
MYSQL_DATADIR数据目录
DEFAULT_CHARSET默认服务器
DEFAULT_COLLATION默认服务器排序规则
INSTALL_SECURE_FILE_PRIVDIRSQL导出目录
ENABLED_LOCAL_INFILE是否启用本地方式加载数据
MYSQL_TCP_PORTTCP/IP端口
SYSCONFDIR选项文件
MYSQL_UNIX_ADDRUnix套接字文件
WITH_SYSTEMD启用安装systemd支持文件
SYSTEMD_SERVICE_NAMEsystemd下MySQL服务的名称
SYSTEMD_PID_DIRsystemd下PID文件的目录
COMPILATION_COMMENT关于编译环境的描述
WITH_BOOSTBoost库源码的位置
WITH_ARCHIVE_STORAGE_ENGINE将存储引擎ARCHIVE静态编译至服务器
WITH_BLACKHOLE_STORAGE_ENGINE将存储引擎BLACKHOLE静态编译至服务器
WITH_PERFSCHEMA_STORAGE_ENGINE将存储引擎PERFSCHEMA静态编译至服务器
WITH_EXAMPLE_STORAGE_ENGINE将存储引擎EXAMPLE静态编译至服务器
WITH_FEDERATED_STORAGE_ENGINE将存储引擎FEDERATED静态编译至服务器
WITH_PARTITION_STORAGE_ENGINE将存储引擎PARTITION静态编译至服务器

MySQL源码编译常用选项自定义设置

源码配置选项默认值定制值
CMAKE_INSTALL_PREFIX/usr/local/mysql
MYSQL_DATADIR/data
DEFAULT_CHARSETlatin1utf8mb4
DEFAULT_COLLATIONlatin2_swedish_ciutf8mb4_general_ci
INSTALL_SECURE_FILE_PRIVDIRplatform specific/mysql/product/mysql-files
ENABLED_LOCAL_INFILEOFFON
MYSQL_TCP_PORT3305
SYSCONFDIR/etc
MYSQL_UNIX_ADDR/tmp/mysql.sock
WITH_BOOST/boost_1_59_0
WITH_ARCHIVE_STORAGE_ENGINE1
WITH_BLACKHOLE_STORAGE1
WITH_PERFSCHEMA_STORAGE_ENGINE1
WITH_EXAMPLE_STORAGE_ENGINE1
WITH_FEDERATED_STORAGE_ENGINE1
WITH_PARTITION_STORAGE_ENGINE1

创建路径

mkdir /data
mkdir /usr/local/mysql/data

安装

make -j 4 && make install

配置my.cnf

[mysqld]
# 设置端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库数据存放路径
datadir=/data
# 允许最大连接数
max_connections=200
# 服务端默认字符集
character-set-server=utf8mb4
# 默认排序规则
collation-server=utf8mb4_general_ci
# 默认存储引擎
default-storage-engine=INNODB# 开启二进制日志
log-bin=mysql-bin
# 服务器ID
server-id=1
# 跳过所有复制错误
slave-skip-errors=all

赋权

chown mysql:mysql -R /data
chown mysql:mysql -R /usr/local/mysql

初始化

cd /usr/local/mysql
./bin/mysqld --initialize --user-mysqlcp ./support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on

重置密码

mysql> set PASSWORD=PASSWORD('密码');
mysql> flush privileges;
http://www.lryc.cn/news/228723.html

相关文章:

  • uniapp使用v-for页面不刷新解决办法
  • 发布一款将APM日志转换为Excel的开源工具
  • 本地化小程序运营 同城小程序开发
  • 关于electron打包卡在winCodeSign下载问题
  • 01_ddim_inversion_CN
  • ElasticSearch的文档、字段、映射和高级查询
  • vim相关命令讲解!
  • 22.构造一个关于员工信息的结构体数组,存储十个员工的信息
  • 北京刘家窑中医院举行‘心梗救治日’宣传活动,郭自强主任呼吁提高群众防治意识
  • calico
  • web前端开发第3次Dreamweave课堂练习/html练习代码《网页设计语言基础练习案例》
  • APP备案获取安卓app证书公钥获取方法和签名MD5值
  • cefsharp 93.1.140 如何在js中暴露c#类
  • 同一台Linux同时安装MYSQL5.7和MYSQL8(第一篇)
  • 【CSS】解决上层盒子遮挡下层图片点击事件的三种方法
  • 力扣每日一题 ---- 2906. 构造乘积矩阵
  • Tomcat学习
  • Linux系统上搭建高可用Kafka集群(使用自带的zookeeper)
  • WebSocket在node端和客户端的使用
  • ENVI IDL:如何将txt文本文件转化为GeoTIFF文件?
  • 北邮22级信通院数电:Verilog-FPGA(9)第九周实验(2)实现下降沿触发的JK触发器(带异步复位和置位功能)
  • pyqt5UI同步加载
  • CentOS 7 安装 Redis 5 (单机 6379)
  • sqlplus set参数大区
  • 从0到0.01入门React | 006.精选 React 面试题
  • GeoTools实战指南: 处理矢量文件中多多边形的MultiPolygon空洞问题
  • javaSE学习笔记(五)集合框架-Collection,List,Set,Map,HashMap,Hashtable,ConcurrentHashMap
  • web3 React dapp项目通过事件从区块链中拿到 已取消 已完成 和所有的订单数据 并存入redux中
  • 25、Flink 的table api与sql之函数(自定义函数示例)
  • MybatisPlus —注解汇总