【数据库】 mysql的四种安装方式

news2025/1/17 14:06:02

目录

 MySQL 安装部署

一,仓库安装

二,本地安装

三,容器安装

四,源码安装 


 MySQL 安装部署

一,仓库安装

1,使用rpm命令从指定的网址装包

​
[root@localhost yum.repos.d]# rpm -ivh  https://repo.mysql.com//mysql80-community-release-el9-1.noarch.rpm

​

2,查看已经安装的仓库id和仓库名称,会发现多了以下几个仓库

 MySQL Connectors Community; MySQL Tools Community  ;MySQL 8.0 Community Server;

[root@localhost yum.repos.d]# yum repolist

3,安装mysql软件

[root@wangjingjing yum.repos.d]# dnf install mysql-server -y

4,运行mysql软件

[root@localhost yum.repos.d]# systemctl start mysqld

5,查看mysqld服务的状态

[root@wangjingjing yum.repos.d]# systemctl status mysqld

6,在/var/log/mysqld.log目录下面查看数据库root的临时密码

[root@localhost yum.repos.d]# grep 'temporary password' /var/log/mysqld.log

7,使用临时密码登录数据库(密码和-p之间不能有空格)

[root@localhost yum.repos.d]# mysql -uroot -p' 9tJZ4JPtVa,)'

8,必须重置root用户的密码

要求密码至少包含一个大写字母、一个小写字母、一位数字和一个特殊字符,并且密码总长度至少为8个字符。密码和-p不能有空格隔开

mysql> alter user root@localhost identified by 'Admin123!';

9,退出数据库

mysql> exit

10,使用新设置的密码登录数据库

[root@localhost yum.repos.d]# mysql -uroot -pAdmin123!

11,查看数据库

mysql> show databases;

卸载数据库软件

1,使用命令卸载mysql软件

[root@localhost yum.repos.d]# dnf remove mysql-server -y

2,查看是否卸载干净

[root@localhost yum.repos.d]# rpm -qa | grep mysql

3,把没卸载干净的卸载完

[root@localhost yum.repos.d]# rpm -e mysql80-community-release-el9-1.noarch

4,清除日志文件

[root@localhost yum.repos.d]# rm -rf /var/lib/mysql /var/log/mysqld.log

二,本地安装

1,新建一个mysql目录,并切换到mydql目录下

[root@localhost yum.repos.d]# mkdir mysql

[root@localhost yum.repos.d]# cd mysql

2,下载rpm包

​
[root@localhost mysql]# wget  https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar

​

3,下载完成后是一个tar包,需要解包

[root@localhost mysql]# tar xf mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar

4,解包后会生成许多rpm包

[root@localhost mysql]# ll

5,安装mysql时会用到一些依赖包;安装依赖包(包之间有依赖,一起安装)

[root@localhost mysql]# rpm -ivh mysql-community-server-8.0.32-1.el9.x86_64.rpm  mysql-community-client-8.0.32-1.el9.x86_64.rpm mysql-community-common-8.0.32-1.el9.x86_64.rpm mysql-community-icu-data-files-8.0.32-1.el9.x86_64.rpm mysql-community-client-plugins-8.0.32-1.el9.x86_64.rpm  mysql-community-libs-8.0.32-1.el9.x86_64.rpm

6,启动mysqld服务

[root@localhost mysql]# systemctl start mysqld

7,查看服务状态

[root@localhost mysql]# systemctl status mysqld

8,查看数据库root的临时密码

[root@localhost yum.repos.d]# grep 'temporary password' /var/log/mysqld.log

9,使用临时密码登录数据库

[root@localhost mysql]# mysql -uroot -p'Lf+lN:jqO3;w'

10,设置新密码

要求密码至少包含一个大写字母、一个小写字母、一位数字和一个特殊字符,并且密码总长度至少为8个字符。

密码和-p不能有空格隔开,用单引号引起来

mysql> alter user root@localhost identified by 'Admin123!';

11,退出数据库

mysql> exit

12,使用新密码登录

[root@localhost mysql]# mysql -uroot -p'Admin123!';

13,查看数据库

mysql> show databases;

卸载软件

1,卸载包,卸载时不需要加包名

[root@localhost mysql]# rpm -evh mysql-community-client-plugins mysql-community-common mysql-community-libs mysql-community-client mysql-community-icu-data-files mysql-community-server

2,清除日志文件

[root@localhost yum.repos.d]# rm -rf /var/lib/mysql /var/log/mysqld.log

三,容器安装

1,如果之前安装过容器相关的包;卸载已有的包

