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

mysql5.7编译安装

MySQL 5.7在不同操作系统上的编译安装过程略有不同,以下是在Linux系统上编译安装MySQL 5.7的一般步骤:

1. 安装编译所需的依赖包
```
sudo yum install gcc-c++ cmake ncurses-devel bison openssl-devel
```

2. 下载MySQL源码包和Boost库并解压
```
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.41.tar.gz
tar -xvf mysql-5.7.41.tar.gz
cd mysql-5.7.41

wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

tar -xf boost_1_59_0.tar.gz
```

3. 创建安装目录
```
mkdir -p /usr/local/mysql
```

4. 执行cmake命令生成编译文件
```
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=0 -DWITH_BOOST=/root/boost_1_59_0 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DMAX_ALLOWED_PACKET=4294967296
```
参数说明:
- CMAKE_INSTALL_PREFIX 指定安装路径
- MYSQL_DATADIR 指定数据目录
- SYSCONFDIR MySQL配置文件目录

-DWITH_BOOST 指定boost库的目录
- 后面开启了一些默认存储引擎

5. 编译安装 
```
make && make install
```

6. 创建系统数据目录
```
mkdir -p /data/mysql
```

7. 创建mysql用户及用户组

groupadd mysql

useradd -g mysql -s /bin/nologin mysql

chown -R mysql:mysql /data/mysql
chmod -R 755 /data/mysql

8. 初始化数据库 
```
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql
```
命令会打印root临时密码,保存好

9. 安装launchd启动脚本(自行选择)
```
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
```

10. 启动MySQL服务 
```
service mysqld start
```

11. 登录并修改密码
```
bin/mysql -u root -p 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
```

12. 配置my.cnf文件指定数据目录等参数

[mysqld]
# 基本设置
user=mysql
port=3307
socket=/data/mysql/mysql.sock
datadir=/data/mysql
user=mysql
default-storage-engine=InnoDB
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

innodb_buffer_pool_size=512M

# 错误日志设置
log_error = /data/mysql/error.log

# 慢查询日志
slow_query_log=1
slow_query_log_file = /data/mysql/slow.log
long_query_time=2

# BINLOG
log-bin=/data/mysql/mybinlog
server_id=1
binlog_format=ROW
expire_logs_days=7

# 其他设置
skip-grant-tables
skip-name-resolve
open_files_limit=65535
table_open_cache=2048
max_allowed_packet=2147483648
pid-file=/data/mysql/mysqld.pid

[mysqld_safe]
log-error=/data/mysql/safe/mysqld.log

[client]
default-character-set=utf8mb4

以上是编译安装的基本步骤,实际过程中可能还需要根据具体环境配置PATH、开机自启等。你也可以考虑直接使用发行版的MySQL版本以获得更简单的安装体验。

http://www.lryc.cn/news/320250.html

相关文章:

  • Java项目实战记录:雷达数据渲染
  • 进程的概念 | PCB | Linux下的task_struct | 父子进程和子进程
  • 【GPT-SOVITS-03】SOVITS 模块-生成模型解析
  • 2024HVV行动-进军蓝中研判(log4j2、fastjson、Struts2、Shiro)
  • 亮点抢先看!4月16-17日,百度Create大会开设“AI公开课”,大咖带你打造赚钱工具
  • 【笔记本清灰/实用经验】荣耀Magicbook14-2020款-R5-4500U-清灰实战
  • 如何写好Stable Diffusion的prompt
  • 计算机毕业设计 | SpringBoot+vue 移动端社区物业管理系统(附源码+论文)
  • 玩转C语言——数组初探
  • Nginx指令配置大全
  • 富格林:安全出金关注可信操作
  • DELETE、TRUNCATE 和 DROP 在MySQL中的区别及使用示例
  • 程序员应该如何选择职业赛道?
  • 深入浅出Hive性能优化策略
  • 利用卷积神经网络进行人脸识别
  • 固态硬盘有坏道怎么恢复数据 固态硬盘坏道怎么修复
  • adobe animate 时间轴找不到编辑多个帧按钮
  • 5 亿欧元巨额奖励!法国国防部启动量子初创公司项目
  • Linux:系统初始化,内核优化,性能优化(2)
  • JS08-DOM节点
  • 2024/3/14打卡棋子(14届蓝桥杯)——差分
  • A Survey on Multimodal Large Language Models
  • Java面向对象编程(高级)一
  • 1056:点和正方形的关系
  • 【iOS】ARC学习
  • 数据分析 | Matplotlib
  • mac npm install 很慢或报错
  • 100天精通Python(实用脚本篇)——第118天:基于selenium和ddddocr库实现反反爬策略之验证码识别
  • 51单片机与ARM单片机的区别
  • Android 10.0 mtk平台系统添加公共so库的配置方法