MySQL在Linux上的四种安装方式

这篇具有很好参考价值的文章主要介绍了MySQL在Linux上的四种安装方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、仓库安装

二、本地安装

三、容器安装

四、源码安装


前言

博主的配置信息:

Windows版本:Win10

VMware虚拟机版本:Vmware Workstation Pro 17

Linux版本:Red Hat Enterprise Linux 9.1

MySQL版本:MySQL Community Server 8.0.32

保证Linux的正常联网以及配置yum仓库。

可以在MySQL官网地址:https://www.mysql.com/ 上获取到正规的MySQL。

MySQL 常见版本:

  • MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
  • MySQL Enterprise Edition 企业版本,需付费,可以试用 30 天。
  • MySQL Cluster 集群版,开源免费。可将几个 MySQL Server 封装成一个 Server。
  • MySQL Cluster CGE 高级集群版,需付费

MySQL数据库存在多种版本,不同的版本在不同的平台上(OS,也就是操作系统上)安装方式可能有所不同,因此安装时最好参照官方文档进行安装。https://dev.mysql.com/doc/

下面记录了博主在Linux上通过仓库安装、本地安装、容器安装、源码安装四种不同的方式安装MySQL的过程:

一、仓库安装

仓库安装就是在官方仓库或本地仓库、网络仓库中,用yum方式安装。推荐使用官方仓库。博主认为仓库安装相比其他安装方式来说是最方便的。

获取MySQL仓库的网站:https://repo.mysql.com/

[root@forDB ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.1 (Plow)

[root@forDB ~]# rpm -ivh  https://repo.mysql.com/mysql80-community-release-el9-1.noarch.rpm
[root@forDB ~]# ll /etc/yum.repos.d/
total 20
-rw-r--r--. 1 root root 218 Feb  7 20:40 aliyum-9.repo
-rw-r--r--. 1 root root 951 Jul  6  2022 mysql-community-debuginfo.repo
-rw-r--r--. 1 root root 827 Jul  6  2022 mysql-community.repo
-rw-r--r--. 1 root root 871 Jul  6  2022 mysql-community-source.repo
-rw-r--r--. 1 root root 358 Feb  7 20:41 redhat.repo

[root@forDB ~]# yum install mysql-server -y
[root@forDB ~]# rpm -qa | grep mysql
mysql80-community-release-el9-1.noarch
mysql-community-common-8.0.32-1.el9.x86_64
mysql-community-client-plugins-8.0.32-1.el9.x86_64
mysql-community-libs-8.0.32-1.el9.x86_64
mysql-community-client-8.0.32-1.el9.x86_64
mysql-community-icu-data-files-8.0.32-1.el9.x86_64
mysql-community-server-8.0.32-1.el9.x86_64

[root@forDB ~]# systemctl start mysqld
[root@forDB ~]# systemctl status mysqld

# MySQL8.0.32版本第一次登录需要临时密码,在mysqld.log文件中
[root@forDB ~]# grep password /var/log/mysqld.log 
2023-02-09T12:46:59.105801Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ;/pZjo)lV8>B

[root@forDB ~]# mysql -uroot -p';/pZjo)lV8>B'
# 登录之后必须先修改用户密码,不然无法正常使用mysql。默认密码策略要求密码至少包含一个大写字母、一个小写字母、一位数字和一个特殊字符,并且密码总长度至少为8个字符。
mysql> ALTER USER root@localhost IDENTIFIED BY 'Admin123!';
# 此时就可以正常使用mysql了
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

卸载MySQL:

[root@forDB ~]# yum remove mysql-server -y
[root@forDB ~]# rpm -qa | grep mysql
mysql80-community-release-el9-1.noarch
[root@forDB ~]# yum remove mysql80-community-release.noarch -y
# 删除相关文件,以防再次安装产生冲突
[root@forDB ~]# rm -rf /var/log/mysqld.log /var/lib/mysql/

二、本地安装

本地安装就是下载MySQL的捆绑包到本地,然后解包安装。

捆绑包地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar

或在 https://dev.mysql.com/downloads/mysql/ 中获取对应操作系统的捆绑包(这不能在Linux中下载,只能先下载到Windows上再传到Linux上)

[root@forDB ~]# mkdir mysql
[root@forDB ~]# cd mysql/
[root@forDB mysql]# wget  https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar
[root@forDB mysql]# tar xvf mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar 

[root@forDB 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

[root@forDB mysql]# systemctl start mysqld.service 
[root@forDB mysql]# systemctl status mysqld.service 

[root@forDB mysql]# grep password /var/log/mysqld.log 
2023-02-09T13:52:16.691395Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: d+41ucpK_)IN

[root@forDB mysql]# mysql -uroot -p
Enter password: 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin123!';
mysql> show databases;
mysql> exit

卸载MySQL:

