linux使用tar包方式安装mysql5.7详解小白教程

简介: linux使用tar包方式安装mysql5.7详解小白教程

写在前面:目前网络上大多数的安装教程采用的是rpm的方式,此种方式是需要虚拟机联网完成的,我介绍的是使用tar包的方式安装mysql5.7的方法。

:heavy_exclamation_mark:首先要注意的一点是,在输入命令的时候你一定要注意你是在哪个文件夹下输入的命令,因为不同的文件夹下有些命令可能执行是完全错误的。

:bangbang:还需要注意的一点,我的mysql文件叫做mysql57,我的mysql57是安装在/usr/local/文件夹下的,你当然可以按照自己的喜好去选择位置,选择名字,但是最好可以和我统一一下,可以避免很多不必要的麻烦。

准备工作

要安装,必不可少的肯定是安装包了,你可以去mysql官网下载tar包,

下载完成后还有一步,就是你如果是本地下载的话是需要上传到linux虚拟机的,有些虚拟机是可以直接通过拖拽的方式将文件传输进去。但有些是不可以的。我是安装了lrzsz工具完成的上传。

最好上传到 /usr/local/ 这里面,因为我的程序就是在这个目录下安装,不统一的话可能又会导致很多问题。

:smile: 完事具备,我们就开始安装之路吧。

开始安装

1. 卸载系统自带的Mariadb

[root@ ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64  #显示这个就意味着有mariadb你是需要卸载的。
[root@ ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

2.卸载etc目录下的my.cnf文件

这个文件就是mysql的配置文件,就好比Windows下的my.ini文件。

[root@ ~]# rm /etc/my.cnf   
rm: cannot remove ?etc/my.cnf? No such file or directory  #这个提示就是没有此文件,我们就可以进行接下来的操作了

3.检查mysql是否存在

[root@ ~]# rpm -qa | grep mysql   #没有内容就代表着没有安装

如果你已经安装了mysql,那就需要卸载后再考虑安装。

4. 检查mysql组和用户是否存在,如无创建

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

如果两条命令输入后没有反馈就代表不存在,就需要新建

5.创建mysql用户组

[root@ ~]# groupadd mysql

6.创建mysql用户,并加入mysql用户组

[root@ ~]# useradd -g mysql mysql

7.设置mysql用户的密码

要注意这里设置的是mysql这个用户的密码,和一会数据库的密码不是一回事。

[root@ ~]# passwd mysql

8.解压安装

:warning:这里开始就算比较重要且容易出错误的地方了。

上面不是把 mysql-5.7.46-2.7-x86_64.tar.gz 这个压缩包放到 了/usr/local/的里面了,(注意是在local里面,不是local同一级)

我们就在local文件夹下这里进行解压安装。

root@ local]# tar -zxvf mysql-5.7.46-2.7-x86_64.tar.gz   #这一步就是解压安装文件
[root@ local]# mv mysql-install/ mysql57  # 这步是把解压后的文件进行一个改名的操作

#更改所属的组和用户
[root@ local]# chown -R mysql mysql57/
[root@ local]# chgrp -R mysql mysql57/
[root@ local]# cd mysql57/

[root@ mysql57]# mkdir data  #创建一个data文件夹存放数据

[root@ mysql57]# chown -R mysql:mysql data

9.在etc下新建配置文件my.cnf

我们在第二步的时候不是删除了配置文件,此时这里我们需要重新配置一个。

touch my.cnf

先新建my.cnf这个文件,然后vi进去修改内容,具体内容如下:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql57
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql57/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
#配置免密登录
skip-grant-tables

[mysqld_safe]
# 配置日志文件和进程文件
error-log=/usr/local/error.log
pid-file=/usr/local/mysql.pid

这个配置文件,很多都是与mysql的安装路径有关的,所以你如果和我的不统一,就需要做相应的修改。

10.安装与初始化

:heavy_exclamation_mark:要注意这些命令是在mysql57这个目录下执行的,这点尤为重要

[root@ mysql57]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/mysql57/data/
[root@ mysql57]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@ mysql57]# chown 777 /etc/my.cnf 
[root@ mysql57]# chmod +x /etc/init.d/mysqld

11.重启

[root@ mysql57]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

12.设置开机启动

[root@ mysql57]# chkconfig --level 35 mysqld on
[root@ mysql57]# chkconfig --list mysqld
[root@ mysql57]# chmod +x /etc/rc.d/init.d/mysqld
[root@ mysql57]# chkconfig --add mysqld
[root@ mysql57]# chkconfig --list mysqld
[root@ mysql57]# service mysqld status
SUCCESS! MySQL running (4475)

13.设置环境变量

在/etc/profile这个文件中,要加一句话

export PATH=$PATH:/var/mysql57/bin
[root@ mysql57]# source /etc/profile   #重启

14.获得初始密码

这个密码就是数据库的密码,其实我们在my.cnf里是设置了一个免密登录的,所以这个显得并不是特别必要要知道的。

[root@ ~]# cat /root/.mysql_secret 
# Password set for user 'root@localhost' at 2022-08-19 16:47:12 
7qa2CT1sYO_1

15. 修改密码

这里我当时一直会报一个mysql命令找不到的错误,后来发现是没有在/usr/local/mysql57/bin下面执行mysql命令,所以导致这一问题解决不了。(后面配置软链接就可以在任何目录下都可以执行mysql命令了)

[root@hdp265dnsnfs bin]# mysql -uroot -p
mysql> set PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

16. 添加远程访问权限

这接下来的操作就是为了本地Navicat能够远程连接Linux虚拟机上的准备。

在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

xn_2022-08-22_15-32-32

这命令我们可以看出来,root这个用户,是允许任何用户(%)登录的。

17.重启生效

/bin/systemctl restart  mysql.service

[root@ bin]# /etc/init.d/mysqld restart 
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

18.可以在任何目录下登录mysql

ln -s /usr/local/mysql57/bin/mysql   /usr/bin/mysql

19. 开放外部访问数据库

  1. 开放防火墙端口
firewall -cmd --list-all
  1. 开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
  1. 查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
  1. 次查看现在防火墙
firewall-cmd --list-all

20. Navicat连接

xn_2022-08-22_17-01-38

xn_2022-08-22_17-02-37

:heavy_check_mark:到这里mysql的安装过程就结束了。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
2646 4
MySQL源码编译安装
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
2047 4
MySQL二进制包安装
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
1093 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
1115 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1084 6
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2827 16
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
3051 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
Oracle 关系型数据库 MySQL
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
本文详细介绍在Rocky、CentOS、AlmaLinux、openEuler等主流Linux系统上,通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,涵盖下载、依赖处理、rpm/yum安装、服务启动、密码设置等关键环节,适用于多种企业级环境部署需求。
3622 0
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
|
存储 关系型数据库 MySQL
MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
MySQL是一款开源关系型数据库,高性能、易用、跨平台,支持多种存储引擎,广泛应用于Web开发、企业级应用等领域。本教程介绍其特点、架构及在主流Linux系统中的安装配置方法。
1614 0
MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)