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

源码安装mysql

使用源码安装mysql,这里选择的版本是mysql5.7.35 ,系统是Centos7.6

官网下载地址:https://downloads.mysql.com/archives/community/

在这里插入图片描述

  1. 下载源码压缩包

     [root@localhost ~]# cd /opt[root@localhost opt]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.35.tar.gz[root@localhost opt]# tar -xf mysql-boost-5.7.35.tar.gz
    
  2. 下载依赖软件

     [root@localhost ~]# yum install -y  cmake gcc  gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel bzip2 openssl-devel libtirpc-devel.x86_64
    
  3. 编译安装

     [root@localhost opt]# cd mysql-5.7.35/
    

    ## 新建目录,存放编译产生的中间文件。因为不允许在源码目录下进行编译

     [root@localhost mysql-5.7.35]# mkdir builder[root@localhost mysql-5.7.35]# cd builder/
    

    ## 编辑源码

     cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost
    
  • -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定安装目录

  • -DMYSQL_DATADIR=/data/mysql 数据存放目录

  • -DSYSCONFDIR=/etc 配置文件存放目录

  • -DMYSQL_USER=mysql 启动用户

  • -DWITH_MYISAM_STORAGE_ENGINE=1 安装MyISAM引擎

  • -DWITH_INNOBASE_STORAGE_ENGINE=1 安装InnoDB引擎

  • -DWITH_ARCHIVE_STORAGE_ENGINE=1 安装Archive引擎

  • -DWITH_MEMORY_STORAGE_ENGINE=1 安装Memory引擎

  • -DWITH_FEDERATED_STORAGE_ENGINE=1 安装Federated引擎

  • -DWITH_PARTITION_STORAGE_ENGINE=1 安装Partition引擎

  • -DWITH_READLINE=1 MySQL的readline library

  • -DMYSQL_UNIX_ADDR=/tmp/mysql.sock sock文件的路径

  • -DMYSQL_TCP_PORT=3306 MySQL的监听端口

  • -DENABLED_LOCAL_INFILE=1 启用加载本地数据

  • -DENABLE_DOWNLOADS=1 编译时允许自主下载相关文件

  • -DEXTRA_CHARSETS=all 使MySQL支持所有的扩展字符

  • -DDEFAULT_CHARSET=utf8mb4 设置默认字符集为utf8mb4

  • -DDEFAULT_COLLATION=utf8mb4_general_ci 设置默认字符校对

  • -DWITH_DEBUG=0 禁用调试模式

  • -DMYSQL_MAINTAINER_MODE=0 是否启用mysql维护器特定的开发环境

  • -DDOWNLOAD_BOOST=1 允许在线更新boost库

  • -DWITH_BOOST=…/boost 指定boost安装路径

    ## 生成二进制安装程序

      [root@localhost builder]# make
    

    ## 安装

      [root@localhost builder]# make install
    
  1. 创建用户,创建目录,并授权
    ## 创建数据存放目录,编译的时候有指定目录,这里创建指定的目录即可

       [root@localhost builder]# mkdir -p  /data/mysql
    

    ## 创建日志存放目录,pid存放目录

       [root@localhost builder]# mkdir -p /var/log/mysqld /var/run/mysqld[root@localhost builder]# touch /var/run/mysqld/mysql.pid  [root@localhost builder]# touch /var/log/mysqld/mysqld.log
    

    ## 创建用户

       useradd --system -s /sbin/nologin mysql
    

    # 授权目录权限给用户

       [root@localhost ~]# chown -R mysql:mysql /var/log/mysqld		# 日志目录[root@localhost ~]# chown -R mysql:mysql /var/run/mysqld		# 存放目录[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/	# 安装目录[root@localhost ~]# chown -R mysql:mysql /data/mysql/        # 数据存放目录
    
  2. 修改配置文件

     [root@localhost ~]# vim /etc/my.cnf
    
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/mysql
    socket=/tmp/mysql.sock[mysqld_safe]
    log-error=/var/log/mysqld/mysqld.log
    pid-file=/var/run/mysqld/mysql.pid
    
  3. 设置环境变量

     [root@localhost ~]# vim /etc/profile
    
    # mysql 
    export MYSQL_HOME=/usr/local/mysql
    export PATH=$PATH:$MYSQL_HOME/bin
    

    ## 加载环境变量,并测试

     source /etc/profilemysql --version
    
      mysql  Ver 14.14 Distrib 5.7.35, for Linux (x86_64) using  EditLine wrapper
    
  4. 初始化数据库

    ## 初始化数据库,并生成临时密码

     [root@localhost ~]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql
    
    2023-11-30T02:02:22.576131Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2023-11-30T02:02:23.167149Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2023-11-30T02:02:23.259734Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2023-11-30T02:02:23.324006Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 808acff3-8f24-11ee-a4dd-000c29b3fe28.
    2023-11-30T02:02:23.325188Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2023-11-30T02:02:23.765959Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
    2023-11-30T02:02:23.766008Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
    2023-11-30T02:02:23.766902Z 0 [Warning] CA certificate ca.pem is self signed.
    2023-11-30T02:02:24.007794Z 1 [Note] A temporary password is generated for root@localhost: Vm;n/i<44P(P
    
  5. 将mysql加入到systemd进程中

     [root@localhost ~]# cd /opt/mysql-5.7.35/builder[root@localhost builder]# cp scripts/mysqld.service /usr/lib/systemd/system/
    
  6. 启动mysql并修改密码

    ## 启动mysql并加入到开启自启

     [root@localhost ~]# systemctl  start mysqld [root@localhost ~]# systemctl  enable mysqld 
    

    ## 修改mysql密码
    在mysql初始化的时候会生成临时密码

     [root@localhost log]# mysql -uroot -p'Vm;n/i<44P(P'
    
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.35Copyright (c) 2000, 2021, 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 WITH mysql_native_password BY 'your_password';		# your_password 设置为你的密码mysql> use mysql;			mysql> update user set host ='%' where user='root';			# 设置root可远程访问,如不需要可忽略mysql> FLUSH PRIVILEGES;		# 刷新权限表
    

    ## 登录测试

     [root@localhost log]# mysql -uroot -p'your_password'
    
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.35 Source distributionCopyright (c) 2000, 2021, 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

使用源码安装mysql&#xff0c;这里选择的版本是mysql5.7.35 ,系统是Centos7.6 官网下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 下载源码压缩包 [rootlocalhost ~]# cd /opt[rootlocalhost opt]# wget https://downloads.mysql.com/archives/get/…...

注解方式优雅的实现Redisson分布式锁

1.前言 随着微服务的快速推进&#xff0c;分布式架构也得到蓬勃的发展&#xff0c;那么如何保证多进程之间的并发则成为需要考虑的问题。因为服务是分布式部署模式&#xff0c;本地锁Reentrantlock和Synchnorized就无法使用了&#xff0c;当然很多同学脱口而出的基于Redis的se…...

服务器安装JDK17 版本显示JDK8

服务器之前安装的是JDK8&#xff0c;后面升级JDK17后&#xff0c;发现执行 java -vsrsion 显示的是此时我的环境变量已经换成了JAVA17的路径 输入&#xff1a; vim /etc/profile 解决办法&#xff1a; 1.更新自己环境变量 bash export JAVA_HOME/usr/local/jdk-17.0.7 …...

利用MCMC 获得泊松分布

写出概率流方程如下 if state 0: if np.random.random() < min([Lambda/2, 1]):state 1else:passelif state 1:if choose_prob_state[i] < 0.5:#选择 1 -> 0&#xff0c;此时的接受概率为min[2/Lambda, 1]if np.random.random() < min([2/Lambda, 1]…...

docker-compose脚本编写及常用命令

安装 linux DOCKER_CONFIG/usr/local/lib/docker/cli-plugins sudo mkdir -p $DOCKER_CONFIG/cli-plugins sudo curl -SL https://521github.com/docker/compose/releases/download/v2.6.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose sudo c…...

编译企业微信会话内容存档PHP版SDK扩展

1.下载SDK 如果克隆不了&#xff0c;就页面下载 git clone https://github.com/pangdahua/php7-wxwork-finance-sdk2.下载企微官网C版本的最新sdk文件 下载地址&#xff1a;https://wwcdn.weixin.qq.com/node/wework/images/sdk_20201116.rar 下载以后将解压之后的文件夹里l…...

传统算法:使用 Pygame 实现K-Means 聚类算法

使用 Pygame 模块演示了 K-Means 聚类算法的基本原理。让我逐步解释它的实现: 初始化和基本设置 Pygame 初始化: 通过 pygame.init() 初始化 Pygame。 定义颜色和屏幕大小: 定义了一些颜色常量(WHITE, BLACK, RED, GREEN, BLUE)和屏幕的宽度和高度。 创建 Pygame 窗口:…...

WebUI工作流插件超越ComfyUI

在AI绘画领域&#xff0c;Stable Diffsion是最受欢迎的&#xff0c;因为它是开源软件。 开源有两大优势&#xff0c;一是免费&#xff0c;二是适合折腾。 大量的开发者、爱好者投入无尽的热情&#xff0c;来推动Stable Diffsion的快速发展。 在图形界面方面&#xff0c;WebU…...

Docker容器化平台及其优势和应用场景介绍

Docker是一种开源的容器化平台&#xff0c;它基于操作系统级别虚拟化技术&#xff0c;可以将应用程序及其依赖项打包成一个独立的容器&#xff0c;提供轻量级、一致性、可移植性的应用环境。Docker的基本概念和优势如下&#xff1a; 镜像(Image)&#xff1a;Docker容器的基础&…...

Hive:从HDFS回收站恢复被删的表

场景 一张手工维护的内部表&#xff0c;本来排查没有使用&#xff0c;然后删掉了&#xff0c;发现又需要使用&#xff0c;只能恢复这张表了。 1.确认HDFS是否开启回收站功能 2.查看回收站中的数据 被删除的数据会放在删除数据时使用的用户目录下&#xff0c;如&#xff1a;使…...

TZOJ 1387 人见人爱A+B

答案&#xff1a; #include <stdio.h> void time(int ah, int am, int as, int bh, int bm, int bs, int* sum_h, int* sum_m, int* sum_s) //不需要返回值所以定义void函数&#xff0c;前面6个为输入&#xff0c;然后用指针存给后面三个 {*sum_s (as bs) % 60; …...

校园圈子系统丨交友丨地图找伴丨二手市场等功能丨源码交付支持二开丨APP小程序H5三端交付!

校园圈子系统是一款专为校园生活设计的智能应用&#xff0c;拥有丰富多样的功能模块&#xff0c;提供全方位的服务。无论您是师生还是校友&#xff0c;我们都为您打造了一个与校园紧密相连的交流平台。 通过校园圈子系统&#xff0c;您可以方便地浏览校内最新动态&#xff0c;包…...

java操作windows系统功能案例(一)

下面是一个Java操作Windows系统功能的简单案例&#xff1a; 获取系统信息&#xff1a; import java.util.Properties;public class SystemInfo {public static void main(String[] args) {Properties properties System.getProperties();properties.list(System.out);} }该程…...

【双向链表的实现】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1. 双向链表的结构 2. 双向链表的实现 2.1 头文件 ——双向链表的创建及功能函数的定义 2.2 源文件 ——双向链表的功能函数的实现 2.3 源文件 ——双向链表功能的…...

中台战略思想与架构总结

中台战略思想与架构总结 在2015年年中&#xff0c;马云带领阿里高管&#xff0c;拜访了游戏公司Supercell&#xff0c;以《部落战争》《海岛奇兵》《卡通农场》等游戏知名。 Supercell是一家典型的以小团队模式进行游戏开发的公司&#xff0c;一般来说两个员工&#xff0c;或…...

VUE2+THREE.JS点击事件

THREE.JS点击事件 1.增加监听点击事件2.点击事件实现3.记得关闭页面时 销毁此监听事件 1.增加监听点击事件 renderer.domElement.addEventListener("click", this.onClick, false); 注:初始化render时监听 2.点击事件实现 onClick(event) {const raycaster new …...

基于SSM+SpringBoot+Vue小区车位租赁系统

[技术实现] 小区车位租赁系统是使用SSMSpringBootVue前后端分离的管理系统。使用Spring框架可以在自动注入项目层级之间的调用对象&#xff0c;方便解耦&#xff0c;SpringMVC是体现了MVC设计思想的轻量级web框架&#xff0c;对web层进行解耦&#xff0c;使开发更简洁,MyBatis…...

Oracle(2-8)Configuring the Database Archiving Mode

文章目录 一、基础知识1、Redo Log History2、NOARCHIVELOG Mode 非归档模式3、ARCHIVELOG Mode 归档模式4、Changing the Archiving Mode 更改归档模式![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d6a09f9a6de24de7bbcdad90b8d6b9ca.png)5、Auto and Manual Ar…...

制造企业建设数字工厂管理系统的难点主要有哪些

随着科技的飞速发展&#xff0c;制造企业正面临着从传统生产模式向数字化、智能化转型的挑战。其中&#xff0c;建设数字工厂管理系统是实现这一目标的重要途径。然而&#xff0c;在实际操作过程中&#xff0c;制造企业往往会遇到一系列难点。本文将对这些难点进行详细的分析。…...

基于UDP网络聊天室OICQ

Linux系统 Gcc Gdb makefile 实现局域网OICQ程序设计&#xff0c;包括客户端和服务端。 客户端描述&#xff1a;客户端运行开始出现登陆界面。与服务端进行连接&#xff0c;连接后把账号信息发送给服务端&#xff0c;服务端验证后&#xff0c;把确认结果通知客户端。如果通…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。

2024 年&#xff0c;高端封装市场规模为 80 亿美元&#xff0c;预计到 2030 年将超过 280 亿美元&#xff0c;2024-2030 年复合年增长率为 23%。 细分到各个终端市场&#xff0c;最大的高端性能封装市场是“电信和基础设施”&#xff0c;2024 年该市场创造了超过 67% 的收入。…...

linux设备重启后时间与网络时间不同步怎么解决?

linux设备重启后时间与网络时间不同步怎么解决&#xff1f; 设备只要一重启&#xff0c;时间又错了/偏了&#xff0c;明明刚刚对时还是对的&#xff01; 这在物联网、嵌入式开发环境特别常见&#xff0c;尤其是开发板、树莓派、rk3588 这类设备。 解决方法&#xff1a; 加硬件…...

SQLSERVER-DB操作记录

在SQL Server中&#xff0c;将查询结果放入一张新表可以通过几种方法实现。 方法1&#xff1a;使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构&#xff08;包括列名和数据类型&#xff09;将与查询结果匹配。 SELECT * INTO 新…...

rk3506上移植lvgl应用

本文档介绍如何在开发板上运行以及移植LVGL。 1. 移植准备 硬件环境:开发板及其配套屏幕 开发板镜像 主机环境:Ubuntu 22.04.5 2. LVGL启动 ​ 出厂系统默认配置了 LVGL,并且上电之后默认会启动 一个LVGL应用 。 LVGL 的启动脚本为/etc/init.d/pre_init/S00-lv_demo,…...

RK3568项目(七)--uboot系统之外设与PMIC详解

目录 一、引言 二、按键 ------>2.1、按键种类 ------------>2.1.1、RESET ------------>2.1.2、UPDATE ------------>2.1.3、PWRON 部分 ------------>2.1.4、RK809 PMIC ------------>2.1.5、ADC按键 ------------>2.1.6、ADC按键驱动 ------…...

SeaweedFS S3 Spring Boot Starter

SeaweedFS S3 Spring Boot Starter 源码特性环境要求快速开始1. 添加依赖2. 配置文件3. 使用方式方式一&#xff1a;注入服务类方式二&#xff1a;使用工具类 API 文档SeaweedFsS3Service 主要方法SeaweedFsS3Util 工具类方法 配置参数运行测试构建项目注意事项集成应用更多项目…...

软件测试—学习Day11

今天学习下兼容性 1.App兼容性常见问题 以下是关于 App 兼容性问题的常见举例&#xff0c;涵盖界面展示、操作逻辑、性能差异三大维度&#xff0c;涉及不同系统、设备及网络环境的兼容性场景&#xff1a; 一、界面展示问题 界面展示兼容性问题主要由操作系统版本差异、屏幕…...