四种方式的MySQL安装

news2024/12/27 0:21:28

mysql安装常见的方法有四种

序号

安装方式

说明

1

yum\rpm

简单、快速,不能定制参数

2

二进制

解压,简单配置就可使用 免安装 mysql-a.b.c-linux2.x-x86_64.tar.gz

3

源码编译

可以定制参数,安装时间长 mysql-a.b.c.tar.gz

4

源码制成rpm包

把源码制作成符合要求的rpm,通过yum安装

MySQL RPM包下载

官网下载地址:

https://dev.mysql.com/downloads/mysql/

1. yum安装依赖包

yum -y install lrzsz wget perl-Digest-MD5

yum -y install numactl

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

添加用户及组

[root@jeames ~]# groupadd mysql

删除组:groupdel users

--用户加到组并指定根目录

[root@jeames ~]# useradd -g mysql -d /home/mysql mysql

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.

删除用户:userdel mysql

[root@jeames ~]# passwd mysql

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

安装Mysql

[root@jeames ~]# md5sum mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar

edf4d0f95867f62cdcc97b7349bedc59 mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar

[root@jeames ~]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar -C /home/mysql/

## 必须安装的四个RPM包

mysql-community-common-8.0.27-1.el8.x86_64.rpm

mysql-community-libs-8.0.27-1.el8.x86_64.rpm

mysql-community-client-8.0.27-1.el8.x86_64.rpm 是客户端的安装包

mysql-community-server-8.0.27-1.el8.x86_64.rpm 是服务端的安装包

## 授权

root@jeames ~]# chown -R mysql:mysql /home/mysql/

## 安装

注:root用户下操作

[root@jeames ~]# cd /home/mysql/

装顺序:包之间相互依赖,所以必须注意安装顺序

✓ 先装 common

✓ 再装 libs

✓ 再装 client

✓ 最后装 server

[root@jeames mysql]# rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm

[root@jeames mysql]# rpm -ivh --force --nodeps mysql-community-libs-8.0.27-1.el8.x86_64.rpm