[root@forDB mysql]# rpm -qa | grep mysql
mysql-community-client-plugins-8.0.32-1.el9.x86_64
mysql-community-common-8.0.32-1.el9.x86_64
mysql-community-libs-8.0.32-1.el9.x86_64
mysql-community-client-8.0.32-1.el9.x86_64
mysql-community-icu-data-files-8.0.32-1.el9.x86_64
mysql-community-server-8.0.32-1.el9.x86_64

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

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

本地安装的缺点就是安装时的依赖很烦人,卸载时也比较麻烦。我的评价是不如仓库安装。

三、容器安装

容器安装方式首先要安装容器,再在容器上安装MySQL。

#删除之前的容器
[root@forDB ~]# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

#安装容器的依赖包
[root@forDB ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

#添加阿里云的容器仓库
[root@forDB ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#更改仓库文件中的下载网站为阿里云的网站,因为国内的网站会快一些
[root@forDB ~]# sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

#安装docker-ce,这里要用--allowerasing选项来替换rhel9中冲突的软件包
[root@forDB ~]# yum install docker-ce --allowerasing -y

[root@forDB ~]# systemctl start docker
[root@forDB ~]# systemctl status docker
[root@forDB ~]# docker version

#测试docker能否正常运行
[root@forDB ~]# docker run hello-world

#安装mysql
[root@forDB ~]# docker run --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 -d mysql

#查看容器信息
[root@forDB ~]# docker ps

#为mysqltest建立一个bash接口
[root@forDB ~]# docker exec -it mysqltest /bin/bash

#登录测试
bash-4.4# mysql -uroot -p  
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit
Bye
bash-4.4# exit
exit
[root@forDB ~]# 

登录时也可以用主机直接连容器的MySQL:

#安装一个MySQL的客户端
[root@forDB ~]# yum install mysql -y

#查看容器的ip
[root@forDB ~]# docker inspect mysqltest
...
"IPAddress": "172.17.0.2",
...

#连接容器的MySQL
[root@forDB ~]# mysql -uroot -p123456 -h 172.17.0.2
mysql> 

四、源码安装

源码安装最为费时费力,但用源码安装的软件是最适合本机器的。

MySQL源码安装可以参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html

MySQL8.0.32源码压缩包地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.32.tar.gz

也可在官网手动下载压缩包,再传到Linux上:

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

linux安装mysql,数据库,linux,运维,服务器,数据库,mysql

[root@server ~]# wget  https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.32.tar.gz

#添加mysql系统用户和组
[root@server ~]# groupadd mysql
[root@server ~]# useradd -r -g mysql -s /bin/false mysql

#解压解包,生成了mysql-8.0.32的文件,这就是源码包的所有内容
[root@server ~]# tar xvf mysql-boost-8.0.32.tar.gz

#安装编译器
[root@server ~]# yum install gcc gcc-c++ cmake -y

#安装编译过程中需要的库
[root@server ~]# yum install gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binutils openssl-devel ncurses-devel libtirpc-1.3.3-0.el9.x86_64 rpcgen git -y
[root@server ~]# 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

#创建一个编译目录
[root@server ~]# cd mysql-8.0.32/
[root@server mysql-8.0.32]# mkdir bld
[root@server mysql-8.0.32]# cd bld

#准备编译
[root@server bld]# cmake .. -DWITH_BOOST=../boost/boost_1_77_0

#开始编译(建议将虚拟机内存调整为至少4G,以提高编译速度)
[root@server bld]# make    ########该过程很久,大概两三个小时,请耐心等待

#编译完成后,开始安装
[root@server bld]# make install

#安装好的文件在/usr/local/mysql中
[root@server bld]# cd /usr/local/mysql/

#创建一个存储数据文件的目录
[root@server mysql]# mkdir mysql-files
#修改所属者和所属组
[root@server mysql]# chown mysql:mysql mysql-files/
#修改权限
[root@server mysql]# chmod 750 mysql-files/

#初始化数据库(临时密码在最后的输出中:dU/sA5uleFrk)
[root@server mysql]# ./bin/mysqld --initialize --user=mysql
2023-02-10T14:59:13.708471Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: dU/sA5uleFrk

#开启数据库的ssl加密功能
[root@server mysql]# ./bin/mysql_ssl_rsa_setup 

#启动mysqld服务
[root@server mysql]# ./bin/mysqld_safe --user=mysql &    #mysqld_safe防止误杀mysql服务,&表示后台运行

#用初始化产生的临时密码登录mysql
[root@server mysql]# ./bin/mysql -uroot -pdU/sA5uleFrk
mysql> 

#更改密码
mysql> ALTER USER root@localhost IDENTIFIED BY 'Admin123!';
mysql> exit

大功告成!
#停止mysql服务
[root@server mysql]# ./bin/mysqladmin -uroot -pAdmin123! shutdown
#若想用systemctl命令快捷启动mysql,可以操作如下:

[root@server mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
(若没有init.d文件,可以yum install chkconfig -y,就有了)
[root@server mysql]# systemctl daemon-reload
[root@server mysql]# systemctl start mysql

[root@server mysql]# systemctl status mysql
[root@server mysql]# systemctl stop mysql

linux安装mysql,数据库,linux,运维,服务器,数据库,mysql

linux安装mysql,数据库,linux,运维,服务器,数据库,mysql

linux安装mysql,数据库,linux,运维,服务器,数据库,mysql

linux安装mysql,数据库,linux,运维,服务器,数据库,mysql

over~文章来源地址https://www.toymoban.com/news/detail-818563.html

到了这里,关于MySQL在Linux上的四种安装方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL】MySQL在Linux/UNIX和 Windows上的安装,验证安装和登录 MySQL的详细讲解

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 所有平台的 MySQL 下载地址为:MYSQL下载网址挑选你需要的 MySQL Community Server 版本及对应的平台。 注意: 安装过程

    2024年02月11日
    浏览(39)
  • Linux MySQL三种安装方式

    离线安装: 在mysql官网进行下载,步骤如下: 然后找到这个: 因为我这里使用的OS为CentOS7,大家可以按自己的系统进行选择。 最后通过XFTP/SCRTXF将文件传到虚拟机上。 然后将文件解压到你想要保存的目录。 然后开始安装: 这里报依赖错误,只需要根据指出的依赖将安装包

    2024年02月12日
    浏览(25)
  • MySQL批量更新的四种方法

    最近做一个需求,更新3w条数据,一个一个update去更新的,结果花了80分钟,这样性能上很差,也容易阻塞,所以就找了一些MySQL批量更新的方式,在此记录一下 这种更新会将其它字段更新为默认值,因为它是先将重复记录删掉再更新,谨慎使用 1 2 replace into ` user ` (id,age) va

    2024年02月16日
    浏览(50)
  • 【mysql】事务的四种特性的理解

    🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风翻盘 。 🛸 Mysql专栏 : Mysql内功修炼基地 家人们更新不易,你们的👍点赞👍和⭐关注⭐真的对我

    2024年02月12日
    浏览(46)
  • mysql数据库limit的四种用法

    mysql数据库中limit子句可以被用于强制select语句返回指定的记录数。limit接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目;若果给定一个参数,则表示回记录行的最大

    2024年02月08日
    浏览(52)
  • 关于MySQL的这四种安装方式你一定要知道

    目录 🦐写在前面 🍁rpm方式安装 🍀下载软件包 🍀前置配置 🍀安装MySQL 🍁yum方式安装 🍀下载软件包 🍀安装MySQL 🍁二进制方式安装 🍀下载软件包 🍀安装MySQL 🍁编译方式安装 🍀下载软件包 🍀安装编译工具 🍀安装MySQL 🍁总结四种安装方式     🦐博客主页:大虾好吃

    2024年02月08日
    浏览(38)
  • MySQL初级篇 | 修改MySQL密码的四种方法(适合初学者)

    ✅作者简介:大家好我是@每天都要敲代码,希望一起努力,一起进步! 📃个人主页:@每天都要敲代码的个人主页 作为初学者,对于MySQL密码的修改,目前我已知的有四种方法:前三种是在知道密码的情况下修改,因为需要我们先登录;最后一种适合忘记密码的情况下进行修

    2024年02月02日
    浏览(49)
  • IDEA连接MySQL数据库的四种方法

    首先右击此电脑点击管理,进入页面  再服务栏确保MySQL是正常运行状态 打开IDEA, 左边栏选择Maven Archetype,新建一个名为javaweb的新工程 进行如图编辑完成新建  在Main包下新建一个java包,右击java包进行下图操作,java包拥有新建class的权限 在java下面新建一个HelloConnection1的类,

    2024年02月12日
    浏览(54)
  • linux安装mysql-8.0.33正确方式及常见问题

    目录 获取mysql下载地址链接  解压安装包  复制文件到安装目录  添加用户和用户属组修改权限  创建存储数据的文件夹/usr/local/mysql 初始化安装 修改配置文件  创建日志文件并赋予对应权限  启动成功​编辑 创建软链接 之前安装过mysql,时间比较长忘记安装步骤了今天就记

    2024年02月12日
    浏览(47)
  • 【mysql】给一张表添加外键的四种方法

    添加外键约束名字一定不能重复 如何添加外键 方法一:直接在属性值后面添加 方法二: 方法三:添加约束 方法四:在表的定义外进行添加 1.创建表的时候直接在表字段后,跟primary key。(一张表有且只能有一个主键,主键具有唯一性。) 2.在创建表的时候在所有字段

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包