在Linux下MySQL(8.0.26)的安装部署

文章目录

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之以,下面来介绍一下怎么安装MySQL

在进行MySQL的安装之前我们先要对自己的主机进行一些配置

ip a      #先查看当前主机是否有IP
#如果没有IP就需要获取一个IP
dhclient   #自动获取IP

在这里插入图片描述
因为一会的安装过程中有在线安装,所以需要主机能够上网
在这里插入图片描述
可以看出我们的主机是可以上网的

配置完成之后,我们来进行安装

第一种安装方式:仓库安装

1)下载MySQL的仓库 可以在MySQL的官方网站去下载,我们安装的是MySQL8.0.21版本
https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

也可以使用国内的镜像网站

 https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el8-x86_64/

下面进行安装

rpm -i https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

查看有两个mysql的仓库说明rpm仓库装好了
在这里插入图片描述
2)然后在进行MySQL的安装

dnf install mysql-server

在这里插入图片描述
3)启动服务

systemctl start mysqld   #启动服务
grep password /var/log/mysql/mysqld.log  #过滤密码,有无初始密码
mysql_secure_installation     #初始化工具,5.7之前的MySQL用来设置初始密码

在这里插入图片描述
4)登录测试

mysql -u root -p  #由刚刚上图可知,没有初始密码

在这里插入图片描述

show databases;   #查看当前数据库,测试是否能够运行

在这里插入图片描述

第二种:离线安装

我们一般在服务器没有网或者网络状态不佳的时候,会进行离线安装。 因为博主是在同一个虚拟机上做的实验,所以需要卸载刚刚的安装
yum -y remove mysql-server  #卸载MySQL
find  / -name "mysql"    #查找卸载残留,并删除

在这里插入图片描述
1)下面开始离线安装
离线安装需要相应的压缩包,相应的压缩包我们去MySQL的官网下载
:https://dev.mysql.com/downloads/mysql/
如果不想去官网下载,这也可以下载
在这里插入图片描述
选择符合我们操作系统的版本
在这里插入图片描述
在这里我们选择第一个,第一个包含了所有的配置,其他的包只包含了其中的部分配置
在这里插入图片描述
点击直接下载
2)下载完成之后,把这个源码包,传到我们的主机
在这里插入图片描述
查看我们刚刚传入主机的压缩包
在这里插入图片描述
3)创建一个目录来存放mysql

mkdir /usr/local/mysql
tar -xf /root/mysql-8.0.26-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql/

在这里插入图片描述
4)本地安装mysql
MySQL的安装有依赖关系,我已经整理出来了,避免大家踩坑
mysql-community-server-8.0.26-1.el8.x86_64.rpm
mysql-community-client-8.0.26-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.26-1.el8.x86_64.rpm
mysql-community-libs-8.0.26-1.el8.x86_64.rpm
mysql-community-common-8.0.26-1.el8.x86_64.rpm

dnf localinstall mysql-community-server-8.0.26-1.el8.x86_64.rpm

在这里插入图片描述

如果大家感觉这么安装比较麻烦,也可以直接安装全部包

dnf install *.rpm

启动服务进行测试

5)启动服务

验证
		
		#启动服务
		systemctl start mysqld
		
		#服务检查
		systemctl status mysqld
		systemctl is-active mysqld
		systemctl is-enable mysqld
		
		#端口检查
		netstat -lntup | grep 3306
		lsof -i tcp:3306
		
		#进程检查
		ps -ef | grep mysql
		
		#随机密码查找
		grep password /var/log/mysqld.log

在这里插入图片描述
6)登录测试

mysql -u root -p  #这里的登录需要密码,密码就是刚刚过滤出来的

在这里插入图片描述
这里报错的原因是:要修改密码之后才能操作

alter user root@localhost identified by '#REDhat123';  #密码复杂规则:要有大小写字母数字和特殊符号

在这里插入图片描述
成功修改密码之后就可以正常使用了

第三种:容器安装

清理刚才安装环境
for i in `rpm -qa | grep mysql`;do dnf remove $i -y;done
find  / -name "mysql"    #查找卸载残留,并删除
rm -rf /var/lib/mysql/
rm -rf /usr/lib64/mysql/
rm -rf /var/log/mysqld.log

