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

Mysql 编译安装部署

Mysql 编译安装部署

环境:

172.20.26.198(Centos7.6)   源码安装Mysql-5.7

大概步骤如下:

1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar 到/usr/src 目录下

2、安装依赖

3、cmake

4、make && make install 

5、cp support-files/mysql.server my.cnf ,编辑my.cnf文件,添加数据目录及参数

6、创建/data/mysql57目录,并授权mysql可写权限,创建mysql用户

7、初始化 /usr/local/mysql57/bin/mysqld --initialize --user=mysql --

datadir=/data/mysql57 \

--basedir=/usr/local/mysql57/

8、cp support-files/mysql.server /etc/init.d/mysqld ,将启动脚本拷贝到/etc/init.d目录下,命名为mysqld,并检查脚本是否有执行权限

9、启动mysql 服务  /etc/init.d/mysqld57 start

10、配置环境变量

11、登录及管理数据库

具体操作如下:

1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar  #到/usr/src 目录下,并解压

[root@localhost ~]# cd /usr/src/

[root@localhost src]# ll

总用量 0

drwxr-xr-x. 2 root root 6 4月  11 2018 debug

drwxr-xr-x. 2 root root 6 4月  11 2018 kernels

[root@localhost src]#rz             #上传mysql-5.7.28.tar.gz

Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护

[root@localhost src]#rz    #上传 boost_1_59_0.tar

[root@localhost src]# ll       #查看mysql-5.7.28.tar.gz 和 boost_1_59_0.tar已完成上传

[root@localhost src]# tar xf boost_1_59_0.tar.gz   #解压 boost_1_59_0.tar 文件

[root@localhost src]# mv boost_1_59_0 /usr/local/boost   #将解压后的boost_1_59_0

目录移动到/usr/local/boost

[root@localhost src]# tar xf mysql-5.7.28.tar.gz   #解压mysql-5.7.28.tar.gz

[root@localhost src]# cd mysql-5.7.28

[root@localhost mysql-5.7.28]# ll

2、安装依赖:

[root@localhost src]#yum install gcc ncurses-devel libaio bison gcc-c++ git

cmake ncurses-devel openssl openssl-devel -y

3、在/usr/src/mysql-5.7.28    #目录下,执行cmake 命令进行预编译

[root@localhost mysql-5.7.28]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \

> -DMYSQL_UNIX_ADDR=/data/mysql57/mysql.sock \

> -DMYSQL_DATADIR=/data/mysql57 \

> -DSYSCONFDIR=/usr/local/mysql57 \

> -DMYSQL_USER=mysql \

> -DMYSQL_TCP_PORT=3307 \

> -DWITH_XTRADB_STORAGE_ENGINE=1 \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_PARTITION_STORAGE_ENGINE=1 \

> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

> -DWITH_MYISAM_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DENABLED_LOCAL_INFILE=1 \

> -DWITH_EXTRA_CHARSETS=1 \

> -DDEFAULT_CHARSET=utf8 \

> -DDEFAULT_COLLATION=utf8_general_ci \

> -DEXTRA_CHARSETS=all \

> -DWITH_BIG_TABLES=1 \

> -DWITH_DEBUG=0 \

> -DENABLE_DTRACE=0 \

> -DDOWNLOAD_BOOST=1 \

> -DWITH_BOOST=/usr/local/boost

4、make && make install  进行编译和安装,根据机器配置高低,决定所需时间长短,一般在半个小时左右

[root@localhost mysql-5.7.28]# make && make install     

成功完成make && make install  安装。

5、拷贝配置文件,cp support-files/mysql.server my.cnf ,编辑my.cnf文件,添加数据目录及参数

[root@localhost mysql57]# cp support-files/mysql.server my.cnf   添加以下数据到my.cnf中

[mysqld]

basedir=/usr/local/mysql57/

datadir=/data/mysql57/

port=3306

pid-file=/data/mysql57/mysql.pid

socket=/data/mysql57/mysql.sock

[mysqld_safe]

log-error=/data/mysql57/mysql.log

6、创建/data/mysql57目录,并授权mysql可写权限,创建mysql用户

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

 [root@localhost mysql57]# useradd -s /sbin/nologin mysql

[root@localhost mysql57]# chown mysql . /data/mysql57/

[root@localhost mysql57]# chown -R mysql. /data/mysql57/

[root@localhost mysql57]# ll /data/mysql57 -d        

