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

MySQL源码部署(rhel7)

1.rhel7的MySQL源码部署

1.1安装编译mysql所需软件包

1.1.1 安装mysql8的依赖软件

[root@mysql-master171 ~]# yum install  -y git bison openssl-devel ncurses-devel -y

1.1.2安装cmake3

a.配置epel仓库
[root@mysql-master171 ~]# vim  /etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
b.安装cmake3
[root@mysql-master171 ~]# yum install  cmake3 -y

1.1.3安装gcc11,找到rpm包上传linux后解压安装

a.通过xtfp上传gcc11
[root@mysql-master171 ~]# ls gcc-11.zip
gcc-11.zip
b.解压gcc11
[root@mysql-master171 ~]# unzip gcc-11.zip
c.安装gcc11相关rpm包
[root@mysql-master171 ~]# cd  gcc-11/
[root@mysql-master171 gcc-11]# yum install ./*.rpm
d.临时启用devtoolset-11环境
[root@mysql-master171 ~]# source  /opt/rh/devtoolset-11/enable
e.永久配置gcc11环境
[root@mysql-master171 gcc-11]# cat /opt/rh/devtoolset-11/enable  >> ~/.bash_profile
f.查看当前gcc版本
[root@master gcc-11]# gcc -v
gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)

1.2编译安装mysql8.0.40

1.2.1通过xftp将mysql-boost-8.0.40.tar.gz传到/opt目录下

[root@mysql-master171 opt]# ls mysql-boost-8.0.40.tar.gz
mysql-boost-8.0.40.tar.gz

1.2.2解压MySQL源码压缩包到当前目录(/opt)

[root@mysql-master171 opt]# tar zxf mysql-boost-8.0.40.tar.gz

1.2.3切换到解压后的mysql源码主目录并创建bld文件夹

[root@mysql-master171 opt]# cd  mysql-8.0.40/
[root@mysql-master171 mysql-8.0.40]# mkdir bld
[root@mysql-master171 mysql-8.0.40]# cd bld

1.2.4执行cmake3命令,进行环境检测

[root@mysql-master171 bld]#  cmake3 .. \
-DWITH_BOOST=../boost/boost_1_77_0/ \    #指定MySQL 源码编译所依赖的 Boost 库的路径
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \				#指定安装路径
-DMYSQL_DATADIR=/data/mysql \							#指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \				#指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \						#指定启用INNODB存储引擎,默认用myisam
-DWITH_EXTRA_CHARSETS=all \								#扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \								#指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \				#指定默认校验字符集
-DWITH_SSL=system \										#指定MySQL使用系统已安装的 SSL 库

1.3进行编译

#该过程很久,请耐心等待,利用多核CPU资源同时运行4个编译进程
[root@mysql-master171  bld]# make  -j 4 
#把编译生产的二进制文件复制到预安装目录,完成mysql部署
[root@mysql-master171  bld]# make install

1.4将源码编译好的mysql进行配置

1.4.1生成启动脚本

[root@mysql-master171 ~]# cp  /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

1.4.2修改环境变量

#在空白处插入
[root@mysql-master171 ~]# vim ~/.bash_profile
export PATH=$PATH:/usr/local/mysql/bin
#立即执行
[root@mysql-master171 ~]# source ~/.bash_profile

1.4.3建立数据库程序运行用户

[root@mysql-master171 ~]# useradd -M -s /sbin/nologin mysql

1.4.4建立数据库数据目录

[root@mysql-master171 ~]# mkdir -p /data/mysql/
[root@mysql-master171 ~]# chown mysql.mysql -R /data/mysql/

1.4.5创建配置文件

[root@mysql-master171 ~]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql   #指定数据目录
socket=/data/mysql/mysql.sock   #指定套接字
server_id=171
log-bin=binlog

1.4.6将数据库初始化建立mysql基本数据,记得看临时密码

[root@mysql-master171 ~]# mysqld --initialize --user=mysql

1.4.7启动数据库

[root@mysql-master171 ~]# /etc/init.d/mysqld  start
Starting MySQL.Logging to '/data/mysql/master.err'.
. SUCCESS!

1.4.8修改数据库密码,新密码为123

[root@mysql-master171 ~]# mysqladmin -uroot -p password  '123'

1.4.9使用新密码登录数据库

[root@mysql-master171 ~]# mysql -uroot -p123

http://www.xdnf.cn/news/20361.html

相关文章:

  • SQL面试题及详细答案150道(61-80) --- 多表连接查询篇
  • java面试中经常会问到的集合问题有哪些(基础版)
  • GigaDevice(兆易创新)GD25Q64CSJGR 64Mbit FLASH
  • c#动态树形表达式详解
  • uni-app 和 uni-app x 的区别
  • 【Cell Systems】SpotGF空间转录组去噪算法文献分享
  • 图像去雾:从暗通道先验到可学习融合——一份可跑的 PyTorch 教程
  • <video> 标签基础用法
  • MySQL-安装MySQL
  • UE4 Mac构建编译报错 no template named “is_void_v” in namespace “std”
  • 无需bootloader,BootROM -> Linux Kernel 启动模式
  • Java全栈开发工程师面试实录:从基础到实战的深度探讨
  • PyTorch图像数据转换为张量(Tensor)并进行归一化的标准操作
  • 管理中心理学问:动机与管理的关联
  • 什么是CRM?定义、作用、功能、选型|CRM百科
  • 使用若依加Trae快速搭建一对儿多对多CRUD
  • 移植Qt4.8.7到ARM40-A5
  • PiscCode基于 Mediapipe 实现轨迹跟踪
  • TOGAF之架构标准规范-迁移计划
  • nginx 反向代理使用变量的坑
  • 亚马逊商品转化率怎么提高?从传统运营到智能广告的系统化突破
  • Nginx 配置片段主要用于实现​​正向代理​​,可以用来转发 HTTP 和 HTTPS 请求
  • LangChain关于提示词的几种写法
  • 深度学习:Dropout 技术
  • c++ 第三方库与个人封装库
  • 【完整源码+数据集+部署教程】西兰花实例分割系统源码和数据集:改进yolo11-AggregatedAtt
  • leetcode 6 Z字形变化
  • 基于YOLOv8的车辆轨迹识别与目标检测研究分析软件源代码+详细文档
  • 整理了几道前端面试题
  • 字符串格式化——`vsnprintf`函数