MySQL数据库编译及安装

 将安装mysql 所需软件包传到/opt目录下

cd /opt
mysql-5.7.20.tar.gz
boost_1_59_0.tar.gz
#支持c++的运行库
安装环境依赖包
yum -y install \
gcc \
gcc-c++ \
ncurses \
#字符终端下图形互动功能的动态库
ncurses-devel \
#ncurses开发包
bison \
#语法分析器
cmake
#mysql需要用cmake编译安装
---------------------------------
yum -y install \
gcc gcc-c++ \
ncurses \
ncurses-devel \
bison \
cmake \
openssl-devel
配置软件模块
cd /opt
tar xf mysql-5.7.20.tar.gz
tar xf boost_1_59_0.tar.gzmv boost_1_59_0 /usr/local/boost
#将boost文件重命名cd /opt/mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
#指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \
#指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \
#指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \
#指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \
#指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \
#指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
#安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
#安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \
#指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \
#指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1
#生成便于systemctl管理的文件
----------------------------------------------------------------------
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
#注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧
编译及安装
make -j4 && make install
#编译并安装
#编译时使用4核同时工作,能够有效缩短时间,但请注意不可超过配置的cpu数量
创建mysql用户
useradd -M -s /sbin/nologin  mysql
#创建用户,但不创建家目录,且指定程序用户不可登录
修改mysql 配置文件
vim /etc/my.cnf
#删除原配置项,再重新添加下面内容[client]
#客户端设置
port = 3306
socket = /usr/local/mysql/mysql.sock			[mysql]
#服务端设置
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash
#开启自动补全功能[mysqld]
#服务全局设置
user = mysql
#设置管理用户
basedir=/usr/local/mysql
#指定数据库的安装目录
datadir=/usr/local/mysql/data
#指定数据库文件的存储路径
port = 3306
#指定端口
character-set-server=utf8
#设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid
#指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock
#指定数据库连接文件
bind-address = 0.0.0.0
#设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve
#禁止域名解析,包括主机名,所以授权的时候要使用 IP 地址
max_connections=4096
#设置mysql的最大连接数
default-storage-engine=INNODB
#指定默认存储引擎
max_allowed_packet=32M
#设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB,最大值是 1GB,必须设置 1024 的倍数。
server-id = 1
#指定服务ID号sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
------------------------------------------------------------------------------------
[client]
port=3306
socket=/usr/local/mysql/mysql.sock[mysql]
port=3306
socket=/usr/local/mysql/mysql.sock
auto-rehash[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
character-set-server=utf8
pid-file=/usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address=0.0.0.0
skip-name-resolve
max_connections=4096
default-storage-engine=INNODB
max_allowed_packet=32M
server-id=1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
#修改文件目录的属主及属组
chown mysql:mysql /etc/my.cnf
#修改配置文件的属主及属组
设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
#将mysql服务命令路径加入$PATH,写入到profile文件中
source /etc/profile
#不用重启服务,重载配置文件
初始化数据库
cd /usr/local/mysql/bin/./mysqld \
--initialize-insecure \
#生成初始化密码为空
--user=mysql \
#指定管理用户
--basedir=/usr/local/mysql \
#指定数据库的安装目录
--datadir=/usr/local/mysql/data
#指定数据库文件的存储路径
----------------------------------------
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
#用于systemctl服务管理
systemctl daemon-reload
#刷新识别     
systemctl start mysqld.service
#开启服务
systemctl enable mysqld
#开机自启动
netstat -anpt | grep 3306
#查看端口
修改mysql 的登录密码
mysqladmin -u root password "abc123"
#给root账号设置密码为abc123,原始密码为空
授权远程登录
mysql -u root -p
(mysql -u root -pabc123  #可直接免交互登录)> grant all privileges on *.* to 'root'@'%' identified by 'abc123';
#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限> show databases;
#查看当前已有的数据库> quit
#退出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/580993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么设置Facebook双重验证,让Facebook账号更稳定?

对于跨境电商而言,Facebook 账号被封是常有的事,原因之一可能是没有给 Facebook 设置双重验证,今天就和大家科普一下什么是 Facebook双重验证以及如何设置,另外,作为跨境卖家,我们还需要了解如何保护 Faceb…

Bert-vits2最终版Bert-vits2-2.3云端训练和推理(Colab免费GPU算力平台)

对于深度学习初学者来说,JupyterNoteBook的脚本运行形式显然更加友好,依托Python语言的跨平台特性,JupyterNoteBook既可以在本地线下环境运行,也可以在线上服务器上运行。GoogleColab作为免费GPU算力平台的执牛耳者,更…

视频格式网络地址转换视频到本地,获取封面、时长,其他格式转换成mp4

使用ffmpeg软件转换网络视频,先从官网下载对应操作系统环境的包 注意:网络地址需要是视频格式结尾,例如.mp4,.flv 等 官网地址:Download FFmpeg window包: linux包: 如果下载缓慢,下载迅雷安装使用…

Pycharm2023版本:Python远程调试配置详解

工欲善其事,必先利其器 首先你需要选择一个专业版本的pycharm,社区版本不支持远程配置功能,专业版下载地址:Pycharm 2023 双击程序进行安装,30天内免费试用,如果想要永久使用,办法你懂的&…

GBASE南大通用 GCDW阿里云计算巢:自动化部署云原生数据仓库

目前,GBASE南大通用已与阿里云计算巢合作,双方融合各自技术优势,助力企业用户实现云上数据仓库的自动化部署,让用户在云端获取数据仓库服务“更简单”,让用户在云端使用数据仓库服务“更便捷”,满足企业用户…

Arm CCA机密计算扩展

目录 Realms Realm World和Root World Arm TrustZone扩展和Arm RME之间有什么区别? 在《什么是机密计算?》中所述,Arm CCA允许您在阻止更高特权软件实体(例如Hypervisor)访问的同时部署应用程序或虚拟机(VM)。然而,通常由这些特权软件实体管理内存等资源。在这种情况…

在Visual Studio(VS)编译器中,Release和Debug区别

一、 优化级别 1、Debug(调试) 在Debug模式下,编译器不会对代码进行优化,而是专注于生成易于调试的代码。这使得开发者可以在调试过程中更直观地跟踪变量的值和程序的执行流程。 2、Release(发布) 在Relea…

CSS3——动画

动画 什么是帧 一段动画,就是一段时间内连续播放n个画面。每一张画面,我们管它叫做“帧”。一定时间内连续快速播放若干个顿,就成了人眼中所看到的动画。同样时间内,播放的帧数越多,画面看起来越流畅。 2.什么是关键…

uniapp 安卓模拟器链接

下载genymotion 安装 配置adb路径 模拟端口设为 5307

数据库系统课程设计(高校成绩管理数据库系统的设计与实现)

目录 1、需求分析 1 1.1 数据需求描述 1 1.2 系统功能需求 3 1.3 其他性能需求 4 2、概念结构设计 4 2.1 局部E-R图 4 2.2 全局E-R图 5 2.3 优化E-R图 6 3、逻辑结构设计 6 3.1 关系模式设计 6 3.2 数据类型定义 6 3.3 关系模式的优化 8 4、物理结构设计 9 4.1 聚…

CSDN规则详解——csdn那些你不知道的事儿(点赞、评论、收藏)

文章目录 每日一句正能量前言点赞评论收藏原力等级和博客等级后记 每日一句正能量 “只有奋斗者才能成为胜利者,只有坚持者才能创造奇迹。” - 迈克尔乔丹 这句话来自于世界著名篮球运动员迈克尔乔丹,他以无与伦比的天赋和努力成为了篮球界的传奇人物。他…

基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

customized chat GitHub - bigcyy/customized-chatgpt: 基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo 简介 基于ChatGpt,Java,SpringBoot,Vue,Milvus向…

模式识别与机器学习-SVM(线性支持向量机)

线性支持向量机 线性支持向量机间隔距离学习的对偶算法算法:线性可分支持向量机学习算法线性可分支持向量机例子 谨以此博客作为复习期间的记录 线性支持向量机 在以上四条线中,都可以作为分割平面,误差率也都为0。但是那个分割平面效果更好呢&#xff1…

Java文件操作实现doc格式转pdf

使用场景 在进行生成文档或者报告的时候,生成的word想要转换为pdf格式,这样才能保证报告的不可修改性,但是aspose-words的工具的License令人头疼,这篇文章就是解决这个doc转pdf的License的问题。话不多说,直接上实操。…

lodash源码分析每日一练 - 数组 - intersection / intersectionBy / intersectionWith

今日分享: 每一步都是曼妙的风景~ lodash官网地址 _.intersection([arrays]) 使用: 创建唯一值的数组,这个数组包含所有给定数组都包含的元素,使用SameValueZero进行相等性比较。(注:可以理解为给定数组…

箭头函数的泛型,typescript中怎么写

TypeScript——泛型(函数泛型、模板类型可以是多个、泛型的错误、泛型函数变量、泛型函数类型接口、泛型类1、泛型类2、泛型约束、泛型参数的默认类型)、声明文件、Vue3.0集成ts_typescript 泛型函数-CSDN博客

JavaScript----条件语句

1. 条件语句的介绍 条件语句就是通过条件来控制程序的走向 2. 条件语句语法 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码if...else if....else 语句 - 使用该…

【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇

文章目录 📝前言🌠什么是位段?🌉 位段的内存分配🌉VS怎么开辟位段空间呢?🌉位段的跨平台问题🌠 位段的应⽤🌠位段使⽤的注意事项🚩总结 📝前言 本…

第40节: Vue3 注册生命周期钩子

在UniApp中使用Vue3框架时&#xff0c;你可以注册生命周期钩子来执行特定的逻辑。以下是一个示例&#xff0c;演示了如何在UniApp中使用Vue3框架注册生命周期钩子&#xff1a; <template> <view> <p>{{ message }}</p> </view> </templ…

大数据HCIE成神之路之数据预处理(6)——特征编码

特征编码 1.1 独热编码1.1.1 实验任务1.1.1.1 实验背景1.1.1.2 实验目标1.1.1.3 实验数据解析1.1.2 实验思路1.1.3 实验操作步骤1.1.4 结果验证1.2 Label-Encoding1.2.1 实验任务1.2.1.1 实验背景1.2.1.2 实验目标1.2.1.3 实验数据解析1.2.2 实验思路1.2.3 实验操作步骤1.2.4 结…