drwxr-xr-x 2 mysql mysql 6 12月 26 15:26 /data/mysql57

7、初始化

进到/usr/local/mysql57目录下

[root@localhost mysql57]# /usr/local/mysql57/bin/mysqld --initialize --user=mysql --datadir=/data/mysql57 \ --basedir=/usr/local/mysql57/

因为初始化的时候选择的是“--initialize”,所以初始化完成后会生成一个随机密码,在最后一行,记得记录下来,如:AUCd3=fhb8f5,登录后修改密码,(如果设置为 --initialize-insecure,这样默认密码为空)

8、将启动脚本拷贝到/etc/init.d目录下,命名为mysqld

[root@localhost mysql57]# cp support-files/mysql.server /etc/init.d/mysqld  

[root@localhost mysql57]# ll /etc/init.d/mysqld    #检查脚本是否有执行权限

检查3306端口是否被占用

9、启动mysql 服务,检查3306端口

 [root@localhost mysql57]# /etc/init.d/mysqld start

10、配置环境变量

当前环境变量

[root@localhost ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@localhost ~]#

[root@localhost ~]# echo “export PATH=/usr/local/mysql57/bin:$PATH” >> /etc/profile

   [root@localhost ~]# source /etc/profile    #保存后,使环境变量生效

11、登录及管理mysql

[root@localhost ~]# mysql -uroot -pAUCd3=fhb8f5

登录后修改mysql密码,源码安装带初始密码的,使用alter来改密码

alter user user() identified by "123456";   # user()指是当前用户

exit 退出,用新密码登录

注:密码为空或者已知当前密码:将密码改为123456

登录mysql后:mysql> set password for root@localhost = password('123456');

在shell终端执行:mysql -uroot -p -e "set password for root@localhost=password('123456');"

在shell终端用mysqladmin:mysqladmin -uroot -p123 password 123456

源码安装mysql 5.7版本完成。

mysql> show databases;  #查询数据库

创建jfedu数据库,设置字符集

mysql>create database jfedu charset=utf8;

如果用下面这条命令创建数据库,如果数据库已经存在就不会报错,否则会报错。

mysql>create database if not exists jfedu charset=utf8;

删除jfedu数据库

mysql> show databases;

如果使用下面这种方式删除数据库,如果数据库不存在就不会报错。

drop database if exists jfedu;

在jfedu数据库中创建t1表

mysql> use jfedu

Database changed

mysql> create table t1( id int(10) auto_increment primary key,

    -> name varchar(20), job varchar(10) );

Query OK, 0 rows affected (0.02 sec)

查看所有表

mysql> show tables;

查看所有表的详细信息:

mysql> show table status\G

查看表结构

mysql> desc t1;

查看创建表的sql语句

mysql> show create table t1\G

相关文章:

Mysql 编译安装部署

Mysql 编译安装部署 环境: 172.20.26.198(Centos7.6) 源码安装Mysql-5.7 大概步骤如下: 1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar 到/usr/src 目录下 2、安装依赖 3、cmake 4、make && make install 5、…...

【目标检测】YOLOv5算法实现(九):模型预测

本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github,删减了源码中部分内容,满足个人科研需求。   本系列文章主要以YOLOv5为例完成算法的实现,后续修改、增加相关模…...

centos宝塔远程服务器怎么链接?

要远程连接CentOS宝塔服务器,可以按照以下步骤操作: 打开终端或远程连接工具,比如PuTTY。输入服务器的IP地址和SSH端口号(默认为22),点击连接。输入用户名和密码进行登录。 如果你已经安装了宝塔面板&…...

C语言练习day8

变种水仙花 变种水仙花_牛客题霸_牛客网 题目: 思路:我们拿到题目的第一步可以先看一看题目给的例子,1461这个数被从中间拆成了两部分:1和461,14和61,146和1,不知道看到这大家有没有觉得很熟…...

蓝凌OA-sysuicomponent-任意文件上传_exp-漏洞复现

0x01阅读须知 技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的…...

C#,入门教程(38)——大型工程软件中类(class)修饰词partial的使用方法

上一篇: C#,入门教程(37)——优秀程序员的修炼之道https://blog.csdn.net/beijinghorn/article/details/125011644 一、大型(工程应用)软件倚重 partial 先说说大型(工程应用)软件对源代码的文件及函数“…...

C++播放音乐:使用EGE图形库

