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)呢?…...

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的文件夹: cd ~/.ssh 然后生成一个ssh-key: ssh-keygen -t rsa -C "<github资料里的邮箱>" 然后…...

VUE表单中多个el-upload上传组件共享回调函数解决方案
产品需求界面: 在产品配置页面表单中需要上传多个图片,项目中上传组件采用Element Plus 中的 el-upload,目前问题是每个上传组件都需要实现自己的回调,比如:on-change,采用官方推荐标准代码如下: <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行,3-5列 Mat b(2,2,CV_8UC3,Scalar(0,0,255));//构造时赋值…...

three.js 点按钮,相机飞行靠近观察设备
效果: 点击按钮或直接点击模型都可以实现运动效果 代码: <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"><…...

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

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

(2)(2.1) Andruav Android Cellular(一)
文章目录 前言 1 Andruav 是什么? 2 Andruav入门 3 Andruav FPV 4 Andruav GCS App 前言 Andruav 是一个基于安卓的互联系统,它将安卓手机作为公司计算机,为你的无人机和遥控车增添先进功能。 1 Andruav 是什么ÿ…...

[GN] Vue3.2 快速上手 ---- 核心语法(终章)_3
文章目录 路由器工作模式命名路由to的三种写法嵌套路由路由传参query参数params参数 路由的props配置replace 和 push编程式导航重定向 总结 路由器工作模式 history模式 优点:URL更加美观,不带有#,更接近传统的网站URL。 缺点:后…...

在k8s上部署ClickHouse
概述 clickhouse的容器化部署,已经有非常成熟的生态了。在一些互联网大厂也已经得到了大规模的应用。 clickhouse作为一款数据库,其容器化的主要难点在于它是有状态的服务,因此,我们需要配置PVC。 目前业界比较流行的部署方式有…...

快速入门:使用 Gemini Embeddings 和 Elasticsearch 进行向量搜索
Gemini 是 Google DeepMind 开发的多模态大语言模型家族,作为 LaMDA 和 PaLM 2 的后继者。由 Gemini Ultra、Gemini Pro 和 Gemini Nano 组成,于 2023 年 12 月 6 日发布,定位为 OpenAI 的竞争者 GPT-4。 本教程演示如何使用 Gemini API 创建…...

【网络安全】-入门版
secure 一、基本工具1、metasploit framework ps.本着兴趣爱好,加强电脑的安全防护能力,并严格遵守法律和道德规范。一、基本工具 1、metasploit framework msf(metasploit framework)是一个开源的渗透测试框架,用于…...

Elasticsearch各种高级文档操作3
本文来记录几种Elasticsearch的文档操作 文章目录 初始化文档数据聚合查询文档概述对某个字段取最大值 max 示例对某个字段取最小值 min 示例对某个字段求和 sum 示例对某个字段取平均值 avg 示例对某个字段的值进行去重之后再取总数 示例 State 聚合查询文档概述操作实例 桶聚…...

【算法题】66. 加一
题目 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:…...

查看服务器资源使用情况
查看服务器资源使用情况 一、top命令二、理解IOPS三、腾讯云机器cvm四、iotop五、atop六、查看内存使用情况一、top命令 "top"命令是一个Linux系统的实用工具,用于动态监视系统的运行状态。它会实时显示系统中正在运行的进程列表,并按照CPU使用率、内存使用率等指…...

锐浪报表 Grid++Report 明细表格标题重复打印
一、问题提出 锐浪报表 GridReport,打印表格时,对于明细表格的标题,打开换页时,需要重复打印明细表格的标题,或取消打印明细表格的标题。见下表: 首页: 后续页:(无明细表…...

编程笔记 html5cssjs 048 CSS链接
编程笔记 html5&css&js 048 CSS链接 一、设置链接样式二、文本装饰三、背景色四、链接按钮五、练习小结 通过 CSS,可以用不同的方式设置链接的样式。 一、设置链接样式 链接可以使用任何 CSS 属性(例如 color、font-family、background 等&…...