[root@localhost mysql]# rm -rf /var/lib/mysql /var/log/mysqld.log

[root@localhost mysql]# yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

2,装容器所需要的依赖包

[root@localhost mysql]# dnf install -y yum-utils device-mapper-persistent-data lvm2

3,需要写容器的仓库;添加阿里云的仓库

​
[root@localhost mysql]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

​

4,查看目录/etc/yum.repos.d;会发现多了一个docker-ce.repo

[root@localhost mysql]# cd /etc/yum.repos.d

[root@localhost yum.repos.d]#

[root@localhost yum.repos.d]# ll

5,查看已经安装的仓库id和仓库名称,会发现多了1个仓库

[root@localhost yum.repos.d]# yum repolist

6,修改下载docker的网站,改为阿里云的(国内的比较快)

[root@localhost yum.repos.d]# sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

7,安装docker--ce时需要替换冲突软件包

[root@localhost yum.repos.d]# dnf install docker-ce --allowerasing -y

8,启动docker服务

[root@localhost yum.repos.d]# systemctl start docker

9,查看docker服务状态

[root@localhost yum.repos.d]# systemctl status docker

10,测试能否正常使用

[root@localhost yum.repos.d]# docker run --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 -d mysql

[root@localhost yum.repos.d]# docker ps

11,进到容器里面操作数据库

[root@localhost yum.repos.d]#  docker exec -it mysqltest /bin/bash

bash-4.4# mysql -uroot -p123456 

12,查看数据库

mysql> show databases;

四,源码安装 

1,下载源码包

​
[root@localhost yum.repos.d]# wget  https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.32.tar.gz

--2023-02-10 09:14:15--  https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.32.tar.gz

Resolving cdn.mysql.com (cdn.mysql.com)... 23.36.48.238

Connecting to cdn.mysql.com (cdn.mysql.com)|23.36.48.238|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 436207624 (416M) [application/x-tar-gz]

Saving to: ‘mysql-boost-8.0.32.tar.gz.1’

mysql-boost-8.0.32.tar.gz.1    100%[===================================================>] 416.00M  5.33MB/s    in 74s    

2023-02-10 09:15:30 (5.63 MB/s) - ‘mysql-boost-8.0.32.tar.gz.1’ saved [436207624/436207624]

​

2,添加用户和组:

[root@localhost yum.repos.d]# groupadd mysql

groupadd: group 'mysql' already exists

[root@localhost yum.repos.d]#  useradd -r -g mysql -s /bin/false mysql

useradd: user 'mysql' already exists

[root@localhost yum.repos.d]#

3,解压包:

[root@localhost mysql-source]# tar xvf mysql-boost-8.0.32.tar.gz.1

4,解压完成后会生成一堆文件在mysql-8.0.32目录下:

[root@localhost mysql-source]# ll

total 425992

drwxr-xr-x. 32 7161 31415      4096 Dec 16 23:59 mysql-8.0.32

-rw-r--r--.  1 root root  436207624 Dec 16 23:01 mysql-boost-8.0.32.tar.gz.1

5,切换到目录mysql-8.0.32下,可以查看到源码包里面所有的东西

[root@localhost mysql-source]# cd mysql-8.0.32/

[root@localhost mysql-8.0.32]# ls

boost           configure.cmake    include              libservices    packaging          share          testclients

client          Docs               INSTALL              LICENSE        plugin             sql            unittest

cmake           Doxyfile-ignored   libbinlogevents      man            README             sql-common     utilities

CMakeLists.txt  Doxyfile.in        libbinlogstandalone  mysql-test     router             storage        vio

components      doxygen_resources  libchangestreams     MYSQL_VERSION  run_doxygen.cmake  strings

config.h.cmake  extra              libmysql             mysys          scripts            support-files

6,安装编译器

[root@localhost mysql-8.0.32]# yum install gcc gcc-c++ cmake -y

Updating Subscription Management repositories.

Unable to read consumer identity



This system is not registered with an entitlement server. You can use subscription-manager to register.



MySQL Tools Community                                                                      1.3 kB/s | 2.6 kB     00:01   

baseos                                                                                     2.7 MB/s | 2.7 kB     00:00   

AppStream                                                                                  3.1 MB/s | 3.2 kB     00:00   

Dependencies resolved.

7,安装编译过程中可能需要的一些库:

[root@localhost mysql-8.0.32]# yum install   cmake gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils openssl-devel ncurses-devel libtirpc rpcgen git  -y

Updating Subscription Management repositories.

Unable to read consumer identity



This system is not registered with an entitlement server. You can use subscription-manager to register.

8,安装包:

​
[root@localhost mysql-8.0.32]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/CRB/x86_64/os/Packages/libtirpc-devel-1.3.3-0.el9.x86_64.rpm

Retrieving https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/CRB/x86_64/os/Packages/libtirpc-devel-1.3.3-0.el9.x86_64.rpm

warning: /var/tmp/rpm-tmp.xz3G2s: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY

Verifying...                          ################################# [100%]

Preparing...                          ################################# [100%]

Updating / installing...

   1:libtirpc-devel-1.3.3-0.el9       ################################# [100%]

​

9,创建一个编译的目录:

[root@localhost mysql-8.0.32]# mkdir bld

[root@localhost mysql-8.0.32]# cd bld

10,编译(注意路径):

[root@localhost bld]# cmake .. -DWITH_BOOST=../boost/boost_1_77_0/

-- Running cmake version 3.20.2

-- Found Git: /usr/bin/git (found version "2.31.1")

11,编译

[root@localhost bld]# make

12,安装:把编译的文件拷贝到对应的系统下的目录

[root@localhost bld]# make install

13,切换到目录/usr/local/mysql下

[root@localhost bld]# cd /usr/local/mysql

14,创建目录 mysql-files 用来存储mysql的一些数据

[root@localhost mysql]# mkdir mysql-files

15,修改此目录的所属者与所属组以及此目录的权限,防止mysql读不到,

[root@localhost mysql]# chown mysql:mysql mysql-files

[root@localhost mysql]# chmod 750 mysql-files

16,初始化数据库

[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql

17,开启lsl的加密

[root@localhost mysql]# ./bin/mysql_ssl_rsa_setup

18,获取临时密码

[root@localhost mysql]#  grep 'temporary password' /var/log/mysqld.log

2023-02-07T13:07:17.842453Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: *2D):irrJ_!_

19,使用新密码登录

[root@localhost mysql]# mysql -uroot -p'Admin123!';

20,查看数据库

mysql> show databases;

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

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

相关文章

每日学术速递2.10

Subjects: cs.Cv 1.Spatiotemporal Deformation Perception for Fisheye Video Rectification 标题:鱼眼视频矫正的时空形变感知 作者:Shangrong Yang, Chunyu Lin, Kang Liao, Yao Zhao 文章链接:https://arxiv.org/abs/2302.03934v1 项…

【手写 Vuex 源码】第四篇 - Vuex 中 Getters 的实现

一,前言 上篇,主要介绍了 Vuex 中 State 状态的实现,主要涉及以下几个点: 创建 Store 类中的 State 状态;借助 Vue 实现 State 状态的响应式; 本篇,继续介绍 Vuex 中 getters 的实现&#xf…

VHDL语言基础-时序逻辑电路-寄存器

目录 寄存器的设计: 多位寄存器: 多位寄存器的VHDL描述: 移位寄存器: 串进并出的移位寄存器的VHDL描述: 寄存器的设计: 多位寄存器: 一个D触发器就是一位寄存器,如果需要多位寄存器&…

飞凌嵌入式RK3568J核心板助力工业机器人产业迈向高质量发展新阶段

工业机器人是能够代替人工完成高强度重复工作的多自由度机器装置,不仅可以确保产品质量,还可以大幅提高生产效率。据工信部数据显示,“十三五”期间我国工业机器人产量从7.2万套增长到了21.2万套,年均增长31%,预计2023…

切换分支报错:Untracked Files Prevent Checkout

切换分支报错:Untracked Files Prevent Checkoutgit分支切换 Untracked Files Prevent Checkout本人解决办法:git分支切换 Untracked Files Prevent Checkout 新起的项目在切换master分支到工作分支时,出现下图的问题: Untracked…

【机器学习】过拟合与正则化

上一章——逻辑回归 文章目录三种拟合状态解决过拟合的三种方法什么是正则化正则化的数学原理线性回归恭喜三种拟合状态 在之前的课程中,我们说过机器学习的中极为重要的一步,就是给训练集找到一条合适的拟合曲线。 还是以房价问题这个回归问题为例&…

【微服务】微服务架构超强讲解,通俗易懂

微服务架构目录一、微服务架构介绍二、出现和发展三、传统开发模式和微服务的区别四、微服务的具体特征五、面向服务的架构SOA(service oriented architecture)和微服务的区别1、SOA喜欢重用,微服务喜欢重写2、SOA喜欢水平服务,微…

Linux教程:MQTT入门基础概念与学习介绍及服务部署搭建并使用桌面工具进行测试开发

