二进制安装MySQL8.0

二进制安装MySQL8.0

实验环境

  • 操纵系统:Centos7.6
  • IP地址:192.168.66.61
  • 内存:2G
  • CPU:4C
  • 提前关闭selinux和防火墙
  • 配置yum源
  • 网络能够通
#关闭SElinux
[root@localhost ~]# setenforce 0 				#临时关闭
[root@localhost ~]# vim /etc/selinux/config 	#永久关闭
修改内容
SELINUX=disabled
[root@localhost ~]# getenforce 				#获取状态
Disabled

#关闭防火墙
[root@localhost ~]# systemctl status firewalld.service	#查看firewall状态
[root@localhost ~]# systemctl stop firewalld.service 		#关闭
[root@localhost ~]# systemctl disable firewalld.service 	#设置开机不启动
[root@localhost ~]# iptables -F							#清空防火墙规则

文件准备

官方网址:https://dev.mysql.com/downloads/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

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

一、配置yum源

1.先备份Centos-Base.repo,然后从阿里云下载centos7-repo

备份本地yum源
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak
下载阿里云的yum源
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2023-03-12 17:24:42--  http://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 117.169.106.235, 117.169.106.236, 117.169.106.237, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|117.169.106.235|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”

100%[===============>] 2,523       --.-K/s 用时 0.007s  

2023-03-12 17:24:43 (361 KB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])

#可选择执行或不执行
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache

2.安装之前的环境检查

在Centos7的系统上默认是mariadb,如果要安装MySQL需要先把系统中存在的MySQL或者mariadb删除掉。

查看是否已经安装MySQL或mariadb,如果已经安装先删除
[root@localhost ~]# rpm -qa |grep mariadb
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
[root@localhost ~]# yum -y remove mariadb*
再次查看是否还有残留,如果有就删除
[root@localhost ~]# rpm -qa |grep mysql
qt-mysql-4.8.7-2.el7.x86_64
[root@localhost ~]# rpm -e qt-mysql-4.8.7-2.el7.x86_64
MySQL和mariadb都要查看
[root@localhost ~]# rpm -qa |grep maraidb
[root@localhost ~]# rpm -qa |grep mysql
最后查看老版本中MySQL相关的安装目录
[root@localhost ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql
/usr/lib64/perl5/vendor_perl/DBD/mysql
/usr/share/mysql
[root@localhost ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@localhost ~]# rm -rf /usr/lib64/mysql
[root@localhost ~]# rm -rf /usr/lib64/perl5/vendor_perl/auto/DBD/mysql
[root@localhost ~]# rm -rf /usr/lib64/perl5/vendor_perl/DBD/mysql
[root@localhost ~]# rm -rf /usr/share/mysql

3.下载MySQ8.0的包

#8.0.31版本
[root@localhost ~]# wget https://dev.mysql.com/get/downloads/MySQL8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
#8.0.32版本
[root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

4.解压缩并移动到/usr/local/mysql

#8.0.31版本
[root@localhost ~]# tar xf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
[root@localhost ~]# ls
anaconda-ks.cfg
mysql-8.0.31-linux-glibc2.12-x86_64
mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
[root@localhost ~]# mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql /usr/local/mysql

#8.0.32版本
[root@localhost ~]# tar xf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
[root@localhost ~]# ls
anaconda-ks.cfg
mysql-8.0.32-linux-glibc2.12-x86_64
mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
[root@localhost ~]# mv mysql-8.0.32-linux-glibc2.12-x86_64 /usr/local/mysql

5.创建mysql用户和组

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /sbin/nologin mysql

-r 建立系统账号
g 指定用户所属的群组
-s 指定用户登入后所使用的shell

6.创建数据目录,配置文件目录,日志目录,变更权限

[root@localhost ~]# mkdir -v /usr/local/mysql/data
[root@localhost ~]# mkdir -v /usr/local/mysql/etc
[root@localhost ~]# mkdir -v /usr/local/mysql/log
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/

7.配置环境变量

[root@localhost ~]# vim /etc/profile
文章末尾添加:
#mysql环境变量
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

[root@localhost ~]# source /etc/profile #重新生成

8.初始化数据库

为什么要初始化MySQL?

在MySQL中,初始化是指创建并配置数据目录、配置文件和系统表等操作。这是在第一次安装MySQL或升级MySQL版本时必须执行的步骤。

创建初始化可以达成几个目标:

  • 创建数据目录:MySQL使用数据目录来存储所有数据库、表、索引、日志等数据。初始化过程中,MySQL会自动创建这些目录,确保数据库能够正常工作。
  • 配置文件:MySQL的配置文件包含了各种设置,如端口号、字符集、缓冲池大小等等。初始化过程中,MySQL会生成默认的配置文件,并且在后续的运行中,会使用这个配置文件来启动和配置MySQL。
  • 系统表:MySQL中的系统表是存储MySQL系统信息的表。初始化过程中,MySQL会创建这些系统表,并把一些重要的信息插入到这些表中,这些信息包括用户信息、权限信息、配置信息等。

总之,初始化MySQL是确保数据库能够正常工作的关键步骤,也是保障数据库安全和可靠性的重要措施。

[root@localhost ~]# cd /usr/local/mysql/bin/
[root@localhost bin]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2023-03-15T15:53:00.850514Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.31) initializing of server in progress as process 23901
2023-03-15T15:53:00.865751Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-15T15:53:01.755282Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-15T15:53:03.400854Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: JmT;DFF)y8,h