1)先安装容器需要的环境

dnf install -y yum-utils device-mapper-persistent-data lvm2

2)下载官方的docker仓库

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

3)安装docker并开启服务

yum install docker-ce -y
systemctl start docker

4)搜索镜像

docker search mysql

在这里插入图片描述

5)拉取镜像

docker pull mysql
docker images      #查看拉取镜像的信息

在这里插入图片描述
在这里插入图片描述

6)运行镜像

docker run --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 -d mysql

扩展:指定配置文件(不用输入)

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#some-mysql是要分配给容器的名称,my-secret-pw是为MySQL root用户设置的密码,tag是指定所需MySQL版本的标记。

指定存储(不用输入)

docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#如果用户希望使用自定义MySQL配置,则可以创建一个目录,内置cnf配置文件,然后将其挂载至容器的/ etc/mysql/conf.d目录。比如,自定义配置文件为/ my/custom/config-file.cnf,则可以使用以下指令:
	三种运行方式选择一种即可

7)查看容器

docker ps

在这里插入图片描述

8)附加到容器(打开容器中的mysql)

docker exec -it mysqltest /bin/bash   
#这里的登录密码是刚刚初始化的密码,密码为123456

在这里插入图片描述
9)清除环境

docker stop mysqltest
docker container prune
docker ps -a   #可以查看所有容器(运行中和为运行的)

在这里插入图片描述

第四种:源码安装

下载方式,和离线下载一样,去MySQL的官方网站就能下载 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.26.tar.gz

如果不想去官方,下载点击这里

1)把源码包传入主机
在这里插入图片描述
如果主机网速快也可以使用主机直接下载

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.26.tar.gz

在这里插入图片描述

2)解压源码包

tar xf mysql-boost-8.0.26.tar.gz -C /usr/local/src/

3)安装编译环境工具

dnf install openssl-devel cmake make gcc gcc-c++ ncurses

4)添加组和用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

5)编译配置

cd /usr/local/src/mysql-8.0.26/
mkdir bld
cd bld/
cmake ..

如果编译配置失败清理环境,重新编译
make clean
rm CMakeCache.txt

在这里插入图片描述
出现这个错误,是因为找不到gcc-toolset-10,进行安装yum -y install gcc-toolset-10,安装完之后继续cmake ..
在这里插入图片描述
出现了新的问题,不要急,我们接着看,这次是因为找不到boost1_73 ,解决方法,给boost的路径,这个boost的路径就在上一级

cmake .. -DWITH_BOOST=../boost/boost_1_73_0/

在这里插入图片描述
缺少相应的软件包,我们继续安装他缺少的软件包,这里缺的软件包为ncurses-devel
解决方法

yum -y install ncurses-devel

在这里插入图片描述

话不多说,接着装

yum install libtirpc-devel

在这里插入图片描述
这个软件包在我们的镜像中并不存在,所以需要我们自己安装,下载请点击rpcgen-1.3.1-4.el8.x86_64.rpm
在这里插入图片描述
在这里插入图片描述

rpm -i rpcgen-1.3.1-4.el8.x86_64.rpm 

在这里插入图片描述
继续编译配置
在这里插入图片描述
编译
make

6)安装

make install

请添加图片描述

7)


		编译完成之后需要做的
		cd /usr/local/mysql/
		mkdir mysql-files
		chown mysql:mysql mysql-files/
		chmod 750 mysql-files/
		bin/mysqld --initialize --user=mysql
		
		执行完成之后一定要记得上面输出的临时密码
		 [Server] A temporary password is generated for root@localhost: 8selIRYu7%tV
		 
		bin/mysql_ssl_rsa_setup 
		bin/mysqld_safe --user=mysql &
		
		cp support-files/mysql.server /etc/init.d/mysql.server
		
		需要开机启动:
		vim /etc/rc.d/rc.local
		service mysql start
		
		需要环境变量
		vim /root/.bash_profile
		PATH=$PATH:/usr/local/mysql/bin
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值