前言: ----在2023年的今天,智能家居与智能家电的兴起犹如滚滚长江迅速袭来,智能终端设备也不断出现在人们的视野当中,实现远程控制,其中必然不能缺少终端与终端,终端与服务之间的交互,如何来解…

ag-Grid Enterprise

ag-Grid Enterprise Ag-Grid被描述为一种商业产品,已在EULA下分发,它非常先进,性能就像Row分组一样,还有范围选择、master和case、行的服务器端模型等等。 ag Grid Enterprise的巨大特点: 它具有以下功能和属性&#x…

Docker调用Intel集显实现FFmpeg硬解码

文章目录Docker调用Intel集显实现FFmpeg硬解码参考FFmpeg 集成qsv方式一 容器完成所有步骤方式二 容器完成部分步骤方式三 dockerfile部署Docker调用Intel集显实现FFmpeg硬解码 参考 ffmpeg_qsv_docker拉取该镜像可以实现FFmpeg集成vaapi的硬加速,通过dockerfile文…

什么是特权访问管理(PAM)

特权访问管理 (PAM) 是指一组 IT 安全管理原则,可帮助企业隔离和管理特权访问、管理特权帐户和凭据、控制谁可以获得对哪些端点的管理访问权限级别,并监视用户对该访问权限执行的操作。 什么是特权访问 特权访问是一种 IT 系统访…

2023.2.10学习记录Docker容器

Docker 必须跑在Linux内核上 镜像是一个轻量级可执行的独立软件包 新建一个docker容器只需要几秒钟 Docker常用命令 启动类命令 镜像命令 容器命令 docker images docker search --limit 5 redis docker pull redis:6.0.8 docker system df 查看镜像/容器/…

使用QT中的绘画工具与定时器工具实现简易时钟

需求&#xff1a;使用QT中的绘画工具与定时器工具实现简易时钟代码实现过程&#xff1a;widget.h#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QPainter> //引入画家类 #include<QPaintEvent> //引入绘制事件类 #include&l…

vue-router 源码解析(三)-实现路由守卫

文章目录基本使用导语初始化路由守卫useCallbacks 发布订阅模式管理路由守卫push 开始导航resolve返回路由记录匹配结果navigate 开始守卫抽取路由记录guardToPromiseFn 用Promise包装守卫方法extractComponentsGuards 从组件中抽取守卫beforeRouteLeave 守卫收集composition 守…

error: failed to push some refs to ... 就这篇,一定帮你解决

目录 一、问题产生原因 二、解决办法 三、如果还是出问题&#xff0c;怎么办&#xff1f;&#xff08;必杀&#xff09; 一、问题产生原因 当你直接在github上在线修改了代码&#xff0c;或者是直接向某个库中添加文件&#xff0c;但是没有对本地库同步&#xff0c;接着你想…

【数据结构初阶】第三节.顺序表详讲

文章目录 前言 一、顺序表的概念 二、顺序表功能接口概览 三、顺序表基本功能的实现 四、四大功能 1、增加数据 1.1 头插法&#xff1a; 1.2 尾插法 1.3 指定下标插入 2、删除数据 2.1 头删 2.2 尾删 2.3 指定下标删除 2.4 删除首次出现的指定元素 3、查找数据…

JAVA-线程池技术

目录 概念 什么是线程&#xff1f; 什么是线程池&#xff1f; 线程池出现背景 线程池原理图 JAVA提供线程池 线程池参数 如果本篇博客对您有一定的帮助&#xff0c;大家记得留言点赞收藏哦。 概念 什么是线程&#xff1f; 是操作系统能够进行运算调度的最小单位。&am…

ChatGPT的解释

概念 ChatGPT&#xff0c;美国OpenAI研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然 语言处理工具&#xff0c;它能够通过学习和理解人类的语言来进行对话&#xff0c;还能根据聊天的上下文进行互动&#xff0c;真正像人 类一样来聊天交流&am…

干货 | PCB拼板,那几条很讲究的规则!

拼板指的是将一张张小的PCB板让厂家直接给拼做成一整块。一、为什么要拼板呢&#xff0c;也就是说拼板的好处是什么&#xff1f;1.为了满足生产的需求。有些PCB板太小&#xff0c;不满足做夹具的要求&#xff0c;所以需要拼在一起进行生产。2.提高SMT贴片的焊接效率。只需要过一…

如何使用python画一个爱心

1 问题 如何使用python画一个爱心。 2 方法 桌面新建一个文本文档&#xff0c;文件后缀改为.py&#xff0c;输入相关代码ctrls保存&#xff0c;关闭&#xff0c;最后双击运行。 代码清单 1 from turtle import * def curvemove(): for i in range(200): right(1) …