[root@jeames mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --force --nodeps

[root@jeames mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --f

2 Linux环境二进制安装MySQL

MySQL二进制包下载

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

安装 MySQL

## 用户及目录创建

注:可以部署多个实例,通过端口区分root 用户操作:

mkdir -p /mysql/data/mysql3306

mkdir -p /mysql/app/

mkdir -p /mysql/conf/

mkdir -p /mysql/data/mysql3306/pid/

mkdir -p /mysql/data/mysql3306/socket/

mkdir -p /mysql/data/mysql3306/log/

mkdir -p /mysql/data/mysql3306/binlog/

mkdir -p /mysql/data/mysql3306/errlog

mkdir -p /mysql/data/mysql3306/relaylog/

mkdir -p /mysql/data/mysql3306/slowlog/

mkdir -p /mysql/data/mysql3306/tmp/

## 用户及组

[root@rhel76 ~]# groupadd mysql

[root@rhel76 ~]# useradd -g mysql mysql

[root@rhel76 ~]# chown -R mysql:mysql /mysql

[root@rhel76 ~]# passwd mysql

Changing password for user mysql.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@rhel76 ~]# cat /etc/group | grep mysql

mysql:x:1001:

[root@rhel76 ~]# cat /etc/passwd | grep mysql

mysql:x:1001:1001::/home/mysql:/bin/bash

## 上传软件包并解压

[root@rhel76 ~]# cp mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz /mysql/app

[root@rhel76 ~]# chown -R mysql:mysql /mysql

mysql用户操作

[root@rhel76 ~]# su - mysql

md5 值验证,保证下载到的软件包无破损无木马

[mysql@rhel76 ~]$ cd /mysql/app

[mysql@rhel76 app]$ ll

total 1168588

-rw-r--r-- 1 mysql mysql 1196633756 Nov 24 00:49 mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

[mysql@rhel76 app]$ md5sum mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

0bdd171cb8464ba32f65f7bf58bc9533 mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

解压软件包并重命名

[mysql@rhel76 app]$ tar xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

[mysql@rhel76 app]$ mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8.0.27

[mysql@rhel76 app]$ ll

total 1168588

drwxrwxr-x 9 mysql mysql 129 Nov 24 00:54 mysql8.0.27

-rw-r--r-- 1 mysql mysql 1196633756 Nov 24 00:49 mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

Linxu环境源码安装MySQL

Mysql源码下载

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

安装及配置

## 编译

[root@jeames007 ~]# mkdir /soft

[root@jeames007 ~]# mv mysql-boost-8.0.27.tar.gz /soft/

[root@jeames007 ~]# cd /soft

[root@jeames007 soft]# tar -zxf mysql-boost-8.0.27.tar.gz

[root@jeames007 soft]# ll

total 285340

drwxr-xr-x 31 7161 31415 4096 Sep 28 13:22 mysql-8.0.27

-rw-r--r-- 1 root root 292184025 Nov 25 15:08 mysql-boost-8.0.27.tar.gz

[root@jeames007 soft]# cd mysql-8.0.27

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DENABLE_DTRACE=0 \

-DDEFAULT_CHARSET=utf8mb4 \

-DDEFAULT_COLLATION=utf8mb4_general_ci \

-DWITH_EMBEDDED_SERVER=1 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/soft/mysql-8.0.27/boost/boost_1_73_0 \

-DFORCE_INSOURCE_BUILD=1

[root@jeames007 ~]# make -j4 --此处编译需要1个小时,一定要耐心等待

[root@jeames007 ~]# make install

## 用户及组

groupadd mysql

useradd -g mysql mysql

chown -R mysql:mysql /usr/local/mysql

## 参数文件

cat > /etc/my.cnf <<"EOF"

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port=3306

server_id=80273306

log-bin

skip-name-resolve

character_set_server=utf8mb4

default-time-zone = '+8:00'

log_timestamps = SYSTEM

EOF

## 初始化

/usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

## 环境变量

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /root/.bashrc

source /root/.bashrc

## 启动Mysql

#启动 MySQL

mysqld_safe &

#登录 mysql,默认密码为空

mysql -uroot -p

#关闭 MySQL

mysqladmin -uroot -p shutdown

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

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

相关文章

Spring boot 实战指南(四):登录认证(OAuth、Cookie、Session、Token)、Spring Security

文章目录一、登录认证方式1.OAuth 认证颁发令牌的四种方式2.Cookie/Session 认证(1)Cookie(2)Session3.Token认证基于JWT的Token认证(spring security)二、Spring boot整合Spring Security(前后端分离)1.快速入门2.认证3.授权参考&#xff1a; 教程 登录认证简介 OAuth 2.0 的一…

Spring项目中用了这种解耦模式,老大对我刮目相看

前言不知道大家在项目中有没有遇到过这样的场景&#xff0c;根据传入的类型&#xff0c;调用接口不同的实现类或者说服务&#xff0c;比如根据文件的类型使用 CSV解析器或者JSON解析器&#xff0c;在调用的客户端一般都是用if else去做判断&#xff0c;比如类型等于JSON&#x…

Python Web开发:用Tornado框架制作一个简易的网站

前言 大家早好、午好、晚好吖 ❤ ~ 今天我们要用Python做Web开发&#xff0c;做一个简单的【表白墙】网站。 众所周知表白墙的功能普遍更多的是发布找人&#xff0c;失物招领&#xff0c;还是一个大家可以跟自己喜欢的人公开表白的平台 Tornado框架简单介绍 在Python当中&am…

SpringMVC笔记【JavaEE】

SpringMVC 1. SpringMVC概念 Spring MVC 是一个Web 框架。Spring MVC 是基于Servlet API构建的。 MVC是 Model&#xff08;模型&#xff09; View&#xff08;视图&#xff09; Controller&#xff08;控制器&#xff09; 的缩写&#xff0c;它是一种设计模式。 视图分为两种&…

2022年山东省中职组“网络安全”赛项比赛任务书正式赛题

2022年山东省中职组“网络安全”赛项 比赛任务书 一、竞赛时间 总计&#xff1a;360分钟 竞赛阶段竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 180分钟 200分 A-2 Nginx安全策略 A-3 日志监控 A-4 中间件服务加固 A-5 本地安全策略…

html的表单标签(form)

目录标题1、表单标签主要有三大类&#xff1a;2、表单标签中常见的属性3、例子代码及结果4、注意&#xff1a;5、表单中特殊的属性表单标签可以用来数据交互&#xff0c;而前面学的六个标签只能发送不能接收。 表单标签的作用就是数据交互1、表单标签主要有三大类&#xff1a; …

搭建本地私有仓库

目录 一、搭建本地私有仓库 1、首先下载registry镜像 2、在daemon.json文件中添加私有镜像仓库地址 3、运行restart容器 4、为镜像打标签 5、上传到私有仓库 6、列出私有仓库的所有镜像 7、列出私有仓库的centos镜像有哪些tag 8、删除原有的centos的镜像&#xff0c;再测试…

双目测距------双目相机V1.0,将双目相机采集到任意一点的深度数据进行串口传输(带源码)

Depth2Uart 双目测距------双目相机V1.0&#xff0c;将双目相机采集到任意一点的深度数据进行串口传输 一、项目说明/Overview 所实现的功能&#xff1a;基于Intel Realsense官方提供的SDK&#xff0c;双目深度相机能获取到相机任何一个像素点距离前方障碍物的距离&#xff0…

电子学会2022年12月青少年软件编程(图形化)等级考试试卷(三级)答案解析

目录 一、单选题(共25题&#xff0c;共50分) 二、判断题(共10题&#xff0c;共20分) 三、编程题(共3题&#xff0c;共30分) 青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;三级&#xff09; 一、单选题(共25题&#xff0c;共50分) 1. 默认小猫角色…

FlinkCEP - Flink的复杂事件处理

版本说明 本文中以Flink 1.16.1 版本讲解说明 Note:Flink1.16.1版本相较于之前版本增强的within函数&#xff0c; 支持模式序列中相邻事件间的超时定义&#xff0c;以前版本只支持模式序列中第一个事件到最后一个事件之间的最大时间间隔。 快速开始 基于Kafka connecter 流…

C语言速成(有基础)

linux下的 是一种通用的、面向过程式的计算机编程语言 #include <stdio.h> //#include 预处理命令&#xff0c;用来引用头文件&#xff0c; stdio.h 头文件 int main() //开始 {/* 一个注释 */printf("Hello, World! \n");return 0; …

最强大的人工智能chatGPT不会还有人没用过吧,再不用就out了

&#x1f517; 运行环境&#xff1a;chatGPT &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f9…

JUC并发编程 Ⅱ -- 共享模型之管程(上)

文章目录共享带来的问题临界区 Critical Section竞态条件 Race Conditionsynchronized 解决方案synchronized语法解决方案思考面向对象改进方法上的 synchronized线程八锁变量的线程安全分析成员变量和静态变量是否线程安全&#xff1f;局部变量是否线程安全&#xff1f;局部变…

搜索插入位置-力扣35-java

一、题目描述给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums [1,3,5,6], target 5输出: 2示例 2:输…

制作自己的ChatGPT

众所周知&#xff0c;ChatGPT 目前能够取得令人印象深刻的壮举。 很可能许多人都有在他们自己的项目中使用该技术的想法。 不过需要注意的是&#xff0c;ChatGPT 目前并没有官方的 API。 使用非官方 API 可能会导致困难。 目前需要手动获取access token和cloudflare token才能…

基于Java+SpringBoot+Vue前后端分离学生宿舍管理系统设计与实现

博主介绍&#xff1a;✌全网粉丝3W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建、毕业项目实战、项目定制✌ 博主作品&#xff1a;《微服务实战》专栏是本人的实战经验总结&#xff0c;《S…

智慧水务未来技术发展方向预测探讨

随着科技的不断发展和城市化的加速&#xff0c;智慧水务作为一种新的水务模式&#xff0c;逐渐受到广泛关注。未来&#xff0c;智慧水务将会面临更多的技术挑战和商机。本博客将对智慧水务的未来技术发展方向进行预测&#xff0c;以探讨智慧水务未来可能的技术重点。 1. 人工…

MySQL数据库11——子查询语句

嵌入一个SELECT的语句称为子查询语句。虽然内连接也可以代替子查询&#xff0c;但是内连接效率不高。而且我个人觉得子查询更好理解。 单值子查询 果子查询返回单值&#xff0c;则可以使用关系运算符&#xff0c;例如&#xff0c;等于&#xff08;&#xff09;、不等于&#x…

【C语言】“指针的运算”、“指针与数组”

文章目录一、指针运算1.指针 - 整数2.指针-指针3.指针关系运算二、指针与数组三、二级指针四、指针数组完结一、指针运算 指针可以进行整数&#xff0c;指针-指针&#xff0c;还有关系运算&#xff0c;其他的运算会被编译器阻止。 1.指针 - 整数 对指针进行的时候一定要注意不…

【SSM】篇一:初试Spring--Ioc与Bean

文章目录1、Spring2、SpringFramework系统架构3、Bean--Bean的配置Bean的实例化Bean的生命周期1、Spring Spring地址&#xff1a;https://spring.io Spring技术的优点&#xff1a; Spring家族&#xff08;Spring全家桶&#xff09;&#xff1a; 2、SpringFramework系统架构 S…