首页 > 数据库 >【转】centos7.9源码安装mysql5.7.44

【转】centos7.9源码安装mysql5.7.44

时间:2024-05-25 18:23:30浏览次数:38  
标签:etc local mysql5.7 centos7.9 源码 usr mysql boost 44

原文:https://blog.csdn.net/SeeYouGoodBye/article/details/135231451

1、环境介绍

  • centos7.9
  • mysql5.7.44
  • boost1.59.0

注意:这里的编译版本mysql5.7.44和boost1.59.0是有依赖的,建议使用相同版本

2、安装编译要用的依赖软件

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

3、准备编译的源码包

mysql源码包下载:

boost源码包下载:

img

img

注意:国内下载这个boost包很慢

#可直接linux上用wget下载



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



 



wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.44.tar.gz

4、创建mysql用户

groupadd mysql



useradd -r -g mysql -M -s /sbin/nologin mysql

5、创建数据库目录(此目录可自定义)

mkdir -p /opt/mysql



chown mysql:mysql /opt/mysql



 



#目录自定义后,后面配置文件路径相应要改变

6、编译安装mysql和boost

#将本地下载的2个源码包传至/root



cd /root/



 



tar -xf boost_1_59_0.tar.gz



mv boost_1_59_0 /usr/local/boost



 



tar -xf mysql-5.7.44.tar.gz -C /usr/local/src/



cd /usr/local/src/mysql-5.7.44



cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/opt/mysql  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/opt/mysql/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1    -DDOWNLOAD_BOOST=0 -DWITH_BOOST=../../boost -DWITH_INNODB_MEMCACHED=ON



 



make



make install

7、编辑my.cnf并初始化mysql数据库

#先备份编译安装后自动生成的



mv /etc/my.cnf /etc/my.cnf.bak



 



#自定义my.cnf



cat >/etc/my.cnf<<EOF



[client]



port=3306



socket=/opt/mysql/mysql.sock







[mysqld]



character-set-server=utf8



collation-server=utf8_general_ci







skip-name-resolve



user=mysql



port=3306



basedir=/usr/local/mysql



datadir=/opt/mysql



tmpdir=/tmp



socket=/opt/mysql/mysql.sock







log-error=/opt/mysql/mysqld.log



pid-file=/opt/mysql/mysqld.pid 



EOF



 



 



#根据my.cnf初始化mysql



/usr/local/mysql/bin/mysqld  --defaults-file=/etc/my.cnf   --initialize  --user=mysql



 



 



#开启数据库并查看状态



/usr/local/mysql/support-files/mysql.server start



 



/usr/local/mysql/support-files/mysql.server status



 



 



#查看登录root的初始密码



cat /opt/mysql/mysqld.log | grep root

8、设置mysql环境变量

vi /etc/profile



...



export MYSQL_HOME=/usr/local/mysql



export PATH=$PATH:$MYSQL_HOME/bin



 



 



source /etc/profile

9、修改root的初始密码

#这里用前面查到的初始密码登录



mysql -uroot -p



Enter password: 



Welcome to the MySQL monitor.  Commands end with ; or \g.



Your MySQL connection id is 2



Server version: 5.7.44



 



Copyright (c) 2000, 2023, Oracle and/or its affiliates.



 



Oracle is a registered trademark of Oracle Corporation and/or its



affiliates. Other names may be trademarks of their respective



owners.



 



Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.



 



mysql> 



mysql> alter user root@localhost identified by 'ziu1988Q...'



    -> ;



Query OK, 0 rows affected (0.00 sec)



 



mysql> flush privileges;



Query OK, 0 rows affected (0.00 sec)



 



 



#关闭数据库服务(为了后面设置的自启正常使用)



/usr/local/mysql/support-files/mysql.server stop

10、设置启动文件以及开机自启

#复制启动文件到常用启动目录



cp /usr/local/mysql/support-files/mysql.server /etc/init.d/



 



#编辑启动service



vi /usr/lib/systemd/system/mysql.service



[Unit]



Description=MySQL Community Server



After=network.target



 



[Install]



WantedBy=multi-user.target



 



[Service]



User=mysql



Group=mysql



Type=forking



PermissionsStartOnly=true



PIDFile=/opt/mysql/mysqld.pid



ExecStartPre=/etc/init.d/mysql.server restart



ExecStart=/etc/init.d/mysql.server start



TimeoutSec=600



LimitNOFILE = 5000



Restart=on-failure



RestartPreventExitStatus=1