——开胃菜,闲话篓子一大片 最近,我发现ege图形库不是个正经的图形库—— 那天,我又在打趣儿地翻代码时,无意间看到了这个: 图形库?!你哪来的音乐(Music)呢&#xff1f…...

C++中const和constexpr的区别:了解常量的不同用法

C中const和constexpr的区别 一、C中的常量概念二、const关键字的用法和特点三、constexpr关键字的用法和特点四、const和constexpr的区别对比4.1、编译时计算能力4.2、可以赋值的范围4.3、对类和对象的适用性4.4、对函数的适用性4.5、性能和效率的差异 五、使用示例六、总结 一…...

高级架构师是如何设计一个系统的?

架构师如何设计系统? 系统拆分 通过DDD领域模型,对服务进行拆分,将一个系统拆分为多个子系统,做成SpringCloud的微服务。微服务设计时要尽可能做到少扇出,多扇入,根据服务器的承载,进行客户端负…...

力扣:474. 一和零(动态规划)(01背包)

题目: 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 1: 输入&#…...

【复现】Apache Solr信息泄漏漏洞_24

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 Apache Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求&#x…...

《WebKit 技术内幕》之五(4): HTML解释器和DOM 模型

4 影子(Shadow)DOM 影子 DOM 是一个新东西,主要解决了一个文档中可能需要大量交互的多个 DOM 树建立和维护各自的功能边界的问题。 4.1 什么是影子 DOM 当开发这样一个用户界面的控件——这个控件可能由一些 HTML 的标签元素…...

记录一个sql:查询商品码对应多个商品的商品码

目录 背景sql 语句总结 背景 一个项目中,商品表和商品码表是一对多的关系,但由于程序没有控制好,导致有些商品码对应有多个商品,为了修正数据,我们得把商品码对应多个商品的商品码找出来. sql 语句 goods_detail表结构…...

Linux内核--网络协议栈(三)sk_buff介绍

目录 一、引言 二、sk_buff ------>2.1、skb介绍 ------>2.2、控制字段 ------>2.3、其他字段 ------>2.4、特定功能字段 ------>2.5、管理字段 ------>2.6、内存分配 ------>2.7、内存释放 ------>2.8、克隆和拷贝 ------>2.9、队列管理…...

尝试解决githubclone失败问题

BV1qV4y1m7PB 根据这个视频 似乎是我的linux的github似乎下好了 我没有配置好 比如我的ssh-key 现在根据视频试试 首先需要跳转到ssh的文件夹&#xff1a; cd ~/.ssh 然后生成一个ssh-key&#xff1a; ssh-keygen -t rsa -C "<github资料里的邮箱>" 然后…...

VUE表单中多个el-upload上传组件共享回调函数解决方案

产品需求界面&#xff1a; 在产品配置页面表单中需要上传多个图片&#xff0c;项目中上传组件采用Element Plus 中的 el-upload&#xff0c;目前问题是每个上传组件都需要实现自己的回调&#xff0c;比如:on-change&#xff0c;采用官方推荐标准代码如下&#xff1a; <el-fo…...

Opencv4快速入门笔记

opencv4 一、数据载入显示和储存 1.Mat类 cv::Mat a(640,480,CN_8UC3); //640*480 3通道 cv::Mat a(Size(480,640),CV_8UC1); Mat m a.clone();//克隆 Mat b (a,Range(2,5),Range(3,5));//截取a中2-5行&#xff0c;3-5列 Mat b(2,2,CV_8UC3,Scalar(0,0,255));//构造时赋值…...

three.js 点按钮,相机飞行靠近观察设备

效果&#xff1a; 点击按钮或直接点击模型都可以实现运动效果 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"><…...

什么情况下物理服务器会运行出错?

​  物理服务器&#xff0c;也称为裸机服务器&#xff0c;一般可以提供高性能计算水平和巨大的存储容量。然而&#xff0c;它们也难免会遇到一些问题。运行出错时&#xff0c;可能会导致停机和数据丢失。在这篇文章中&#xff0c;介绍了常见的物理服务器在一些情况下显示出错…...

配置免费的SSL

1 引言 本文介绍了如何在 Linux 环境下使用免费的 Let’s Encrypt 为你的网站配置 SSL 证书的方法&#xff0c;以及如何在 Nginx 服务器中启用 SSL。对于需要在自己的网站上启用 HTTPS 的用户来说非常实用。 2 SSL 简介 SSL&#xff0c;全称为 Secure Sockets Layer&#xf…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...