初始化结束后,记住这个数据库的临时密码,后边会用到:JmT;DFF)y8,h

9.设置启动文件将mysql设置为服务

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

10.启动mysql服务

[root@localhost ~]# service  mysqld start
Starting MySQL SUCCESS! 
[root@localhost ~]# service  mysqld status
 SUCCESS! MySQL running (24427)
[root@localhost ~]# ps -ef | grep mysqld
[root@localhost ~]# netstat -antp |grep mysqld
[root@localhost ~]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  6954 mysql   20u  IPv6  37792      0t0  TCP *:mysql (LISTEN)

11.登录数据库,重置root密码

[root@localhost ~]# mysql -uroot -p
Enter password: JmT;DFF)y8,h
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
#重置临时密码
mysql> alter user 'root'@'localhost' identified by '123456';
要在Linux上进行二进制安装MySQL 8.0,您可以按照以下步骤进行操作: 1. 首先,您需要下载MySQL 8.0二进制压缩包。根据引用中提到的博客,您可以从优快云博客中下载名为"mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz"的压缩包。 2. 下载完成后,您需要解压缩这个压缩包。您可以使用以下命令来完成解压缩: ``` tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz ``` 3. 解压缩完成后,您需要将解压后的文件夹移动到适当的位置。你可以使用以下命令来移动文件夹: ``` mv mysql-8.0.13-linux-glibc2.12-x86_64 /usr/local/mysql ``` 4. 接下来,您需要创建一个新的MySQL用户和组。您可以使用以下命令创建用户和组: ``` groupadd mysql useradd -r -g mysql -s /bin/false mysql ``` 5. 然后,您需要设置MySQL文件夹权限。您可以使用以下命令来更改文件夹权限: ``` chown -R mysql:mysql /usr/local/mysql ``` 6. 现在,您需要在MySQL文件夹中初始化数据目录。您可以使用以下命令来完成初始化: ``` cd /usr/local/mysql bin/mysqld --initialize --user=mysql ``` 7. 初始化完成后,您可以启动MySQL服务器。您可以使用以下命令来启动MySQL: ``` bin/mysqld_safe --user=mysql & ``` 8. 最后,您可以使用以下命令来设置MySQL的root密码: ``` bin/mysql_secure_installation ``` 以上是在Linux二进制安装MySQL 8.0的基本步骤。请根据您的实际情况进行相应的调整和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值