RuntimeDirectory=mysqld



RuntimeDirectoryMode=755



 



 



#重载配置和启动mysql,设置开机自启



systemctl daemon-reload



systemctl start mysql



systemctl enable mysql

文章知识点与官方知识档案匹配,可进一步学习相关知识

云原生入门技能树首页概览18569 人正在系统学习中

标签:etc,local,mysql5.7,centos7.9,源码,usr,mysql,boost,44
From: https://www.cnblogs.com/tc310/p/18212754

相关文章

  • 计算云上对mysql源码debug
    前准备vscode(安装remotedev插件)、mysql源码、c/c++、安装cmake、安装gccmysql源码:gitclonehttps://github.com/mysql/mysql-server.gitcmake安装:sudoyuminstallcmake3查看cmake版本:cmake--version安装gcc:sudoyuminstallgcc在计算云上编译mysql1、配置(进入m......
  • 一键启动,无限创作:AI数字人系统源码,轻松制作属于你的数字人模型!
    数字人,这一新兴概念,正逐渐渗透到我们生活的方方面面。它不仅仅是技术的创新,更是对传统服务模式的颠覆。AI数字人系统源码(源码:ai6ai69)的部署,为企业和个人提供了一个全新的创作平台,让每个人都能轻松打造属于自己的数字人模型。一、AI数字人系统源码部署所需配置在部署AI数字人......
  • 【全开源】多场馆场地预定小程序源码(ThinkPHP+FastAdmin+UniApp)
    场馆场地预定小程序源码一款基于ThinkPHP+FastAdmin+UniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆(高级版)......
  • 【全开源】教育系统源码(支持微信小程序+移动端H5+安卓APP+IOS-APP)
    构建智慧教育的基石在当今信息化快速发展的时代,教育系统正面临着前所未有的变革。西陆教育系统源码,作为这一变革的先锋力量,以其卓越的性能和灵活性,为教育机构提供了全新的解决方案。一、源码的力量:定制化与可扩展性西陆教育系统源码的核心优势在于其高度的定制化和可扩展......
  • Redis 源码学习记录:集合 (set)
    无序集合Redis源码版本:Redis-6.0.9,本篇文章无序集合的代码均在intset.h/intset.c文件中。Redis通常使用字典结构保存用户集合数据,字典键存储集合元素,字典值为空。如果一个集合全是整数,则使用字典国语浪费内存。为此,Redis设计了intset数据结构,专门用来保存整数......
  • 【制作100个unity游戏之27】使用unity复刻经典游戏《植物大战僵尸》,制作属于自己的植
    最终效果系列导航文章目录最终效果系列导航前言素材简单搭建环境豌豆射手向日葵源码结束前言在游戏界,有些作品以其独特的创意和精彩的游戏体验,成为了经典中的经典。而《植物大战僵尸》就是其中的佼佼者,它以其独特的塔防玩法和富有趣味性的设计,吸引了全球无数玩家......
  • 【计算机毕业设计】基于SSM++jsp的实验室耗材管理系统【源码+lw+部署文档】
             目录第1章绪论1.1课题背景1.2课题意义1.3研究内容第2章开发环境与技术2.1MYSQL数据库2.2JSP技术 2.3SSM框架第3章系统分析3.1可行性分析3.1.1技术可行性3.1.2经济可行性3.1.3操作可行性3.2系统流程3.2.1操作流程3.2.2......
  • Springboot计算机毕业设计信息学院网络工程党支部小程序【附源码】开题+论文+mysql+程
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化高速发展的今天,党建工作也需要与时俱进,利用信息技术手段提升工作效率和影响力。信息学院网络工程党支部作为学院党建工作的前沿阵地,面临着如......
  • JAVA计算机毕业设计基于SpringBoot的在线古玩市场系统的设计与实现(附源码+springboot+
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网的迅猛发展和电子商务的普及,传统行业纷纷寻求数字化转型以适应市场的新需求。古玩市场作为一个历史悠久、文化底蕴深厚的行业,在数字化浪潮......
  • 一对一视频源码,异步中出现了异常该如何处理?
    一对一视频源码,异步中出现了异常该如何处理?js本质上是同步的,是一种单线程语言。诸如浏览器引擎之类的宿主环境使用许多WebAPI,增强了js以与外部系统进行交互并处理与I/O绑定的操作。浏览器中异步操作有:定时器相关的函数、事件、Ajax请求和Promise等。一、定时器的错误处理......